mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-10 18:45:26 +02:00
Bug 530729 - Accept C++11 attribute specifier before parameter declaration
Change-Id: I425d1b351c10976392ecdf1e4b33f486938e0a04
This commit is contained in:
parent
afb3ad7511
commit
99e842bc6e
2 changed files with 10 additions and 0 deletions
|
@ -12552,6 +12552,12 @@ public class AST2CPPTests extends AST2CPPTestBase {
|
||||||
parseAndCheckBindings(getAboveComment(), CPP, true /* use GNU extensions */);
|
parseAndCheckBindings(getAboveComment(), CPP, true /* use GNU extensions */);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// void foo([[maybe_unused]] int a);
|
||||||
|
public void testCxx11AttributeBeforeParameterDeclaration_530729() throws Exception {
|
||||||
|
parseAndCheckBindings();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// struct CType {
|
// struct CType {
|
||||||
// char m_Array[4];
|
// char m_Array[4];
|
||||||
// };
|
// };
|
||||||
|
|
|
@ -3062,6 +3062,8 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
|
||||||
protected ICPPASTParameterDeclaration parameterDeclaration() throws BacktrackException, EndOfFileException {
|
protected ICPPASTParameterDeclaration parameterDeclaration() throws BacktrackException, EndOfFileException {
|
||||||
final int startOffset= LA(1).getOffset();
|
final int startOffset= LA(1).getOffset();
|
||||||
|
|
||||||
|
List<IASTAttributeSpecifier> attributes = attributeSpecifierSeq();
|
||||||
|
|
||||||
if (LT(1) == IToken.tLBRACKET && supportParameterInfoBlock) {
|
if (LT(1) == IToken.tLBRACKET && supportParameterInfoBlock) {
|
||||||
skipBrackets(IToken.tLBRACKET, IToken.tRBRACKET, 0);
|
skipBrackets(IToken.tLBRACKET, IToken.tRBRACKET, 0);
|
||||||
}
|
}
|
||||||
|
@ -3076,6 +3078,8 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
|
||||||
declSpec= lie.fDeclSpec;
|
declSpec= lie.fDeclSpec;
|
||||||
declarator= addInitializer(lie, DeclarationOptions.PARAMETER);
|
declarator= addInitializer(lie, DeclarationOptions.PARAMETER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addAttributeSpecifiers(attributes, (ICPPASTDeclSpecifier) declSpec);
|
||||||
|
|
||||||
final ICPPASTParameterDeclaration parm = getNodeFactory().newParameterDeclaration(declSpec, declarator);
|
final ICPPASTParameterDeclaration parm = getNodeFactory().newParameterDeclaration(declSpec, declarator);
|
||||||
final int endOffset = figureEndOffset(declSpec, declarator);
|
final int endOffset = figureEndOffset(declSpec, declarator);
|
||||||
|
|
Loading…
Add table
Reference in a new issue