From 64a08d15f306e56e2143f5f65de6d394c49d3a61 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Wed, 4 Nov 2009 13:47:06 +0100 Subject: Parse ASM specifiers after declarators. Again, a gcc extension used in the OSX system headers. --- src/shared/cplusplus/Parser.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/shared/cplusplus/Parser.cpp') diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index 835b2c11c8..ca26cb629e 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -1200,6 +1200,14 @@ bool Parser::parseDeclarator(DeclaratorAST *&node, bool stopAtCppInitializer) break; } + if (LA() == T___ASM__ && LA(2) == T_LPAREN) { // ### store the asm specifier in the AST + consumeToken(); // skip __asm__ + consumeToken(); // skip T_LPAREN + + if (skipUntil(T_RPAREN)) + consumeToken(); // skip T_RPAREN + } + SpecifierAST **spec_ptr = &node->post_attributes; while (LA() == T___ATTRIBUTE__) { parseAttributeSpecifier(*spec_ptr); -- cgit v1.2.1