cmTypeMacro: Add a class to eat the semicolon following the macro use.

Apply the same workaround to the cmCPackTypeMacro. Additionally
change that macro to not use 'class' as a macro parameter.
This commit is contained in:
Stephen Kelly 2014-04-03 21:28:10 +02:00
parent ff710539ab
commit 4bef02e7aa
2 changed files with 6 additions and 4 deletions

View File

@ -22,9 +22,10 @@
// Forward declarations are insufficient since we use them in
// std::map data members below...
#define cmCPackTypeMacro(class, superclass) \
cmTypeMacro(class, superclass); \
static cmCPackGenerator* CreateGenerator() { return new class; }
#define cmCPackTypeMacro(klass, superclass) \
cmTypeMacro(klass, superclass); \
static cmCPackGenerator* CreateGenerator() { return new klass; } \
class cmCPackTypeMacro_UseTrailingSemicolon
#define cmCPackLogger(logType, msg) \
do { \

View File

@ -378,7 +378,8 @@ static thisClass* SafeDownCast(cmObject *c) \
return static_cast<thisClass *>(c); \
} \
return 0;\
}
} \
class cmTypeMacro_UseTrailingSemicolon
inline bool cmHasLiteralPrefixImpl(const std::string &str1,
const char *str2,