summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Lexer.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2009-07-27 21:47:03 +0200
committerThiago Macieira <thiago.macieira@nokia.com>2009-08-03 14:59:42 +0200
commitd0457b70e33f1a090a91b0037e9254a0e14b8427 (patch)
tree2984b2db2129ba8cfefeac46d246a4a335b92150 /src/shared/cplusplus/Lexer.h
parent88549a4b1dbbb16c7d63f176fd870ec8bdb61477 (diff)
downloadqt-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.h18
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;
};