CHECK_VALID (true, int, true ? EF () : EF2 ())
CHECK_VALID (true, int, true ? EF2 () : EF ())
-#if GCC_VERSION >= 5003 || defined __clang__
CHECK_VALID (true, int, true ? EF () : RE2 ())
CHECK_VALID (true, int, true ? RE2 () : EF ())
-#endif
/* Same, but with an unsigned enum. */
CHECK_VALID (true, uns, true ? EF () : UEF ())
CHECK_VALID (true, uns, true ? UEF () : EF ())
-#if GCC_VERSION >= 5003 || defined __clang__
CHECK_VALID (true, uns, true ? EF () : URE ())
CHECK_VALID (true, uns, true ? URE () : EF ())
-#endif
/* Unfortunately this can't work due to the way C++ computes the
return type of the ternary conditional operator. int isn't
error: operands to ?: have different types ‘enum_flags<RE>’ and ‘int’
Confirmed to work with gcc 4.9, 5.3 and clang 3.7.
*/
-#if GCC_VERSION >= 4009 || defined __clang__
CHECK_VALID (false, void, true ? EF () : 0)
CHECK_VALID (false, void, true ? 0 : EF ())
-#endif
/* Check that the ++/--/<</>>/<<=/>>= operators are deleted. */
#if defined _WIN32 || defined __CYGWIN__
# define EXPORTED_SYMBOL __declspec (dllexport)
#else
-# if __GNUC__ >= 4
-# define EXPORTED_SYMBOL __attribute__ ((visibility ("default")))
-# else
-# define EXPORTED_SYMBOL
-# endif
+# define EXPORTED_SYMBOL __attribute__ ((visibility ("default")))
#endif
/* Use these to make sure the functions and variables the IPA needs to
#undef ATTRIBUTE_NONNULL
#define ATTRIBUTE_NONNULL(m)
-#if GCC_VERSION >= 3004
#define ATTRIBUTE_UNUSED_RESULT __attribute__ ((__warn_unused_result__))
-#else
-#define ATTRIBUTE_UNUSED_RESULT
-#endif
-
-#if (GCC_VERSION > 4000)
#define ATTRIBUTE_USED __attribute__ ((__used__))
-#else
-#define ATTRIBUTE_USED
-#endif
#include "libiberty.h"
#include "pathmax.h"