summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/lto/20090312_1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/lto/20090312_1.C')
-rw-r--r--gcc/testsuite/g++.dg/lto/20090312_1.C21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/lto/20090312_1.C b/gcc/testsuite/g++.dg/lto/20090312_1.C
new file mode 100644
index 000000000..a0f9085f5
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lto/20090312_1.C
@@ -0,0 +1,21 @@
+#include "20090312.h"
+
+/* This file should be compiled with the C front end. This
+ should be testing what happens when LTO merges enum types and function
+ prototypes compiled by the C and C++ FEs. Since both FEs generate
+ slightly different representations for these, LTO was emitting an
+ ODR violation error.
+
+ Once dejagnu can deal with multiple languages in a single test, remove
+ the __cplusplus checks and force this file to be compiled with the
+ C front end. */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+JSErrorCallback p = 0;
+enum Values x = ONE;
+
+#ifdef __cplusplus
+}
+#endif