diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2009-07-27 21:47:03 +0200 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2009-08-03 14:59:42 +0200 |
commit | d0457b70e33f1a090a91b0037e9254a0e14b8427 (patch) | |
tree | 2984b2db2129ba8cfefeac46d246a4a335b92150 /src/shared/cplusplus/Lexer.h | |
parent | 88549a4b1dbbb16c7d63f176fd870ec8bdb61477 (diff) | |
download | qt-creator-d0457b70e33f1a090a91b0037e9254a0e14b8427.tar.gz |
Compile the C++ parser library with Sun CC 5.9.
Things you mustn't do:
1) end an enum with a comma
2) #include <cxxxx> 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.
Diffstat (limited to 'src/shared/cplusplus/Lexer.h')
-rw-r--r-- | src/shared/cplusplus/Lexer.h | 18 |
1 files changed, 10 insertions, 8 deletions
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; }; |