COMP: compilation with clang (c++17) and older flex files (fixes #3337)
- The register keyword has been removed from c++17 but old flex versions (version < 2.6.0) produce code including it, leading to compilation errors when using clang (despite disabling the diagnostic). gcc compiles but issues warnings. - use '#define register' as empty as a workaround
This commit is contained in:
parent
97c8e62fe4
commit
47575aabf2
@ -62,6 +62,9 @@ Description
|
|||||||
|
|
||||||
// Flex may use register, which is deprecated and incompatible with C++17
|
// Flex may use register, which is deprecated and incompatible with C++17
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
|
// A 'nothing' define to effectively remove from code as well (issue #3337)
|
||||||
|
#undef register
|
||||||
|
#define register
|
||||||
|
|
||||||
using namespace Foam;
|
using namespace Foam;
|
||||||
|
|
||||||
|
@ -56,6 +56,9 @@ Description
|
|||||||
|
|
||||||
// Flex may use register, which is deprecated and incompatible with C++17
|
// Flex may use register, which is deprecated and incompatible with C++17
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
|
// A 'nothing' define to effectively remove from code as well (issue #3337)
|
||||||
|
#undef register
|
||||||
|
#define register
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
@ -63,6 +63,9 @@ Description
|
|||||||
|
|
||||||
// Flex may use register, which is deprecated and incompatible with C++17
|
// Flex may use register, which is deprecated and incompatible with C++17
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
|
// A 'nothing' define to effectively remove from code as well (issue #3337)
|
||||||
|
#undef register
|
||||||
|
#define register
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
@ -51,6 +51,9 @@ Description
|
|||||||
|
|
||||||
// Flex may use register, which is deprecated and incompatible with C++17
|
// Flex may use register, which is deprecated and incompatible with C++17
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
|
// A 'nothing' define to effectively remove from code as well (issue #3337)
|
||||||
|
#undef register
|
||||||
|
#define register
|
||||||
|
|
||||||
using namespace Foam;
|
using namespace Foam;
|
||||||
|
|
||||||
|
@ -44,6 +44,9 @@ Description
|
|||||||
|
|
||||||
// Flex may use register, which is deprecated and incompatible with C++17
|
// Flex may use register, which is deprecated and incompatible with C++17
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
|
// A 'nothing' define to effectively remove from code as well (issue #3337)
|
||||||
|
#undef register
|
||||||
|
#define register
|
||||||
|
|
||||||
using namespace Foam;
|
using namespace Foam;
|
||||||
|
|
||||||
|
@ -39,6 +39,9 @@ License
|
|||||||
|
|
||||||
// Flex may use register, which is deprecated and incompatible with C++17
|
// Flex may use register, which is deprecated and incompatible with C++17
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
|
// A 'nothing' define to effectively remove from code as well (issue #3337)
|
||||||
|
#undef register
|
||||||
|
#define register
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user