aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog26
-rw-r--r--gcc/testsuite/g++.dg/other/profile1.C1
-rw-r--r--gcc/testsuite/g++.dg/template/inline1.C2
-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.h8
-rw-r--r--gcc/testsuite/gcc.target/arm/naked-1.c13
-rw-r--r--gcc/testsuite/gcc.target/arm/naked-2.c12
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" } } */