Hi,
  On some simulators (Octeon simple-exec) argc can be greater than 2.
This causes  initlist-lifetime1.C and  initlist-lifetime2.C to fail.
To fix this, I use a volatile variable.

Committed as obvious after testing on x86_64.

Thanks,
Andrew Pinski

        * g++.dg/cpp0x/initlist-lifetime1.C: Fix testcase where
        argc is always greater than 1 (octeon simulator).
        * g++.dg/cpp0x/initlist-lifetime2.C: Likewise.
Index: testsuite/g++.dg/cpp0x/initlist-lifetime1.C
===================================================================
--- testsuite/g++.dg/cpp0x/initlist-lifetime1.C (revision 217978)
+++ testsuite/g++.dg/cpp0x/initlist-lifetime1.C (working copy)
@@ -23,9 +23,11 @@ struct B {
   const AL& alr;
 };
 
+volatile bool always_false = false;
+
 int main(int argc, const char** argv)
 {
-  do_throw = (argc > 1);       // always false, but optimizer can't tell
+  do_throw = always_false;     // always false, but optimizer can't tell
   AL ar[] = {{1,2},{3,4}};
   B b = {{5,6},{7,8}};
   AL3 al3 = {{{1},{2},{3}}};
Index: testsuite/g++.dg/cpp0x/initlist-lifetime2.C
===================================================================
--- testsuite/g++.dg/cpp0x/initlist-lifetime2.C (revision 217978)
+++ testsuite/g++.dg/cpp0x/initlist-lifetime2.C (working copy)
@@ -53,9 +53,11 @@ struct D {
   D() { ok = true; }
 };
 
+volatile bool always_false = false;
+
 int main(int argc, const char** argv)
 {
-  do_throw = (argc > 1);       // always false, but optimizer can't tell
+  do_throw = always_false;     // always false, but optimizer can't tell
   ok = false;
   C c;
   ok = false;

Reply via email to