From d0457b70e33f1a090a91b0037e9254a0e14b8427 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 27 Jul 2009 21:47:03 +0200 Subject: Compile the C++ parser library with Sun CC 5.9. Things you mustn't do: 1) end an enum with a comma 2) #include and not use std:: 3) use anonymous structures All three things are invalid C++. Anonymous structures inside anonymous unions are allowed by GCC, but that doesn't mean it's valid. --- src/shared/cplusplus/Lexer.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/shared/cplusplus/Lexer.h') diff --git a/src/shared/cplusplus/Lexer.h b/src/shared/cplusplus/Lexer.h index f6ec63cfc2..2e6b48a233 100644 --- a/src/shared/cplusplus/Lexer.h +++ b/src/shared/cplusplus/Lexer.h @@ -129,6 +129,15 @@ private: void pushLineStartOffset(); private: + struct Flags { + unsigned _isIncremental: 1; + unsigned _scanCommentTokens: 1; + unsigned _scanKeywords: 1; + unsigned _scanAngleStringLiteralTokens: 1; + unsigned _qtMocRunEnabled: 1; + unsigned _objCEnabled: 1; + }; + TranslationUnit *_translationUnit; const char *_firstChar; const char *_currentChar; @@ -138,14 +147,7 @@ private: int _state; union { unsigned _flags; - struct { - unsigned _isIncremental: 1; - unsigned _scanCommentTokens: 1; - unsigned _scanKeywords: 1; - unsigned _scanAngleStringLiteralTokens: 1; - unsigned _qtMocRunEnabled: 1; - unsigned _objCEnabled: 1; - }; + Flags f; }; unsigned _currentLine; }; -- cgit v1.2.1