Attached is a change to the harness to test with {-O[0123s] -g} as well
as corresponding changes to the tests themselves.
Tested by running "make check-gcc RUNTESTFLAGS=memmodel.exp" and
inspecting the logs manually.
Committed to branch.
* gcc.dg/memmodel/memmodel.exp: Torture with more options.
* g++.dg/memmodel/memmodel.exp: Same.
* gcc.dg/memmodel/*.c: Remove optimization flags.
* g++.dg/memmodel/*.c: Remove optimization flags.
Index: gcc.dg/memmodel/speculative-store.c
===================================================================
--- gcc.dg/memmodel/speculative-store.c (revision 177836)
+++ gcc.dg/memmodel/speculative-store.c (working copy)
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-O2 --param allow-store-data-races=0" } */
+/* { dg-options "--param allow-store-data-races=0" } */
/* { dg-final { memmodel-gdb-test } } */
#include <stdio.h>
Index: gcc.dg/memmodel/strict-align-global.c
===================================================================
--- gcc.dg/memmodel/strict-align-global.c (revision 177836)
+++ gcc.dg/memmodel/strict-align-global.c (working copy)
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-O2 --param allow-packed-store-data-races=0" } */
+/* { dg-options "--param allow-packed-store-data-races=0" } */
/* { dg-final { memmodel-gdb-test } } */
#include <stdio.h>
Index: gcc.dg/memmodel/subfields.c
===================================================================
--- gcc.dg/memmodel/subfields.c (revision 177836)
+++ gcc.dg/memmodel/subfields.c (working copy)
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-O2 --param allow-packed-store-data-races=0" } */
+/* { dg-options "--param allow-packed-store-data-races=0" } */
/* { dg-final { memmodel-gdb-test } } */
#include <stdio.h>
Index: gcc.dg/memmodel/memmodel.exp
===================================================================
--- gcc.dg/memmodel/memmodel.exp (revision 177836)
+++ gcc.dg/memmodel/memmodel.exp (working copy)
@@ -2,6 +2,7 @@
load_lib gcc-dg.exp
load_lib gcc-memmodel-gdb-test.exp
+load_lib torture-options.exp
proc check_guality {args} {
set result [eval check_compile guality_check executable $args "-g -O0"]
@@ -17,6 +18,13 @@ proc check_guality {args} {
}
dg-init
+torture-init
+set-torture-options [list \
+ { -O0 -g } \
+ { -O1 -g } \
+ { -O2 -g } \
+ { -O3 -g } \
+ { -Os -g } ]
# Test the presence of gdb with the guality infrastructure.
global GDB
@@ -37,9 +45,9 @@ if {[check_guality "
return 0;
}
"]} {
- dg-runtest [lsort [glob $srcdir/$subdir/*.c]] "-g" ""
+ gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] ""
# Uncomment line below when we have common C/C++ tests.
-# dg-runtest [lsort [glob $srcdir/c-c++-common/memmodel/*.c]] "-g" ""
+# gcc-dg-runtest [lsort [glob $srcdir/c-c++-common/memmodel/*.c]] ""
}
if [info exists guality_gdb_name] {
Index: g++.dg/memmodel/atomics-2.C
===================================================================
--- g++.dg/memmodel/atomics-2.C (revision 177836)
+++ g++.dg/memmodel/atomics-2.C (working copy)
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-std=c++0x -O2" } */
+/* { dg-options "-std=c++0x" } */
/* { dg-final { memmodel-gdb-test } } */
using namespace std;
Index: g++.dg/memmodel/bitfields-2.C
===================================================================
--- g++.dg/memmodel/bitfields-2.C (revision 177836)
+++ g++.dg/memmodel/bitfields-2.C (working copy)
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-O2 --param allow-load-data-races=0 --param
allow-store-data-races=0" } */
+/* { dg-options "--param allow-load-data-races=0 --param
allow-store-data-races=0" } */
/* { dg-final { memmodel-gdb-test } } */
/* Test that setting <var.a> does not touch either <var.b> or <var.c>.
Index: g++.dg/memmodel/bitfields.C
===================================================================
--- g++.dg/memmodel/bitfields.C (revision 177836)
+++ g++.dg/memmodel/bitfields.C (working copy)
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-O2 --param allow-load-data-races=0 --param
allow-store-data-races=0" } */
+/* { dg-options "--param allow-load-data-races=0 --param
allow-store-data-races=0" } */
/* { dg-final { memmodel-gdb-test } } */
/* Test that setting <var.a> does not touch either <var.b> or <var.c>.
Index: g++.dg/memmodel/memmodel.exp
===================================================================
--- g++.dg/memmodel/memmodel.exp (revision 177836)
+++ g++.dg/memmodel/memmodel.exp (working copy)
@@ -2,6 +2,7 @@
load_lib g++-dg.exp
load_lib gcc-memmodel-gdb-test.exp
+load_lib torture-options.exp
proc check_guality {args} {
set result [eval check_compile guality_check executable $args "-g -O0"]
@@ -17,6 +18,13 @@ proc check_guality {args} {
}
dg-init
+torture-init
+set-torture-options [list \
+ { -O0 -g } \
+ { -O1 -g } \
+ { -O2 -g } \
+ { -O3 -g } \
+ { -Os -g } ]
# Test the presence of gdb with the guality infrastructure.
global GDB
@@ -37,9 +45,9 @@ if {[check_guality "
return 0;
}
"]} {
- dg-runtest [lsort [glob $srcdir/$subdir/*.C]] "-g" ""
+ gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.C]] ""
# Uncomment line below when we have common C/C++ tests.
-# dg-runtest [lsort [glob $srcdir/c-c++-common/memmodel/*.c]] "-g" ""
+# gcc-dg-runtest [lsort [glob $srcdir/c-c++-common/memmodel/*.c]] ""
}
if [info exists guality_gdb_name] {
Index: g++.dg/memmodel/atomics-1.C
===================================================================
--- g++.dg/memmodel/atomics-1.C (revision 177836)
+++ g++.dg/memmodel/atomics-1.C (working copy)
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-std=c++0x -O2" } */
+/* { dg-options "-std=c++0x" } */
/* { dg-final { memmodel-gdb-test } } */
/* Test that atomic int and atomic char work properly. */