diff options
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 26 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/other/profile1.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/inline1.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20080522-1.c (renamed from gcc/testsuite/gcc.c-torture/compile/20080522-1.c) | 0 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tg-tests.h | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/naked-1.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/naked-2.c | 12 |
7 files changed, 57 insertions, 5 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d18afd8e6aa..951fe3d5c8a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,29 @@ +2008-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * gcc.dg/tg-tests.h: Fix spelling of FP_INFINITE. + +2008-05-23 Sandra Loosemore <sandra@codesourcery.com> + Daniel Jacobowitz <dan@codesourcery.com> + + * g++.dg/other/profile1.C: Use dg-require-profiling. + +2008-05-24 Hans-Peter Nilsson <hp@axis.com> + + PR testsuite/22523 + * g++.dg/template/inline1.C: For the not-defined symbol, use the + pattern from g++.dg/template/qualttp17.C. + +2008-05-23 Rafael Espindola <espindola@google.com> + + * gcc/testsuite/gcc.c-torture/compile/20080522-1.c: Move to gcc.dg. + * gcc/testsuite/gcc.dg/20080522-1.c: Moved from gcc.c-torture. + +2008-05-23 Paul Brook <paul@codesourcery.com> + Carlos O'Donell <carlos@codesourcery.com> + + * gcc.target/arm/naked-1.c: New test. + * gcc.target/arm/naked-2.c: New test. + 2008-05-23 Tobias Burnus <burnus@net-b.de> PR fortran/36314 diff --git a/gcc/testsuite/g++.dg/other/profile1.C b/gcc/testsuite/g++.dg/other/profile1.C index fb2e2d02759..10a47875e07 100644 --- a/gcc/testsuite/g++.dg/other/profile1.C +++ b/gcc/testsuite/g++.dg/other/profile1.C @@ -1,5 +1,6 @@ // PR 11767 // { dg-do run } +// { dg-require-profiling "-fprofile-arcs" } // { dg-options "-fnon-call-exceptions -fprofile-arcs" } #include <string> diff --git a/gcc/testsuite/g++.dg/template/inline1.C b/gcc/testsuite/g++.dg/template/inline1.C index d6904c42f16..c7ae1f5cae9 100644 --- a/gcc/testsuite/g++.dg/template/inline1.C +++ b/gcc/testsuite/g++.dg/template/inline1.C @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-fno-default-inline -O0" } -// { dg-final { scan-assembler-not "\[^ \t\]_ZN1X3FooIiEEvT_\[: \t\n\]" } } +// { dg-final { scan-assembler-not "\n_?_ZN1X3FooIiEEvT_\[: \t\n\]" } } // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 27 Mar 2003 <nathan@codesourcery.com> diff --git a/gcc/testsuite/gcc.c-torture/compile/20080522-1.c b/gcc/testsuite/gcc.dg/20080522-1.c index e2598439b79..e2598439b79 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20080522-1.c +++ b/gcc/testsuite/gcc.dg/20080522-1.c diff --git a/gcc/testsuite/gcc.dg/tg-tests.h b/gcc/testsuite/gcc.dg/tg-tests.h index dc95a2cde62..ce9cfb866cf 100644 --- a/gcc/testsuite/gcc.dg/tg-tests.h +++ b/gcc/testsuite/gcc.dg/tg-tests.h @@ -1,11 +1,11 @@ /* Test various type-generic builtins by calling "main_tests()". */ #define FP_NAN 1 -#define FP_INF 2 +#define FP_INFINITE 2 #define FP_NORMAL 3 #define FP_SUBNORMAL 4 #define FP_ZERO 5 -#define fpclassify(X) __builtin_fpclassify(FP_NAN, FP_INF, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (X)) +#define fpclassify(X) __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (X)) void __attribute__ ((__noinline__)) foo_1 (float f, double d, long double ld, @@ -118,7 +118,7 @@ main_tests (void) /* Test infinity. */ f = __builtin_inff(); d = __builtin_inf(); ld = __builtin_infl(); - foo(f, d, ld, /*unord=*/ 0, /*isnan=*/ 0, /*isinf=*/ 1, /*isfin=*/ 0, /*isnorm=*/ 0, FP_INF); + foo(f, d, ld, /*unord=*/ 0, /*isnan=*/ 0, /*isinf=*/ 1, /*isfin=*/ 0, /*isnorm=*/ 0, FP_INFINITE); /* Test zero. */ f = 0; d = 0; ld = 0; @@ -142,7 +142,7 @@ main_tests (void) /* Test overflow values. */ f = __FLT_MAX__*2; d = __DBL_MAX__*2; ld = __LDBL_MAX__*2; - foo(f, d, ld, /*unord=*/ 0, /*isnan=*/ 0, /*isinf=*/ 1, /*isfin=*/ 0, /*isnorm=*/ 0, FP_INF); + foo(f, d, ld, /*unord=*/ 0, /*isnan=*/ 0, /*isinf=*/ 1, /*isfin=*/ 0, /*isnorm=*/ 0, FP_INFINITE); return 0; } diff --git a/gcc/testsuite/gcc.target/arm/naked-1.c b/gcc/testsuite/gcc.target/arm/naked-1.c new file mode 100644 index 00000000000..8f9ff711a5e --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/naked-1.c @@ -0,0 +1,13 @@ +/* { dg-do compile } */ +/* { dg-options "-O0" } */ +/* Check that function arguments aren't assigned and copied to stack slots + in naked functions. This ususally happens at -O0 (presumably for + better debugging), but is highly undesirable if we haven't created + a stack frame. */ +void __attribute__((naked)) +foo(int n) +{ + __asm__ volatile ("frob r0\n"); +} +/* { dg-final { scan-assembler "\tfrob r0" } } */ +/* { dg-final { scan-assembler-not "\tstr" } } */ diff --git a/gcc/testsuite/gcc.target/arm/naked-2.c b/gcc/testsuite/gcc.target/arm/naked-2.c new file mode 100644 index 00000000000..92e7db4447d --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/naked-2.c @@ -0,0 +1,12 @@ +/* Verify that __attribute__((naked)) produces a naked function + that does not use bx to return. Naked functions could be used + to implement interrupt routines and must not return using bx. */ +/* { dg-do compile } */ +/* { dg-options "-O0" } */ +/* Use more arguments than we have argument registers. */ +int __attribute__((naked)) foo(int a, int b, int c, int d, int e, int f) +{ + __asm__ volatile ("@ naked"); +} +/* { dg-final { scan-assembler "\t@ naked" } } */ +/* { dg-final { scan-assembler-not "\tbx\tlr" } } */ |