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.
This commit is contained in:
Thiago Macieira
2009-07-27 21:47:03 +02:00
parent 88549a4b1d
commit d0457b70e3
24 changed files with 321 additions and 306 deletions

View File

@@ -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;
};