diff options
Diffstat (limited to 'TestPrograms/test_nodevirtualize.cpp')
-rw-r--r-- | TestPrograms/test_nodevirtualize.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/TestPrograms/test_nodevirtualize.cpp b/TestPrograms/test_nodevirtualize.cpp new file mode 100644 index 00000000..ad4489a4 --- /dev/null +++ b/TestPrograms/test_nodevirtualize.cpp @@ -0,0 +1,19 @@ +#include <string>
+
+// https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
+#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+
+int main(int argc, char* argv[])
+{
+ // GCC 12 is removing live code. We don't know why.
+ // https://github.com/weidai11/cryptopp/issues/1134 and
+ // https://github.com/weidai11/cryptopp/issues/1141
+#if defined(__linux__) && (GCC_VERSION >= 120000)
+ // On successful compile -fno-devirtualize will be used
+ // to work around the problem.
+ ;;
+#else
+ int x[-1];
+#endif
+ return 0;
+}
|