diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile')
30 files changed, 70 insertions, 20 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/20000518-1.c b/gcc/testsuite/gcc.c-torture/compile/20000518-1.c index d208779..4034932 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20000518-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20000518-1.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target label_values } */ + void callit1(void*); extern __inline__ void test() diff --git a/gcc/testsuite/gcc.c-torture/compile/20011029-1.c b/gcc/testsuite/gcc.c-torture/compile/20011029-1.c index 3b2bcdf..538b4e4 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20011029-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20011029-1.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target indirect_jumps } */ + void foo (void *) __attribute__ ((noreturn)); void diff --git a/gcc/testsuite/gcc.c-torture/compile/20021108-1.c b/gcc/testsuite/gcc.c-torture/compile/20021108-1.c index 01b6e4e..3ac5d2e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20021108-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20021108-1.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target label_values } */ + int main() { diff --git a/gcc/testsuite/gcc.c-torture/compile/20040614-1.c b/gcc/testsuite/gcc.c-torture/compile/20040614-1.c index d99d278..b692ab5 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20040614-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20040614-1.c @@ -1,4 +1,5 @@ -#ifndef NO_LABEL_VALUES +/* { dg-require-effective-target label_values } */ + void f(int r1, int *fp) { void *hlbl_tbl[] = { &&label1 }; @@ -14,7 +15,6 @@ void f(int r1, int *fp) goto label0; label2: ; -} -#else +} + int x; -#endif diff --git a/gcc/testsuite/gcc.c-torture/compile/20050510-1.c b/gcc/testsuite/gcc.c-torture/compile/20050510-1.c index 3570f4f..84f198f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20050510-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20050510-1.c @@ -1,3 +1,6 @@ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + void bar (int k) { void *label = (k) ? &&x : &&y; diff --git a/gcc/testsuite/gcc.c-torture/compile/920415-1.c b/gcc/testsuite/gcc.c-torture/compile/920415-1.c index 1636ade..96ac7fe 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920415-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/920415-1.c @@ -1,7 +1,9 @@ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + extern void abort (void); extern void exit (int); -#ifndef NO_LABEL_VALUES f () { __label__ l; @@ -15,6 +17,3 @@ f () l: exit (0); } -#else -int x; -#endif diff --git a/gcc/testsuite/gcc.c-torture/compile/920428-3.c b/gcc/testsuite/gcc.c-torture/compile/920428-3.c index 13640c9..0e9031e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920428-3.c +++ b/gcc/testsuite/gcc.c-torture/compile/920428-3.c @@ -1,5 +1,4 @@ -#ifndef NO_LABEL_VALUES +/* { dg-require-effective-target label_values } */ +/* { dg-require-effective-target indirect_jumps } */ + x(a){static void*j[]={&&l1,&&l2};goto*j[a];l1:return 0;l2:return 1;} -#else -main(){ exit (0); } -#endif diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-7.c b/gcc/testsuite/gcc.c-torture/compile/920501-7.c index aed8804..2af15e3 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920501-7.c +++ b/gcc/testsuite/gcc.c-torture/compile/920501-7.c @@ -1,5 +1,3 @@ -#ifndef NO_LABEL_VALUES +/* { dg-require-effective-target label_values } */ + x(){if(&&e-&&b<0)x();b:goto*&&b;e:;} -#else -int x; -#endif diff --git a/gcc/testsuite/gcc.c-torture/compile/920502-1.c b/gcc/testsuite/gcc.c-torture/compile/920502-1.c index b576c6c..ec2405a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920502-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/920502-1.c @@ -1 +1,3 @@ +/* { dg-require-effective-target indirect_jumps } */ + extern void*t[];x(i){goto*t[i];} diff --git a/gcc/testsuite/gcc.c-torture/compile/920826-1.c b/gcc/testsuite/gcc.c-torture/compile/920826-1.c index d19eff2..c2d8843 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920826-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/920826-1.c @@ -1 +1,3 @@ +/* { dg-require-effective-target indirect_jumps } */ + f(int*x){goto*(char)*x;} diff --git a/gcc/testsuite/gcc.c-torture/compile/920831-1.c b/gcc/testsuite/gcc.c-torture/compile/920831-1.c index ff2fd63..9e422a9 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920831-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/920831-1.c @@ -1 +1,3 @@ +/* { dg-require-effective-target indirect_jumps } */ + f(x){goto*(char)x;} diff --git a/gcc/testsuite/gcc.c-torture/compile/950613-1.c b/gcc/testsuite/gcc.c-torture/compile/950613-1.c index 8aa757f..595f9ef 100644 --- a/gcc/testsuite/gcc.c-torture/compile/950613-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/950613-1.c @@ -1,4 +1,6 @@ -#ifndef NO_LABEL_VALUES +/* { dg-require-effective-target label_values } */ +/* { dg-require-effective-target indirect_jumps } */ + f () { long *sp; @@ -26,6 +28,3 @@ f () goto *pc++; } } -#else -int x; -#endif diff --git a/gcc/testsuite/gcc.c-torture/compile/981006-1.c b/gcc/testsuite/gcc.c-torture/compile/981006-1.c index d77c115..9c66875 100644 --- a/gcc/testsuite/gcc.c-torture/compile/981006-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/981006-1.c @@ -7,6 +7,7 @@ /* For MIPS at least, pic is needed to trigger the problem. */ /* { dg-options "-w -Wuninitialized -Werror -fpic" } */ /* { dg-options "-w -Wuninitialized -Werror" { target { { rs6000-*-aix* powerpc*-*-aix* arm*-*-* fr30-*-* sh-*-hms h8300*-*-* cris-*-elf* mmix-*-* } || { ! fpic } } } } */ +/* { dg-require-effective-target label_values } */ int foo (int a, int b) { diff --git a/gcc/testsuite/gcc.c-torture/compile/991213-3.c b/gcc/testsuite/gcc.c-torture/compile/991213-3.c index ce8347f..bda7490 100644 --- a/gcc/testsuite/gcc.c-torture/compile/991213-3.c +++ b/gcc/testsuite/gcc.c-torture/compile/991213-3.c @@ -1,2 +1,4 @@ +/* { dg-require-effective-target indirect_jumps } */ + int jump () { goto * (int (*) ()) 0xbabebec0; } diff --git a/gcc/testsuite/gcc.c-torture/compile/complex-6.c b/gcc/testsuite/gcc.c-torture/compile/complex-6.c index eb89040..9724bf2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/complex-6.c +++ b/gcc/testsuite/gcc.c-torture/compile/complex-6.c @@ -1,4 +1,5 @@ /* PR tree-opt/35737 */ +/* { dg-require-effective-target indirect_jumps } */ long buf[10]; diff --git a/gcc/testsuite/gcc.c-torture/compile/labels-2.c b/gcc/testsuite/gcc.c-torture/compile/labels-2.c index cf4f116..316a380 100644 --- a/gcc/testsuite/gcc.c-torture/compile/labels-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/labels-2.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target label_values } */ + struct bp { void *v, *b, *e; }; f () { diff --git a/gcc/testsuite/gcc.c-torture/compile/labels-3.c b/gcc/testsuite/gcc.c-torture/compile/labels-3.c index 51ac883..6a0f7c2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/labels-3.c +++ b/gcc/testsuite/gcc.c-torture/compile/labels-3.c @@ -1,4 +1,6 @@ /* Verify that we can narrow the storage associated with label diffs. */ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ int foo (int a) { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr17913.c b/gcc/testsuite/gcc.c-torture/compile/pr17913.c index 30654a3..cf58700 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr17913.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr17913.c @@ -1,4 +1,7 @@ /* Test for computed jump into cond_expr: bug 17913. */ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + void f (void) { void *p = &&a; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr21356.c b/gcc/testsuite/gcc.c-torture/compile/pr21356.c index b072b51..229108f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr21356.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr21356.c @@ -1,3 +1,6 @@ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + int a; void* p; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr21728.c b/gcc/testsuite/gcc.c-torture/compile/pr21728.c index 991cb38..d37f44b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr21728.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr21728.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target indirect_jumps } */ + int main (void) { __label__ l1; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr25224.c b/gcc/testsuite/gcc.c-torture/compile/pr25224.c index 0ccf0cdf..56f4698 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr25224.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr25224.c @@ -1,4 +1,7 @@ /* { dg-options "-funswitch-loops" } */ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + static float rgam; extern void *jmp(void *); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr27863.c b/gcc/testsuite/gcc.c-torture/compile/pr27863.c index 86abc06..926312e4 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr27863.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr27863.c @@ -1,4 +1,7 @@ /* This test used to ICE on IA64. */ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + long stack[100]; int main(int argc,char**argv,char **envp) { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr28489.c b/gcc/testsuite/gcc.c-torture/compile/pr28489.c index 766880f..60d23b1 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr28489.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr28489.c @@ -1,3 +1,6 @@ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + typedef int c_int; union c_insn { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr29128.c b/gcc/testsuite/gcc.c-torture/compile/pr29128.c index 2afeae3..3358b47 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr29128.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr29128.c @@ -1,3 +1,6 @@ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + typedef unsigned long Eterm; process_main (void) { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr30984.c b/gcc/testsuite/gcc.c-torture/compile/pr30984.c index 265a6f3..befe977 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr30984.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr30984.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target indirect_jumps } */ + int fs_exec(int ino) { void *src = 0; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr32919.c b/gcc/testsuite/gcc.c-torture/compile/pr32919.c index 33956c8..204c6a6 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr32919.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr32919.c @@ -1,3 +1,6 @@ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ + void _IO_vfprintf_internal ( char *f ) { static const void *const step0_jumps[] = { &&do_form_unknown, &&do_flag_plus, &&do_form_float }; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr42559.c b/gcc/testsuite/gcc.c-torture/compile/pr42559.c index 25f7fd6..60475e1 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr42559.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr42559.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target label_values } */ + void jumpfunc(int copy, void *p) { void *l = &&jumplabel; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr46107.c b/gcc/testsuite/gcc.c-torture/compile/pr46107.c index 41582b8..5c4a8da 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr46107.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr46107.c @@ -1,4 +1,6 @@ /* PR tree-optimization/46107 */ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ int foo (void) __attribute__ ((noreturn)); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr51495.c b/gcc/testsuite/gcc.c-torture/compile/pr51495.c index 34de37b..13b1641 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr51495.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr51495.c @@ -1,4 +1,6 @@ /* PR rtl-optimization/51495 */ +/* { dg-require-effective-target indirect_jumps } */ +/* { dg-require-effective-target label_values } */ void bar (void); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr58164.c b/gcc/testsuite/gcc.c-torture/compile/pr58164.c index 7fe24fa..5af751e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr58164.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr58164.c @@ -1,4 +1,5 @@ /* PR tree-optimization/58164 */ +/* { dg-require-effective-target indirect_jumps } */ int foo (void) |