diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg')
78 files changed, 525 insertions, 1816 deletions
diff --git a/gcc/testsuite/gcc.dg/20020416-1.c b/gcc/testsuite/gcc.dg/20020416-1.c index db1a2617fcd..44916ef1b83 100644 --- a/gcc/testsuite/gcc.dg/20020416-1.c +++ b/gcc/testsuite/gcc.dg/20020416-1.c @@ -1,6 +1,7 @@ /* PR bootstrap/6315 */ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* APPLE LOCAL -Wlong-double */ +/* { dg-options "-O2 -Wno-long-double" } */ /* { dg-options "-O2 -mhard-quad-float" { target sparc*-*-* } } */ /* { dg-options "-O2" { target sparclet*-*-* sparclite*-*-* sparc86x-*-* } } */ diff --git a/gcc/testsuite/gcc.dg/20040305-2.c b/gcc/testsuite/gcc.dg/20040305-2.c deleted file mode 100644 index b0423a25495..00000000000 --- a/gcc/testsuite/gcc.dg/20040305-2.c +++ /dev/null @@ -1,47 +0,0 @@ -/* PR target/14262 */ -/* { dg-do run } */ - -typedef char ACS; -typedef char LSM; -typedef char PANEL; -typedef char DRIVE; -typedef struct { - ACS acs; - LSM lsm; -} LSMID; -typedef struct { - LSMID lsm_id; - PANEL panel; -} PANELID; -typedef struct { - PANELID panel_id; - DRIVE drive; -} DRIVEID; - -void sub (DRIVEID driveid) -{ - if (driveid.drive != 1) - abort (); - if (driveid.panel_id.panel != 2) - abort (); - if (driveid.panel_id.lsm_id.lsm != 3) - abort (); - if (driveid.panel_id.lsm_id.acs != 4) - abort (); -} - -int main(void) -{ - DRIVEID driveid; - - driveid.drive = 1; - driveid.panel_id.panel = 2; - driveid.panel_id.lsm_id.lsm = 3; - driveid.panel_id.lsm_id.acs = 4; - - sub(driveid); - - return 0; -} - - diff --git a/gcc/testsuite/gcc.dg/20040309-1.c b/gcc/testsuite/gcc.dg/20040309-1.c deleted file mode 100644 index 736150731c7..00000000000 --- a/gcc/testsuite/gcc.dg/20040309-1.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Test integer mod on ia64. There was a bug in the inline integer - division code. */ - -/* { dg-do run } */ -/* { dg-options "-minline-int-divide-max-throughput" { target ia64-*-* } } */ - -extern void abort (void); - -volatile int i = 10; -volatile int j = 10; - -int main() -{ - int k = i % j; - if (k != 0) abort(); - return 0; -} diff --git a/gcc/testsuite/gcc.dg/20040310-1.c b/gcc/testsuite/gcc.dg/20040310-1.c deleted file mode 100644 index 104e98d0889..00000000000 --- a/gcc/testsuite/gcc.dg/20040310-1.c +++ /dev/null @@ -1,34 +0,0 @@ -/* This caused cc1 to segfault on s390x-ibm-linux - due to a bug in if_then_else_cond (combine.c). */ - -/* { dg-do compile } */ -/* { dg-options "-O1" } */ - -extern void use (unsigned int x); - -int main (void) -{ - union - { - unsigned int x; - unsigned long pad; - } A; - - struct - { - unsigned int x : 1; - } B; - - A.x = 1; - B.x = 1; - A.x /= B.x; - use (A.x); - - A.x = 1; - B.x = 1; - B.x /= A.x; - use (B.x); - - return 0; -} - diff --git a/gcc/testsuite/gcc.dg/20040311-2.c b/gcc/testsuite/gcc.dg/20040311-2.c deleted file mode 100644 index 0d0d5da3259..00000000000 --- a/gcc/testsuite/gcc.dg/20040311-2.c +++ /dev/null @@ -1,36 +0,0 @@ -/* PR target/14533 */ -/* { dg-do compile } */ -/* { dg-options "-O2 -fpic" } */ - -void bar (char *, int); - -extern char b[]; -extern int d, e; -struct S -{ - struct S *m; - int n; -} **g; - -void -foo (int x, char *y) -{ - struct S *h; - int k = 1, l; - -again: - for (h = *g; h != (struct S *) g; h = h->m) - { - if (k == 0 && h->n & 0x100000); - l = y - b; - if (e) - bar (b, l); - if (d) - bar (b, l); - } - if (k) - { - k = 0; - goto again; - } -} diff --git a/gcc/testsuite/gcc.dg/alias-2.c b/gcc/testsuite/gcc.dg/alias-2.c deleted file mode 100644 index d507416b0ff..00000000000 --- a/gcc/testsuite/gcc.dg/alias-2.c +++ /dev/null @@ -1,16 +0,0 @@ -// { dg-do compile } -// { dg-options "-Wstrict-aliasing=2 -fstrict-aliasing" } - -struct foo { - char c; - char d; - short s; - int i; -} bar; - -int -sub1 (long long int foobar) -{ - struct foo *tmp = (struct foo *) &foobar; // { dg-warning "type-punned pointer might" "" } - return tmp->i; -} diff --git a/gcc/testsuite/gcc.dg/altivec-2.c b/gcc/testsuite/gcc.dg/altivec-2.c index f64081ff813..f3074fe6796 100644 --- a/gcc/testsuite/gcc.dg/altivec-2.c +++ b/gcc/testsuite/gcc.dg/altivec-2.c @@ -4,8 +4,6 @@ /* Program to test the vector_size attribute. This needs to run on a target that has vectors, so use AltiVec. */ -#define vector __attribute__((vector_size(16))) - vector int foobar; /* Only floats and integrals allowed. We don't care if they map to SIs. */ diff --git a/gcc/testsuite/gcc.dg/altivec-4.c b/gcc/testsuite/gcc.dg/altivec-4.c index 175663581ac..f5a46493152 100644 --- a/gcc/testsuite/gcc.dg/altivec-4.c +++ b/gcc/testsuite/gcc.dg/altivec-4.c @@ -1,8 +1,6 @@ /* { dg-do compile { target powerpc*-*-* } } */ /* { dg-options "-maltivec -O0 -Wall" } */ -#define vector __attribute__((vector_size(16))) - static int __attribute__((mode(V4SI))) x, y; static vector signed int i,j; diff --git a/gcc/testsuite/gcc.dg/altivec-5.c b/gcc/testsuite/gcc.dg/altivec-5.c index 0adfdb84d19..37c9a9fa79b 100644 --- a/gcc/testsuite/gcc.dg/altivec-5.c +++ b/gcc/testsuite/gcc.dg/altivec-5.c @@ -1,8 +1,6 @@ /* { dg-do compile { target powerpc*-*-* } } */ /* { dg-options "-maltivec -O2" } */ -#define vector __attribute__((vector_size(16))) - void foo (const unsigned long x, vector signed int a, vector signed int b) { diff --git a/gcc/testsuite/gcc.dg/builtin-inf-1.c b/gcc/testsuite/gcc.dg/builtin-inf-1.c index d2d28415899..0e97114cfca 100644 --- a/gcc/testsuite/gcc.dg/builtin-inf-1.c +++ b/gcc/testsuite/gcc.dg/builtin-inf-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ - +/* { dg-options "-Wno-long-double" { target *-apple-darwin* } } */ float fi = __builtin_inff(); double di = __builtin_inf(); long double li = __builtin_infl(); diff --git a/gcc/testsuite/gcc.dg/builtins-34.c b/gcc/testsuite/gcc.dg/builtins-34.c deleted file mode 100644 index d2bf4d41219..00000000000 --- a/gcc/testsuite/gcc.dg/builtins-34.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Copyright (C) 2004 Free Software Foundation. - - Check that exp10, exp10f, exp10l, exp2, exp2f, exp2l, pow10, pow10f - and pow10l built-in functions compile. - - Written by Uros Bizjak, 13th February 2004. */ - -/* { dg-do compile } */ -/* { dg-options "-O2 -ffast-math" } */ - -extern double exp10(double); -extern double exp2(double); -extern double pow10(double); -extern float exp10f(float); -extern float exp2f(float); -extern float pow10f(float); -extern long double exp10l(long double); -extern long double exp2l(long double); -extern long double pow10l(long double); - - -double test1(double x) -{ - return exp10(x); -} - -double test2(double x) -{ - return exp2(x); -} - -double test3(double x) -{ - return pow10(x); -} - -float test1f(float x) -{ - return exp10f(x); -} - -float test2f(float x) -{ - return exp2f(x); -} - -float test3f(float x) -{ - return pow10f(x); -} - -long double test1l(long double x) -{ - return exp10l(x); -} - -long double test2l(long double x) -{ - return exp2l(x); -} - -long double test3l(long double x) -{ - return pow10l(x); -} - diff --git a/gcc/testsuite/gcc.dg/c90-dupqual-1.c b/gcc/testsuite/gcc.dg/c90-dupqual-1.c deleted file mode 100644 index 14838c7367f..00000000000 --- a/gcc/testsuite/gcc.dg/c90-dupqual-1.c +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ - -typedef const int CI; -const const int c1; /* { dg-error "duplicate" } */ -const CI c2; /* { dg-error "duplicate" } */ -const CI *c3; /* { dg-error "duplicate" } */ - -typedef volatile int VI; -volatile volatile int v1; /* { dg-error "duplicate" } */ -volatile VI v2; /* { dg-error "duplicate" } */ -volatile VI *v3; /* { dg-error "duplicate" } */ diff --git a/gcc/testsuite/gcc.dg/c99-complex-1.c b/gcc/testsuite/gcc.dg/c99-complex-1.c index 2e1ba7df539..494cdd6a266 100644 --- a/gcc/testsuite/gcc.dg/c99-complex-1.c +++ b/gcc/testsuite/gcc.dg/c99-complex-1.c @@ -1,8 +1,8 @@ /* Test for _Complex: in C99 only. A few basic tests. */ /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ /* { dg-do compile } */ -/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ - +/* APPLE LOCAL -Wlong-double */ +/* { dg-options "-std=iso9899:1999 -pedantic-errors -Wno-long-double" } */ /* Test _Complex allowed on floating types. */ float _Complex a; diff --git a/gcc/testsuite/gcc.dg/c99-dupqual-1.c b/gcc/testsuite/gcc.dg/c99-dupqual-1.c deleted file mode 100644 index 2e6d7e1bc5a..00000000000 --- a/gcc/testsuite/gcc.dg/c99-dupqual-1.c +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ - -typedef const int CI; -const const int c1; /* { dg-bogus "duplicate" } */ -const CI c2; /* { dg-bogus "duplicate" } */ -const CI *c3; /* { dg-bogus "duplicate" } */ - -typedef volatile int VI; -volatile volatile int v1; /* { dg-bogus "duplicate" } */ -volatile VI v2; /* { dg-bogus "duplicate" } */ -volatile VI *v3; /* { dg-bogus "duplicate" } */ diff --git a/gcc/testsuite/gcc.dg/cast-ptr-1.c b/gcc/testsuite/gcc.dg/cast-ptr-1.c new file mode 100644 index 00000000000..cb42d13ac48 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cast-ptr-1.c @@ -0,0 +1,15 @@ +/* APPLE LOCAL file pointer casts */ +/* Test that casts of pointer to unsigned long long aren't sign extended */ +/* Author: Matt Austern <austern@apple.com> */ +/* { dg-do run } */ +/* { dg-options "-Wno-error -w" } */ + +int main () { + /* Note: test assumes sizeof(long long) >= sizeof(void*) */ + + unsigned long x1 = 0x80000000ul; + void* p = (void*) x1; + unsigned long long x2 = (unsigned long long) p; + + return !(x1 == x2); +} diff --git a/gcc/testsuite/gcc.dg/charset/asm1.c b/gcc/testsuite/gcc.dg/charset/asm1.c deleted file mode 100644 index d7578d418f6..00000000000 --- a/gcc/testsuite/gcc.dg/charset/asm1.c +++ /dev/null @@ -1,14 +0,0 @@ -/* { dg-do compile } - { dg-require-iconv "IBM-1047" } - { dg-final { scan-assembler ".ascii bar" } } - { dg-final { scan-assembler ".ascii foo" } } - */ -extern int x, y; - -asm (".ascii bar"); - -int foo (void) -{ - __asm__ (".ascii foo"); - return 0; -} diff --git a/gcc/testsuite/gcc.dg/charset/asm3.c b/gcc/testsuite/gcc.dg/charset/asm3.c deleted file mode 100644 index 8d8dbbb524d..00000000000 --- a/gcc/testsuite/gcc.dg/charset/asm3.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Test for complex asm statements. Make sure it compiles - then test for some of the asm statements not being translated. */ -/* { dg-do compile { target i?86-*-* } } - { dg-require-iconv "IBM-1047" } - { dg-final { scan-assembler "std" } } - { dg-final { scan-assembler "cld" } } - { dg-final { scan-assembler "rep" } } - { dg-final { scan-assembler "movsb" } } */ -#define size_t int -void * -memmove (void *__dest, __const void *__src, size_t __n) -{ - register unsigned long int __d0, __d1, __d2; - if (__dest < __src) - __asm__ __volatile__ - ("cld\n\t" - "rep\n\t" - "movsb" - : "=&c" (__d0), "=&S" (__d1), "=&D" (__d2) - : "0" (__n), "1" (__src), "2" (__dest) - : "memory"); - else - __asm__ __volatile__ - ("std\n\t" - "rep\n\t" - "movsb\n\t" - "cld" - : "=&c" (__d0), "=&S" (__d1), "=&D" (__d2) - : "0" (__n), "1" (__n - 1 + (const char *) __src), - "2" (__n - 1 + (char *) __dest) - : "memory"); - return __dest; -} diff --git a/gcc/testsuite/gcc.dg/charset/asm4.c b/gcc/testsuite/gcc.dg/charset/asm4.c deleted file mode 100644 index cd850c3e81f..00000000000 --- a/gcc/testsuite/gcc.dg/charset/asm4.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Simple asm test. */ -/* { dg-do compile } - { dg-require-iconv "IBM-1047" } - { dg-final { scan-assembler "foo" } } */ -extern int bar; - -int main (void) -{ - asm ("foo %0" : "=r" (bar)); -} diff --git a/gcc/testsuite/gcc.dg/charset/asm5.c b/gcc/testsuite/gcc.dg/charset/asm5.c deleted file mode 100644 index fa93f40fdaf..00000000000 --- a/gcc/testsuite/gcc.dg/charset/asm5.c +++ /dev/null @@ -1,8 +0,0 @@ -/* Test for string translation. */ -/* { dg-do compile } - { dg-require-iconv "IBM-1047" } - { dg-final { scan-assembler-not "translate" } } */ -void foo (void) -{ - asm ("xx" : : "r"("translate") : "cc"); -} diff --git a/gcc/testsuite/gcc.dg/charset/attribute1.c b/gcc/testsuite/gcc.dg/charset/attribute1.c deleted file mode 100644 index 993c7934c80..00000000000 --- a/gcc/testsuite/gcc.dg/charset/attribute1.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Test for attribute non-translation. */ -/* { dg-do compile } - { dg-require-iconv "IBM-1047" } - { dg-final { scan-assembler "foo" } } */ -int walrus __attribute__ ((section (".foo"))); - -int main (void) -{ - return 0; -} diff --git a/gcc/testsuite/gcc.dg/charset/attribute2.c b/gcc/testsuite/gcc.dg/charset/attribute2.c deleted file mode 100644 index 4ce95a51f84..00000000000 --- a/gcc/testsuite/gcc.dg/charset/attribute2.c +++ /dev/null @@ -1,8 +0,0 @@ -/* Test to make sure that invalid attributes aren't translated. - If error recovery is ever testable then "foobar" should be - translated. */ -/* { dg-do compile } - { dg-require-iconv "IBM-1047" } - */ -int foo __attribute__ ((walrus)); /* { dg-error "walrus" "ignored" } */ -char x[] = "foobar"; diff --git a/gcc/testsuite/gcc.dg/charset/charset.exp b/gcc/testsuite/gcc.dg/charset/charset.exp deleted file mode 100644 index ad75cb55af8..00000000000 --- a/gcc/testsuite/gcc.dg/charset/charset.exp +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright (C) 2004 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# GCC testsuite that uses the 'dg.exp' driver. - -# There's a bunch of headers we need. -if [is_remote host] { - foreach header [glob -nocomplain $srcdir/$subdir/*.{h,def} ] { - remote_download host $header - } -} - -# Load support procs. -load_lib gcc-dg.exp -load_lib target-supports.exp - -# If a testcase doesn't have special options, use these. -global DEFAULT_CHARSETCFLAGS -if ![info exists DEFAULT_CHARSETCFLAGS] then { - set DEFAULT_CHARSETCFLAGS "-fexec-charset=IBM-1047" -} - -# Initialize `dg'. -dg-init - -# Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{c,S} ]] \ - "" $DEFAULT_CHARSETCFLAGS - -# All done. -dg-finish diff --git a/gcc/testsuite/gcc.dg/charset/string.c b/gcc/testsuite/gcc.dg/charset/string.c deleted file mode 100644 index 375e28a2ed6..00000000000 --- a/gcc/testsuite/gcc.dg/charset/string.c +++ /dev/null @@ -1,5 +0,0 @@ -/* Simple character translation test. */ -/* { dg-do compile } - { dg-require-iconv "IBM-1047" } - { dg-final { scan-assembler-not "string foobar" } } */ -char *foo = "string foobar"; diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-21_main.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-21_main.c deleted file mode 100644 index b722bccd2ca..00000000000 --- a/gcc/testsuite/gcc.dg/compat/struct-by-value-21_main.c +++ /dev/null @@ -1,13 +0,0 @@ -/* Test function argument passing. This was written when correcting - a deviation from the ABI on SPARC64 between 3.3 and 3.4. */ - -extern void struct_by_value_21_x (void); -extern void exit (int); -int fails; - -int -main () -{ - struct_by_value_21_x (); - exit (0); -} diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-21_x.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-21_x.c deleted file mode 100644 index 3b01ba86eb1..00000000000 --- a/gcc/testsuite/gcc.dg/compat/struct-by-value-21_x.c +++ /dev/null @@ -1,168 +0,0 @@ -#include "compat-common.h" - -#define T(TYPE) \ -TYPE g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE; \ -TYPE g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE; \ -TYPE g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE; \ -TYPE g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE; \ - \ -extern void init##TYPE (TYPE *p, int i); \ -extern void checkg##TYPE (void); \ -extern void \ -test##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4, \ - TYPE s5, TYPE s6, TYPE s7, TYPE s8, \ - TYPE s9, TYPE s10, TYPE s11, TYPE s12, \ - TYPE s13, TYPE s14, TYPE s15, TYPE s16); \ -extern void testva##TYPE (int n, ...); \ - \ -void \ -test2_##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4, \ - TYPE s5, TYPE s6, TYPE s7, TYPE s8) \ -{ \ - test##TYPE (s1, g2s##TYPE, s2, g4s##TYPE, \ - s3, g6s##TYPE, s4, g8s##TYPE, \ - s5, g10s##TYPE, s6, g12s##TYPE, \ - s7, g14s##TYPE, s8, g16s##TYPE); \ -} \ - \ -void \ -testit##TYPE (void) \ -{ \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" init: "); \ - init##TYPE ( &g1s##TYPE, 1); \ - init##TYPE ( &g2s##TYPE, 2); \ - init##TYPE ( &g3s##TYPE, 3); \ - init##TYPE ( &g4s##TYPE, 4); \ - init##TYPE ( &g5s##TYPE, 5); \ - init##TYPE ( &g6s##TYPE, 6); \ - init##TYPE ( &g7s##TYPE, 7); \ - init##TYPE ( &g8s##TYPE, 8); \ - init##TYPE ( &g9s##TYPE, 9); \ - init##TYPE (&g10s##TYPE, 10); \ - init##TYPE (&g11s##TYPE, 11); \ - init##TYPE (&g12s##TYPE, 12); \ - init##TYPE (&g13s##TYPE, 13); \ - init##TYPE (&g14s##TYPE, 14); \ - init##TYPE (&g15s##TYPE, 15); \ - init##TYPE (&g16s##TYPE, 16); \ - checkg##TYPE (); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" test: "); \ - test##TYPE (g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" testva:"); \ - DEBUG_NL; \ - testva##TYPE (1, \ - g1s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (2, \ - g1s##TYPE, g2s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (3, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (4, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (5, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (6, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (7, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (8, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (9, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (10, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (11, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (12, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (13, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (14, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE, g14s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (15, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE, g14s##TYPE, g15s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (16, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" test2:"); \ - test2_##TYPE (g1s##TYPE, g3s##TYPE, g5s##TYPE, g7s##TYPE, \ - g9s##TYPE, g11s##TYPE, g13s##TYPE, g15s##TYPE); \ - DEBUG_NL; \ -} - -#include "mixed-struct-defs.h" -#include "mixed-struct-check.h" - -T(Sfi) -T(Sfii) -T(Sfifi) -T(Sfiifii) - -#undef T - -void -struct_by_value_21_x () -{ -DEBUG_INIT - -#define T(TYPE) testit##TYPE (); - -T(Sfi) -T(Sfii) -T(Sfifi) -T(Sfiifii) - -DEBUG_FINI - -if (fails != 0) - abort (); - -#undef T -} diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-21_y.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-21_y.c deleted file mode 100644 index fc06d9d4fce..00000000000 --- a/gcc/testsuite/gcc.dg/compat/struct-by-value-21_y.c +++ /dev/null @@ -1,86 +0,0 @@ -#include <stdarg.h> - -#include "compat-common.h" - -#ifdef SKIP_VA -const int test_va = 0; -#else -const int test_va = 1; -#endif - -#include "mixed-struct-defs.h" -#include "mixed-struct-init.h" - -#define T(TYPE) \ -extern void check##TYPE (TYPE x, int i); \ -extern TYPE g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE; \ -extern TYPE g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE; \ -extern TYPE g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE; \ -extern TYPE g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE; \ - \ -void \ -checkg##TYPE (void) \ -{ \ - check##TYPE ( g1s##TYPE, 1); \ - check##TYPE ( g2s##TYPE, 2); \ - check##TYPE ( g3s##TYPE, 3); \ - check##TYPE ( g4s##TYPE, 4); \ - check##TYPE ( g5s##TYPE, 5); \ - check##TYPE ( g6s##TYPE, 6); \ - check##TYPE ( g7s##TYPE, 7); \ - check##TYPE ( g8s##TYPE, 8); \ - check##TYPE ( g9s##TYPE, 9); \ - check##TYPE ( g10s##TYPE, 10); \ - check##TYPE ( g11s##TYPE, 11); \ - check##TYPE ( g12s##TYPE, 12); \ - check##TYPE ( g13s##TYPE, 13); \ - check##TYPE ( g14s##TYPE, 14); \ - check##TYPE ( g15s##TYPE, 15); \ - check##TYPE ( g16s##TYPE, 16); \ -} \ - \ -void \ -test##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4, \ - TYPE s5, TYPE s6, TYPE s7, TYPE s8, \ - TYPE s9, TYPE s10, TYPE s11, TYPE s12, \ - TYPE s13, TYPE s14, TYPE s15, TYPE s16) \ -{ \ - check##TYPE (s1, 1); \ - check##TYPE (s2, 2); \ - check##TYPE (s3, 3); \ - check##TYPE (s4, 4); \ - check##TYPE (s5, 5); \ - check##TYPE (s6, 6); \ - check##TYPE (s7, 7); \ - check##TYPE (s8, 8); \ - check##TYPE (s9, 9); \ - check##TYPE (s10, 10); \ - check##TYPE (s11, 11); \ - check##TYPE (s12, 12); \ - check##TYPE (s13, 13); \ - check##TYPE (s14, 14); \ - check##TYPE (s15, 15); \ - check##TYPE (s16, 16); \ -} \ - \ -void \ -testva##TYPE (int n, ...) \ -{ \ - int i; \ - va_list ap; \ - if (test_va) \ - { \ - va_start (ap, n); \ - for (i = 0; i < n; i++) \ - { \ - TYPE t = va_arg (ap, TYPE); \ - check##TYPE (t, i+1); \ - } \ - va_end (ap); \ - } \ -} - -T(Sfi) -T(Sfii) -T(Sfifi) -T(Sfiifii) diff --git a/gcc/testsuite/gcc.dg/compat/struct-return-21_main.c b/gcc/testsuite/gcc.dg/compat/struct-return-21_main.c deleted file mode 100644 index 34e0ab42996..00000000000 --- a/gcc/testsuite/gcc.dg/compat/struct-return-21_main.c +++ /dev/null @@ -1,13 +0,0 @@ -/* Test function return values. This was written when correcting - a deviation from the ABI on SPARC64 between 3.3 and 3.4. */ - -extern void struct_return_21_x (void); -extern void exit (int); -int fails; - -int -main () -{ - struct_return_21_x (); - exit (0); -} diff --git a/gcc/testsuite/gcc.dg/compat/struct-return-21_x.c b/gcc/testsuite/gcc.dg/compat/struct-return-21_x.c deleted file mode 100644 index 721deff036e..00000000000 --- a/gcc/testsuite/gcc.dg/compat/struct-return-21_x.c +++ /dev/null @@ -1,112 +0,0 @@ -#include "compat-common.h" - -#ifdef SKIP_VA -const int test_va = 0; -#else -const int test_va = 1; -#endif - -#define T(TYPE) \ -TYPE g01##TYPE, g02##TYPE, g03##TYPE, g04##TYPE; \ -TYPE g05##TYPE, g06##TYPE, g07##TYPE, g08##TYPE; \ -TYPE g09##TYPE, g10##TYPE, g11##TYPE, g12##TYPE; \ -TYPE g13##TYPE, g14##TYPE, g15##TYPE, g16##TYPE; \ - \ -extern void init##TYPE (TYPE *p, int i); \ -extern void checkg##TYPE (void); \ -extern TYPE test0##TYPE (void); \ -extern TYPE test1##TYPE (TYPE); \ -extern TYPE testva##TYPE (int n, ...); \ - \ -void \ -testit##TYPE (void) \ -{ \ - TYPE rslt; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" init: "); \ - init##TYPE (&g01##TYPE, 1); \ - init##TYPE (&g02##TYPE, 2); \ - init##TYPE (&g03##TYPE, 3); \ - init##TYPE (&g04##TYPE, 4); \ - init##TYPE (&g05##TYPE, 5); \ - init##TYPE (&g06##TYPE, 6); \ - init##TYPE (&g07##TYPE, 7); \ - init##TYPE (&g08##TYPE, 8); \ - init##TYPE (&g09##TYPE, 9); \ - init##TYPE (&g10##TYPE, 10); \ - init##TYPE (&g11##TYPE, 11); \ - init##TYPE (&g12##TYPE, 12); \ - init##TYPE (&g13##TYPE, 13); \ - init##TYPE (&g14##TYPE, 14); \ - init##TYPE (&g15##TYPE, 15); \ - init##TYPE (&g16##TYPE, 16); \ - checkg##TYPE (); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" test0: "); \ - rslt = test0##TYPE (); \ - check##TYPE (rslt, 1); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" test1: "); \ - rslt = test1##TYPE (g01##TYPE); \ - check##TYPE (rslt, 1); \ - if (test_va) \ - { \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" testva: "); \ - rslt = testva##TYPE (1, g01##TYPE); \ - check##TYPE (rslt, 1); \ - rslt = testva##TYPE (5, g01##TYPE, g02##TYPE, \ - g03##TYPE, g04##TYPE, \ - g05##TYPE); \ - check##TYPE (rslt, 5); \ - rslt = testva##TYPE (9, g01##TYPE, g02##TYPE, \ - g03##TYPE, g04##TYPE, \ - g05##TYPE, g06##TYPE, \ - g07##TYPE, g08##TYPE, \ - g09##TYPE); \ - check##TYPE (rslt, 9); \ - rslt = testva##TYPE (16, g01##TYPE, g02##TYPE, \ - g03##TYPE, g04##TYPE, \ - g05##TYPE, g06##TYPE, \ - g07##TYPE, g08##TYPE, \ - g09##TYPE, g10##TYPE, \ - g11##TYPE, g12##TYPE, \ - g13##TYPE, g14##TYPE, \ - g15##TYPE, g16##TYPE); \ - check##TYPE (rslt, 16); \ - } \ - DEBUG_NL; \ -} - -#include "mixed-struct-defs.h" -#include "mixed-struct-check.h" - -T(Sfi) -T(Sfii) -T(Sfifi) -T(Sfiifii) - -#undef T - -void -struct_return_21_x () -{ -DEBUG_INIT - -#define T(TYPE) testit##TYPE (); - -T(Sfi) -T(Sfii) -T(Sfifi) -T(Sfiifii) - -DEBUG_FINI - -if (fails != 0) - abort (); - -#undef T -} diff --git a/gcc/testsuite/gcc.dg/compat/struct-return-21_y.c b/gcc/testsuite/gcc.dg/compat/struct-return-21_y.c deleted file mode 100644 index b44d7f58e69..00000000000 --- a/gcc/testsuite/gcc.dg/compat/struct-return-21_y.c +++ /dev/null @@ -1,65 +0,0 @@ -#include <stdarg.h> - -#include "compat-common.h" - -#include "mixed-struct-defs.h" -#include "mixed-struct-init.h" - -#define T(TYPE) \ -extern TYPE g01##TYPE, g02##TYPE, g03##TYPE, g04##TYPE; \ -extern TYPE g05##TYPE, g06##TYPE, g07##TYPE, g08##TYPE; \ -extern TYPE g09##TYPE, g10##TYPE, g11##TYPE, g12##TYPE; \ -extern TYPE g13##TYPE, g14##TYPE, g15##TYPE, g16##TYPE; \ - \ -extern void check##TYPE (TYPE x, int i); \ - \ -void \ -checkg##TYPE (void) \ -{ \ - check##TYPE (g01##TYPE, 1); \ - check##TYPE (g02##TYPE, 2); \ - check##TYPE (g03##TYPE, 3); \ - check##TYPE (g04##TYPE, 4); \ - check##TYPE (g05##TYPE, 5); \ - check##TYPE (g06##TYPE, 6); \ - check##TYPE (g07##TYPE, 7); \ - check##TYPE (g08##TYPE, 8); \ - check##TYPE (g09##TYPE, 9); \ - check##TYPE (g10##TYPE, 10); \ - check##TYPE (g11##TYPE, 11); \ - check##TYPE (g12##TYPE, 12); \ - check##TYPE (g13##TYPE, 13); \ - check##TYPE (g14##TYPE, 14); \ - check##TYPE (g15##TYPE, 15); \ - check##TYPE (g16##TYPE, 16); \ -} \ - \ -TYPE \ -test0##TYPE (void) \ -{ \ - return g01##TYPE; \ -} \ - \ -TYPE \ -test1##TYPE (TYPE x01) \ -{ \ - return x01; \ -} \ - \ -TYPE \ -testva##TYPE (int n, ...) \ -{ \ - int i; \ - TYPE rslt; \ - va_list ap; \ - va_start (ap, n); \ - for (i = 0; i < n; i++) \ - rslt = va_arg (ap, TYPE); \ - va_end (ap); \ - return rslt; \ -} - -T(Sfi) -T(Sfii) -T(Sfifi) -T(Sfiifii) diff --git a/gcc/testsuite/gcc.dg/compat/union-by-value-1_main.c b/gcc/testsuite/gcc.dg/compat/union-by-value-1_main.c deleted file mode 100644 index cd9065920f6..00000000000 --- a/gcc/testsuite/gcc.dg/compat/union-by-value-1_main.c +++ /dev/null @@ -1,13 +0,0 @@ -/* Test function argument passing. This was written when correcting - a deviation from the ABI on SPARC64 between 3.3 and 3.4. */ - -extern void union_by_value_1_x (void); -extern void exit (int); -int fails; - -int -main () -{ - union_by_value_1_x (); - exit (0); -} diff --git a/gcc/testsuite/gcc.dg/compat/union-by-value-1_x.c b/gcc/testsuite/gcc.dg/compat/union-by-value-1_x.c deleted file mode 100644 index a3efd4ed7d8..00000000000 --- a/gcc/testsuite/gcc.dg/compat/union-by-value-1_x.c +++ /dev/null @@ -1,180 +0,0 @@ -#include "compat-common.h" - -#define T(TYPE) \ -TYPE g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE; \ -TYPE g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE; \ -TYPE g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE; \ -TYPE g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE; \ - \ -extern void init##TYPE (TYPE *p, int i); \ -extern void checkg##TYPE (void); \ -extern void \ -test##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4, \ - TYPE s5, TYPE s6, TYPE s7, TYPE s8, \ - TYPE s9, TYPE s10, TYPE s11, TYPE s12, \ - TYPE s13, TYPE s14, TYPE s15, TYPE s16); \ -extern void testva##TYPE (int n, ...); \ - \ -void \ -test2_##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4, \ - TYPE s5, TYPE s6, TYPE s7, TYPE s8) \ -{ \ - test##TYPE (s1, g2s##TYPE, s2, g4s##TYPE, \ - s3, g6s##TYPE, s4, g8s##TYPE, \ - s5, g10s##TYPE, s6, g12s##TYPE, \ - s7, g14s##TYPE, s8, g16s##TYPE); \ -} \ - \ -void \ -testit##TYPE (void) \ -{ \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" init: "); \ - init##TYPE ( &g1s##TYPE, 1); \ - init##TYPE ( &g2s##TYPE, 2); \ - init##TYPE ( &g3s##TYPE, 3); \ - init##TYPE ( &g4s##TYPE, 4); \ - init##TYPE ( &g5s##TYPE, 5); \ - init##TYPE ( &g6s##TYPE, 6); \ - init##TYPE ( &g7s##TYPE, 7); \ - init##TYPE ( &g8s##TYPE, 8); \ - init##TYPE ( &g9s##TYPE, 9); \ - init##TYPE (&g10s##TYPE, 10); \ - init##TYPE (&g11s##TYPE, 11); \ - init##TYPE (&g12s##TYPE, 12); \ - init##TYPE (&g13s##TYPE, 13); \ - init##TYPE (&g14s##TYPE, 14); \ - init##TYPE (&g15s##TYPE, 15); \ - init##TYPE (&g16s##TYPE, 16); \ - checkg##TYPE (); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" test: "); \ - test##TYPE (g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" testva:"); \ - DEBUG_NL; \ - testva##TYPE (1, \ - g1s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (2, \ - g1s##TYPE, g2s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (3, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (4, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (5, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (6, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (7, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (8, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (9, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (10, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (11, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (12, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (13, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (14, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE, g14s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (15, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE, g14s##TYPE, g15s##TYPE); \ - DEBUG_NL; \ - testva##TYPE (16, \ - g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \ - g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \ - g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \ - g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" test2:"); \ - test2_##TYPE (g1s##TYPE, g3s##TYPE, g5s##TYPE, g7s##TYPE, \ - g9s##TYPE, g11s##TYPE, g13s##TYPE, g15s##TYPE); \ - DEBUG_NL; \ -} - -#include "union-defs.h" -#include "union-check.h" - -T(Ucs) -T(Uci) -T(Ucl) -T(Ucll) -T(Usi) -T(Usl) -T(Usll) -T(Uil) -T(Uill) -T(Ulll) - -#undef T - -void -union_by_value_1_x () -{ -DEBUG_INIT - -#define T(TYPE) testit##TYPE (); - -T(Ucs) -T(Uci) -T(Ucl) -T(Ucll) -T(Usi) -T(Usl) -T(Usll) -T(Uil) -T(Uill) -T(Ulll) - -DEBUG_FINI - -if (fails != 0) - abort (); - -#undef T -} diff --git a/gcc/testsuite/gcc.dg/compat/union-by-value-1_y.c b/gcc/testsuite/gcc.dg/compat/union-by-value-1_y.c deleted file mode 100644 index b17613e9952..00000000000 --- a/gcc/testsuite/gcc.dg/compat/union-by-value-1_y.c +++ /dev/null @@ -1,92 +0,0 @@ -#include <stdarg.h> - -#include "compat-common.h" - -#ifdef SKIP_VA -const int test_va = 0; -#else -const int test_va = 1; -#endif - -#include "union-defs.h" -#include "union-init.h" - -#define T(TYPE) \ -extern void check##TYPE (TYPE x, int i); \ -extern TYPE g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE; \ -extern TYPE g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE; \ -extern TYPE g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE; \ -extern TYPE g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE; \ - \ -void \ -checkg##TYPE (void) \ -{ \ - check##TYPE ( g1s##TYPE, 1); \ - check##TYPE ( g2s##TYPE, 2); \ - check##TYPE ( g3s##TYPE, 3); \ - check##TYPE ( g4s##TYPE, 4); \ - check##TYPE ( g5s##TYPE, 5); \ - check##TYPE ( g6s##TYPE, 6); \ - check##TYPE ( g7s##TYPE, 7); \ - check##TYPE ( g8s##TYPE, 8); \ - check##TYPE ( g9s##TYPE, 9); \ - check##TYPE ( g10s##TYPE, 10); \ - check##TYPE ( g11s##TYPE, 11); \ - check##TYPE ( g12s##TYPE, 12); \ - check##TYPE ( g13s##TYPE, 13); \ - check##TYPE ( g14s##TYPE, 14); \ - check##TYPE ( g15s##TYPE, 15); \ - check##TYPE ( g16s##TYPE, 16); \ -} \ - \ -void \ -test##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4, \ - TYPE s5, TYPE s6, TYPE s7, TYPE s8, \ - TYPE s9, TYPE s10, TYPE s11, TYPE s12, \ - TYPE s13, TYPE s14, TYPE s15, TYPE s16) \ -{ \ - check##TYPE (s1, 1); \ - check##TYPE (s2, 2); \ - check##TYPE (s3, 3); \ - check##TYPE (s4, 4); \ - check##TYPE (s5, 5); \ - check##TYPE (s6, 6); \ - check##TYPE (s7, 7); \ - check##TYPE (s8, 8); \ - check##TYPE (s9, 9); \ - check##TYPE (s10, 10); \ - check##TYPE (s11, 11); \ - check##TYPE (s12, 12); \ - check##TYPE (s13, 13); \ - check##TYPE (s14, 14); \ - check##TYPE (s15, 15); \ - check##TYPE (s16, 16); \ -} \ - \ -void \ -testva##TYPE (int n, ...) \ -{ \ - int i; \ - va_list ap; \ - if (test_va) \ - { \ - va_start (ap, n); \ - for (i = 0; i < n; i++) \ - { \ - TYPE t = va_arg (ap, TYPE); \ - check##TYPE (t, i+1); \ - } \ - va_end (ap); \ - } \ -} - -T(Ucs) -T(Uci) -T(Ucl) -T(Ucll) -T(Usi) -T(Usl) -T(Usll) -T(Uil) -T(Uill) -T(Ulll) diff --git a/gcc/testsuite/gcc.dg/compat/union-check.h b/gcc/testsuite/gcc.dg/compat/union-check.h deleted file mode 100644 index b5157814d58..00000000000 --- a/gcc/testsuite/gcc.dg/compat/union-check.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Function definitions that are used by multiple tests. */ - -#define CHECK_CHAR(TYPE) \ - void check##TYPE (TYPE p, int i) \ - { if (p.c != (char)i) DEBUG_CHECK } - -CHECK_CHAR(Ucs) -CHECK_CHAR(Uci) -CHECK_CHAR(Ucl) -CHECK_CHAR(Ucll) - - -#define CHECK_SHORT(TYPE) \ - void check##TYPE (TYPE p, int i) \ - { if (p.s != (short)i) DEBUG_CHECK } - -CHECK_SHORT(Usi) -CHECK_SHORT(Usl) -CHECK_SHORT(Usll) - - -#define CHECK_INT(TYPE) \ - void check##TYPE (TYPE p, int i) \ - { if (p.i != i) DEBUG_CHECK } - -CHECK_INT(Uil) -CHECK_INT(Uill) - - -#define CHECK_LONG(TYPE) \ - void check##TYPE (TYPE p, int i) \ - { if (p.l != (long)i) DEBUG_CHECK } - -CHECK_LONG(Ulll) diff --git a/gcc/testsuite/gcc.dg/compat/union-defs.h b/gcc/testsuite/gcc.dg/compat/union-defs.h deleted file mode 100644 index 887cd6da8e8..00000000000 --- a/gcc/testsuite/gcc.dg/compat/union-defs.h +++ /dev/null @@ -1,15 +0,0 @@ -/* Type definitions that are used by multiple tests. */ - -typedef union { char c; short s; } Ucs; -typedef union { char c; int i; } Uci; -typedef union { char c; long l; } Ucl; -typedef union { char c; long long ll; } Ucll; - -typedef union { short s; int i; } Usi; -typedef union { short s; long l; } Usl; -typedef union { short s; long long ll; } Usll; - -typedef union { int i; long l; } Uil; -typedef union { int i; long long ll; } Uill; - -typedef union { long l; long long ll; } Ulll; diff --git a/gcc/testsuite/gcc.dg/compat/union-init.h b/gcc/testsuite/gcc.dg/compat/union-init.h deleted file mode 100644 index 5add7b4a800..00000000000 --- a/gcc/testsuite/gcc.dg/compat/union-init.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Function definitions that are used by multiple tests. */ - -#define INIT_CHAR(TYPE) \ - void init##TYPE (TYPE *p, int i) \ - { p->c = (char)i; } - -INIT_CHAR(Ucs) -INIT_CHAR(Uci) -INIT_CHAR(Ucl) -INIT_CHAR(Ucll) - - -#define INIT_SHORT(TYPE) \ - void init##TYPE (TYPE *p, int i) \ - { p->s = (short)i; } - -INIT_SHORT(Usi) -INIT_SHORT(Usl) -INIT_SHORT(Usll) - - -#define INIT_INT(TYPE) \ - void init##TYPE (TYPE *p, int i) \ - { p->i = i; } - -INIT_INT(Uil) -INIT_INT(Uill) - - -#define INIT_LONG(TYPE) \ - void init##TYPE (TYPE *p, int i) \ - { p->l = (long)i; } - -INIT_LONG(Ulll) diff --git a/gcc/testsuite/gcc.dg/compat/union-return-1_main.c b/gcc/testsuite/gcc.dg/compat/union-return-1_main.c deleted file mode 100644 index edf15166b95..00000000000 --- a/gcc/testsuite/gcc.dg/compat/union-return-1_main.c +++ /dev/null @@ -1,13 +0,0 @@ -/* Test function return values. This was written when correcting - a deviation from the ABI on SPARC64 between 3.3 and 3.4. */ - -extern void union_return_1_x (void); -extern void exit (int); -int fails; - -int -main () -{ - union_return_1_x (); - exit (0); -} diff --git a/gcc/testsuite/gcc.dg/compat/union-return-1_x.c b/gcc/testsuite/gcc.dg/compat/union-return-1_x.c deleted file mode 100644 index 761f000aa11..00000000000 --- a/gcc/testsuite/gcc.dg/compat/union-return-1_x.c +++ /dev/null @@ -1,124 +0,0 @@ -#include "compat-common.h" - -#ifdef SKIP_VA -const int test_va = 0; -#else -const int test_va = 1; -#endif - -#define T(TYPE) \ -TYPE g01##TYPE, g02##TYPE, g03##TYPE, g04##TYPE; \ -TYPE g05##TYPE, g06##TYPE, g07##TYPE, g08##TYPE; \ -TYPE g09##TYPE, g10##TYPE, g11##TYPE, g12##TYPE; \ -TYPE g13##TYPE, g14##TYPE, g15##TYPE, g16##TYPE; \ - \ -extern void init##TYPE (TYPE *p, int i); \ -extern void checkg##TYPE (void); \ -extern TYPE test0##TYPE (void); \ -extern TYPE test1##TYPE (TYPE); \ -extern TYPE testva##TYPE (int n, ...); \ - \ -void \ -testit##TYPE (void) \ -{ \ - TYPE rslt; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" init: "); \ - init##TYPE (&g01##TYPE, 1); \ - init##TYPE (&g02##TYPE, 2); \ - init##TYPE (&g03##TYPE, 3); \ - init##TYPE (&g04##TYPE, 4); \ - init##TYPE (&g05##TYPE, 5); \ - init##TYPE (&g06##TYPE, 6); \ - init##TYPE (&g07##TYPE, 7); \ - init##TYPE (&g08##TYPE, 8); \ - init##TYPE (&g09##TYPE, 9); \ - init##TYPE (&g10##TYPE, 10); \ - init##TYPE (&g11##TYPE, 11); \ - init##TYPE (&g12##TYPE, 12); \ - init##TYPE (&g13##TYPE, 13); \ - init##TYPE (&g14##TYPE, 14); \ - init##TYPE (&g15##TYPE, 15); \ - init##TYPE (&g16##TYPE, 16); \ - checkg##TYPE (); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" test0: "); \ - rslt = test0##TYPE (); \ - check##TYPE (rslt, 1); \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" test1: "); \ - rslt = test1##TYPE (g01##TYPE); \ - check##TYPE (rslt, 1); \ - if (test_va) \ - { \ - DEBUG_NL; \ - DEBUG_FPUTS (#TYPE); \ - DEBUG_FPUTS (" testva: "); \ - rslt = testva##TYPE (1, g01##TYPE); \ - check##TYPE (rslt, 1); \ - rslt = testva##TYPE (5, g01##TYPE, g02##TYPE, \ - g03##TYPE, g04##TYPE, \ - g05##TYPE); \ - check##TYPE (rslt, 5); \ - rslt = testva##TYPE (9, g01##TYPE, g02##TYPE, \ - g03##TYPE, g04##TYPE, \ - g05##TYPE, g06##TYPE, \ - g07##TYPE, g08##TYPE, \ - g09##TYPE); \ - check##TYPE (rslt, 9); \ - rslt = testva##TYPE (16, g01##TYPE, g02##TYPE, \ - g03##TYPE, g04##TYPE, \ - g05##TYPE, g06##TYPE, \ - g07##TYPE, g08##TYPE, \ - g09##TYPE, g10##TYPE, \ - g11##TYPE, g12##TYPE, \ - g13##TYPE, g14##TYPE, \ - g15##TYPE, g16##TYPE); \ - check##TYPE (rslt, 16); \ - } \ - DEBUG_NL; \ -} - -#include "union-defs.h" -#include "union-check.h" - -T(Ucs) -T(Uci) -T(Ucl) -T(Ucll) -T(Usi) -T(Usl) -T(Usll) -T(Uil) -T(Uill) -T(Ulll) - -#undef T - -void -union_return_1_x () -{ -DEBUG_INIT - -#define T(TYPE) testit##TYPE (); - -T(Ucs) -T(Uci) -T(Ucl) -T(Ucll) -T(Usi) -T(Usl) -T(Usll) -T(Uil) -T(Uill) -T(Ulll) - -DEBUG_FINI - -if (fails != 0) - abort (); - -#undef T -} diff --git a/gcc/testsuite/gcc.dg/compat/union-return-1_y.c b/gcc/testsuite/gcc.dg/compat/union-return-1_y.c deleted file mode 100644 index 9eaa9777e0a..00000000000 --- a/gcc/testsuite/gcc.dg/compat/union-return-1_y.c +++ /dev/null @@ -1,71 +0,0 @@ -#include <stdarg.h> - -#include "compat-common.h" - -#include "union-defs.h" -#include "union-init.h" - -#define T(TYPE) \ -extern TYPE g01##TYPE, g02##TYPE, g03##TYPE, g04##TYPE; \ -extern TYPE g05##TYPE, g06##TYPE, g07##TYPE, g08##TYPE; \ -extern TYPE g09##TYPE, g10##TYPE, g11##TYPE, g12##TYPE; \ -extern TYPE g13##TYPE, g14##TYPE, g15##TYPE, g16##TYPE; \ - \ -extern void check##TYPE (TYPE x, int i); \ - \ -void \ -checkg##TYPE (void) \ -{ \ - check##TYPE (g01##TYPE, 1); \ - check##TYPE (g02##TYPE, 2); \ - check##TYPE (g03##TYPE, 3); \ - check##TYPE (g04##TYPE, 4); \ - check##TYPE (g05##TYPE, 5); \ - check##TYPE (g06##TYPE, 6); \ - check##TYPE (g07##TYPE, 7); \ - check##TYPE (g08##TYPE, 8); \ - check##TYPE (g09##TYPE, 9); \ - check##TYPE (g10##TYPE, 10); \ - check##TYPE (g11##TYPE, 11); \ - check##TYPE (g12##TYPE, 12); \ - check##TYPE (g13##TYPE, 13); \ - check##TYPE (g14##TYPE, 14); \ - check##TYPE (g15##TYPE, 15); \ - check##TYPE (g16##TYPE, 16); \ -} \ - \ -TYPE \ -test0##TYPE (void) \ -{ \ - return g01##TYPE; \ -} \ - \ -TYPE \ -test1##TYPE (TYPE x01) \ -{ \ - return x01; \ -} \ - \ -TYPE \ -testva##TYPE (int n, ...) \ -{ \ - int i; \ - TYPE rslt; \ - va_list ap; \ - va_start (ap, n); \ - for (i = 0; i < n; i++) \ - rslt = va_arg (ap, TYPE); \ - va_end (ap); \ - return rslt; \ -} - -T(Ucs) -T(Uci) -T(Ucl) -T(Ucll) -T(Usi) -T(Usl) -T(Usll) -T(Uil) -T(Uill) -T(Ulll) diff --git a/gcc/testsuite/gcc.dg/const-cfstring-2.c b/gcc/testsuite/gcc.dg/const-cfstring-2.c new file mode 100644 index 00000000000..90475112453 --- /dev/null +++ b/gcc/testsuite/gcc.dg/const-cfstring-2.c @@ -0,0 +1,13 @@ +/* APPLE LOCAL file constant cfstrings */ +/* Test whether the __builtin__CFStringMakeConstantString + "function" fails gracefully when used without the + -fconstant-cfstrings flag. */ +/* Developed by Ziemowit Laski <zlaski@apple.com>. */ + +/* { dg-options "-fno-constant-cfstrings" } */ +/* { dg-do compile { target *-*-darwin* } } */ + +#include <CoreFoundation/CFBase.h> + +const CFStringRef S = ((CFStringRef)__builtin___CFStringMakeConstantString("Testing")); +/* { dg-error "built-in" "built-in function .* requires .* flag" { target *-*-* } 12 } */ diff --git a/gcc/testsuite/gcc.dg/cpp/c++98-pedantic.cc b/gcc/testsuite/gcc.dg/cpp/c++98-pedantic.cc new file mode 100644 index 00000000000..1e8c160a96f --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/c++98-pedantic.cc @@ -0,0 +1,11 @@ +/* APPLE LOCAL file rename for HFS */ +/* Copyright (C) 2000 Free Software Foundation, Inc. */ + +/* { dg-do preprocess } */ +/* { dg-options "-std=c++98 -pedantic" } */ + +/* This file is for testing the preprocessor in -std=c++98 -pedantic mode. + Neil Booth, 2 Dec 2000. */ + +#if 1LL /* { dg-warning "long long" } */ +#endif diff --git a/gcc/testsuite/gcc.dg/cpp/c++98.cc b/gcc/testsuite/gcc.dg/cpp/c++98.cc new file mode 100644 index 00000000000..a9843b878fd --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/c++98.cc @@ -0,0 +1,11 @@ +/* APPLE LOCAL file rename for HFS */ +/* Copyright (C) 2000 Free Software Foundation, Inc. */ + +/* { dg-do preprocess } */ +/* { dg-options "-std=c++98" } */ + +/* This file is for testing the preprocessor in -std=c++98 mode. + Neil Booth, 2 Dec 2000. */ + +#if 1LL +#endif diff --git a/gcc/testsuite/gcc.dg/cpp/endif-pedantic2.c b/gcc/testsuite/gcc.dg/cpp/endif-pedantic2.c index d5c6eb960e6..a5db0fbc80f 100644 --- a/gcc/testsuite/gcc.dg/cpp/endif-pedantic2.c +++ b/gcc/testsuite/gcc.dg/cpp/endif-pedantic2.c @@ -1,8 +1,8 @@ /* Copyright (C) 2002 Free Software Foundation, Inc. */ - /* { dg-do preprocess } */ /* { dg-options "-Wno-endif-labels -pedantic" } */ - +/* APPLE LOCAL No error emit by Apple's default, use -Wextra-tokens to enable */ +/* { dg-options "-Wextra-tokens -Wno-endif-labels -pedantic" { target *-apple-darwin* } } */ /* Tests combinations of -pedantic and -Wno-endif-labels; see extratokens2.c for more general tests. */ diff --git a/gcc/testsuite/gcc.dg/cpp/extratokens.c b/gcc/testsuite/gcc.dg/cpp/extratokens.c index c06a41d4c2b..e57374cef93 100644 --- a/gcc/testsuite/gcc.dg/cpp/extratokens.c +++ b/gcc/testsuite/gcc.dg/cpp/extratokens.c @@ -1,7 +1,8 @@ /* Copyright (C) 2000 Free Software Foundation, Inc. */ /* { dg-do preprocess } */ -/* { dg-options "-fno-show-column" } */ +/* APPLE LOCAL Wextra-tokens */ +/* { dg-options "-fno-show-column -Wextra-tokens" } */ /* Tests all directives that do not permit excess tokens at the end of the line. */ diff --git a/gcc/testsuite/gcc.dg/cpp/if-2.c b/gcc/testsuite/gcc.dg/cpp/if-2.c index 866d25c3a60..6630bf55d65 100644 --- a/gcc/testsuite/gcc.dg/cpp/if-2.c +++ b/gcc/testsuite/gcc.dg/cpp/if-2.c @@ -18,6 +18,8 @@ #endif #if 'abcd' /* { dg-warning "multi-character character constant" "multi-character charconst" } */ +# /* APPLE LOCAL enable the warning with the -Wfour-char-constants flag */ +# /* { dg-options "-Wfour-char-constants" { target *-apple-darwin* } } */ #endif #if 'abcdefghi' /* { dg-error "character constant (is )?too long" "charconst too long" } */ diff --git a/gcc/testsuite/gcc.dg/cpp/include2.c b/gcc/testsuite/gcc.dg/cpp/include2.c index 60edfccb0cd..e935703b614 100644 --- a/gcc/testsuite/gcc.dg/cpp/include2.c +++ b/gcc/testsuite/gcc.dg/cpp/include2.c @@ -1,10 +1,10 @@ /* Copyright (C) 2000 Free Software Foundation, Inc. */ /* { dg-do preprocess } */ - +/* APPLE LOCAL BEGIN Apple disable this warning by default */ /* Tests that #include does not allow the terminating '>' or '"' to be escaped, as per the standard. */ - +/* { dg-options "-Wextra-tokens" } */ /* Source: Neil Booth, 4 Nov 2000. */ #include <silly\>> /* { dg-warning "extra tokens" "" } */ @@ -13,4 +13,4 @@ /* These error is No such file or directory, just once. However, this message is locale-dependent, so don't test for it. */ /* { dg-error "silly" "" { target *-*-* } 10 } */ - +/* APPLE LOCAL END */ diff --git a/gcc/testsuite/gcc.dg/cpp/skipping2.c b/gcc/testsuite/gcc.dg/cpp/skipping2.c index 3b0d0f32c8e..21378003fe2 100644 --- a/gcc/testsuite/gcc.dg/cpp/skipping2.c +++ b/gcc/testsuite/gcc.dg/cpp/skipping2.c @@ -6,6 +6,9 @@ /* Source: Neil Booth, 25 Jul 2001. */ +/* APPLE LOCAL -Wextra-tokens required in Apple's compiler to elicit req'd warnings here */ +/* { dg-options "-Wextra-tokens" } */ + #if 0 #if foo #else foo /* { dg-bogus "extra tokens" "extra tokens in skipped block" } */ diff --git a/gcc/testsuite/gcc.dg/cpp/sysmac2.c b/gcc/testsuite/gcc.dg/cpp/sysmac2.c index 0d1efabdc07..19ddf6ccb94 100644 --- a/gcc/testsuite/gcc.dg/cpp/sysmac2.c +++ b/gcc/testsuite/gcc.dg/cpp/sysmac2.c @@ -1,7 +1,8 @@ /* Copyright (C) 2001 Free Software Foundation, Inc. */ /* { dg-do compile } */ -/* { dg-options "-std=gnu99 -pedantic -Wtraditional -fno-show-column" } */ +/* APPLE LOCAL -Wlong-double */ +/* { dg-options "-std=gnu99 -pedantic -Wtraditional -fno-show-column -Wno-long-double" } */ /* Tests diagnostics are suppressed for some macros defined in system headers. */ diff --git a/gcc/testsuite/gcc.dg/debug/20020220-1.c b/gcc/testsuite/gcc.dg/debug/20020220-1.c index 07109e86a98..21bdc22b62b 100644 --- a/gcc/testsuite/gcc.dg/debug/20020220-1.c +++ b/gcc/testsuite/gcc.dg/debug/20020220-1.c @@ -3,6 +3,8 @@ constant -4.0 in constant pool was never referenced by anything but Dwarf-2 location descriptor. */ /* { dg-do run } */ +/* APPLE LOCAL -Wlong-double */ +/* { dg-options "-Wno-long-double" } */ void __attribute__((noinline)) foo (const char *x __attribute__((unused)), diff --git a/gcc/testsuite/gcc.dg/debug/debug-1.c b/gcc/testsuite/gcc.dg/debug/debug-1.c index 8cc520dcd79..b6faed04519 100644 --- a/gcc/testsuite/gcc.dg/debug/debug-1.c +++ b/gcc/testsuite/gcc.dg/debug/debug-1.c @@ -1,7 +1,8 @@ /* Verify that the scheduler does not discard the lexical block. */ /* { dg-do compile } */ /* { dg-options "-dA" } */ -/* { dg-final { scan-assembler "xyzzy" } } */ +/* APPLE LOCAL xfail for Apple only, serena */ +/* { dg-final { scan-assembler "xyzzy" { xfail *-apple-darwin* } } } */ long p; diff --git a/gcc/testsuite/gcc.dg/debug/debug-2.c b/gcc/testsuite/gcc.dg/debug/debug-2.c index b164ff97734..f3a3cf80777 100644 --- a/gcc/testsuite/gcc.dg/debug/debug-2.c +++ b/gcc/testsuite/gcc.dg/debug/debug-2.c @@ -1,7 +1,8 @@ /* Verify that the scheduler does not discard the lexical block. */ /* { dg-do compile } */ /* { dg-options "-dA" } */ -/* { dg-final { scan-assembler "xyzzy" } } */ +/* APPLE LOCAL xfail for Apple only, serena */ +/* { dg-final { scan-assembler "xyzzy" { xfail *-apple-darwin* } } } */ long p; diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c deleted file mode 100644 index 39f0bf2792a..00000000000 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c +++ /dev/null @@ -1,8 +0,0 @@ -/* Verify that inline function never actually inlined has no abstract DIE. */ -/* { dg-do compile */ -/* { dg-options "-O2 -gdwarf-2 -dA" } */ -/* { dg-final { scan-assembler-not "DW_AT_inline" } } */ -inline int t() -{ -} -int (*q)()=t; diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c deleted file mode 100644 index 48bce243d41..00000000000 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c +++ /dev/null @@ -1,7 +0,0 @@ -/* Verify that inline function never actually emit has no DIE. */ -/* { dg-do compile */ -/* { dg-options "-O0 -gdwarf-2 -dA" } */ -/* { dg-final { scan-assembler-not "CIE Version" } } */ -static inline int t() -{ -} diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c deleted file mode 100644 index 34fddfaffc0..00000000000 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c +++ /dev/null @@ -1,11 +0,0 @@ -/* Verify that extern inline function never actually inlined has no abstract DIE. */ -/* { dg-do compile */ -/* { dg-options "-O0 -gdwarf-2 -dA" } */ -/* { dg-final { scan-assembler-not "DW_AT_inline" } } */ -extern inline int t() -{ -} -int (*q)()=t; -int t() -{ -} diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die5.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die5.c deleted file mode 100644 index b3a245d2b11..00000000000 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die5.c +++ /dev/null @@ -1,12 +0,0 @@ -/* Inlined inline function must have abstract DIE */ -/* { dg-do compile */ -/* { dg-options "-O2 -gdwarf-2 -dA -fpreprocessed" } */ -/* { dg-final { scan-assembler "3.*DW_AT_inline" } } */ -#1 "test.h" -inline int t() -{ -} -int q() -{ - t(); -} diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die6.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die6.c deleted file mode 100644 index 40cdc8dee37..00000000000 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die6.c +++ /dev/null @@ -1,12 +0,0 @@ -/* not inline inline function must not have abstract DIE */ -/* { dg-do compile */ -/* { dg-options "-O2 -fno-inline -gdwarf-2 -dA -fpreprocessed" } */ -/* { dg-final { scan-assembler-not "DW_AT_inline" } } */ -#1 "test.h" -inline int t() -{ -} -int q() -{ - t(); -} diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c deleted file mode 100644 index d8d013af38c..00000000000 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c +++ /dev/null @@ -1,14 +0,0 @@ -/* Inlined non-inline function must have abstract DIE */ -/* { dg-do compile */ -/* { dg-options "-O2 -gdwarf-2 -dA -fpreprocessed" } */ -/* { dg-final { scan-assembler "1.*DW_AT_inline" } } */ -#1 "test.h" -void f(void); -static int t() -{ - f(); -} -int q() -{ - t(); -} diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp deleted file mode 100644 index 6e3621db3ce..00000000000 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright (C) 2002 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# GCC testsuite that uses the `dg.exp' driver. - -# Load support procs. -load_lib gcc-dg.exp - -# If a testcase doesn't have special options, use these. -global DEFAULT_CFLAGS -if ![info exists DEFAULT_CFLAGS] then { - set DEFAULT_CFLAGS " -ansi -pedantic-errors -gdwarf-2" -} - -# Initialize `dg'. -dg-init - -# Main loop. -set comp_output [gcc_target_compile \ - "$srcdir/$subdir/../trivial.c" "trivial.S" assembly \ - "additional_flags=-gdwarf-2"] -if { ! [string match "*: target system does not support the * debug format*" \ - $comp_output] } { - dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ - "" $DEFAULT_CFLAGS -} - -# All done. -dg-finish diff --git a/gcc/testsuite/gcc.dg/dg.exp b/gcc/testsuite/gcc.dg/dg.exp index 14cf79d7e14..eb11a3a70c5 100644 --- a/gcc/testsuite/gcc.dg/dg.exp +++ b/gcc/testsuite/gcc.dg/dg.exp @@ -22,7 +22,7 @@ load_lib gcc-dg.exp # If a testcase doesn't have special options, use these. global DEFAULT_CFLAGS if ![info exists DEFAULT_CFLAGS] then { - set DEFAULT_CFLAGS " -ansi -pedantic-errors" + set DEFAULT_CFLAGS " -ansi -pedantic-errors -Wno-long-double" } # Initialize `dg'. diff --git a/gcc/testsuite/gcc.dg/format/c90-printf-1.c b/gcc/testsuite/gcc.dg/format/c90-printf-1.c index e4c18f76862..f2a566aa5fa 100644 --- a/gcc/testsuite/gcc.dg/format/c90-printf-1.c +++ b/gcc/testsuite/gcc.dg/format/c90-printf-1.c @@ -4,7 +4,8 @@ */ /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ /* { dg-do compile } */ -/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */ +/* APPLE LOCAL -Wlong-double */ +/* { dg-options "-std=iso9899:1990 -pedantic -Wformat -Wno-long-double" } */ #include "format.h" diff --git a/gcc/testsuite/gcc.dg/format/c90-scanf-1.c b/gcc/testsuite/gcc.dg/format/c90-scanf-1.c index ea42f1e131e..2a949f937a7 100644 --- a/gcc/testsuite/gcc.dg/format/c90-scanf-1.c +++ b/gcc/testsuite/gcc.dg/format/c90-scanf-1.c @@ -4,7 +4,8 @@ */ /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ /* { dg-do compile } */ -/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */ +/* APPLE LOCAL -Wlong-double */ +/* { dg-options "-std=iso9899:1990 -pedantic -Wformat -Wno-long-double" } */ #include "format.h" diff --git a/gcc/testsuite/gcc.dg/format/strfmon-1.c b/gcc/testsuite/gcc.dg/format/strfmon-1.c index d163751328c..94c68586f49 100644 --- a/gcc/testsuite/gcc.dg/format/strfmon-1.c +++ b/gcc/testsuite/gcc.dg/format/strfmon-1.c @@ -1,7 +1,8 @@ /* Test for strfmon format checking. */ /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ /* { dg-do compile } */ -/* { dg-options "-std=gnu99 -Wformat" } */ +/* APPLE LOCAL -Wlong-double */ +/* { dg-options "-std=gnu99 -Wformat -Wno-long-double" } */ #include "format.h" diff --git a/gcc/testsuite/gcc.dg/gnu89-dupqual-1.c b/gcc/testsuite/gcc.dg/gnu89-dupqual-1.c deleted file mode 100644 index 9bd1db01569..00000000000 --- a/gcc/testsuite/gcc.dg/gnu89-dupqual-1.c +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-std=gnu89 -Werror" } */ - -typedef const int CI; -const const int c1; /* { dg-bogus "duplicate" } */ -const CI c2; /* { dg-bogus "duplicate" } */ -const CI *c3; /* { dg-bogus "duplicate" } */ - -typedef volatile int VI; -volatile volatile int v1; /* { dg-bogus "duplicate" } */ -volatile VI v2; /* { dg-bogus "duplicate" } */ -volatile VI *v3; /* { dg-bogus "duplicate" } */ diff --git a/gcc/testsuite/gcc.dg/pch/apple-altivec-1.c b/gcc/testsuite/gcc.dg/pch/apple-altivec-1.c new file mode 100644 index 00000000000..7dc24c0d797 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pch/apple-altivec-1.c @@ -0,0 +1,126 @@ +/* APPLE LOCAL file AltiVec */ +/* { dg-do compile { target powerpc-*-darwin* } } */ +/* { dg-options "-faltivec -Wno-long-double -I." } */ + +#include "apple-altivec-1.h" + +/* Test for correct handling of AltiVec constants passed + through '...' (va_arg). */ + +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> + +#define CHECK_INVARIANT(expr) \ + if (!(expr)) { \ + printf ("ASSERT FAILED: %d: %s\n", __LINE__, #expr); \ + abort (); \ + } + +struct foo { int x; int y; }; +struct vfoo { int x; __vector signed int v; int y; }; +union u { __vector signed int v; signed int i[4]; }; + +struct foo x_g = { 3, 4}; +struct vfoo vx_g = { 10, (vector signed int)(11, 12, 13, 14), 15 }; +__vector signed int v_g = (vector signed int) (22, 23, 24, 25); +struct vfoo vx2_g = { 30, (vector signed int)(31, 32, 33, 34), 35 }; +__vector signed int v2_g = (vector signed int)(40, 41, 42, 43); +int i_1 = 99, i_2 = 33; +double d_2 = 1.5, d_3 = 1.75; +long double ld_1 = 1.25; + +void bar (int i, ... ) +{ + struct foo xi; + double d; + long double ld; + float f; + char c; + short s; + va_list ap; + va_start(ap, i); + xi = va_arg(ap, struct foo); + s = (short)va_arg(ap, int); + f = (float)va_arg(ap, double); + ld = va_arg(ap, long double); + c = (char)va_arg(ap, int); + d = va_arg(ap, double); + va_end(ap); + + CHECK_INVARIANT (xi.x == x_g.x && xi.y == x_g.y); + CHECK_INVARIANT (s == (short)i_2); + CHECK_INVARIANT (f == (float)d_2); + CHECK_INVARIANT (ld == ld_1); + CHECK_INVARIANT (c == (char)i_1); + CHECK_INVARIANT (d == d_3); +} + +void baz (int i, ... ) +{ + struct vfoo vx, vx2; + __vector signed int v_i, v2_i; + int j, k, l; + va_list ap; + va_start(ap, i); + v_i = va_arg(ap, __vector signed int); + j = va_arg(ap, int); + vx = va_arg(ap, struct vfoo); + k = va_arg(ap, int); + v2_i = va_arg(ap, __vector signed int); + l = va_arg(ap, int); + vx2 = va_arg(ap, struct vfoo); + va_end(ap); + + CHECK_INVARIANT (vec_all_eq (v_i, v_g)); + CHECK_INVARIANT (j == i_1); + CHECK_INVARIANT (vx.x == vx_g.x && vec_all_eq(vx.v, vx_g.v) && vx.y == vx_g.y); + CHECK_INVARIANT (k == i_1); + CHECK_INVARIANT (vec_all_eq (v2_i, v2_g)); + CHECK_INVARIANT (l == i_1); + CHECK_INVARIANT (vx2.x == vx2_g.x && vec_all_eq(vx2.v, vx2_g.v) && vx2.y == vx2_g.y); +} + +void quux (int i, ... ) +{ + __vector signed int v_i, v2_i; + union u vi, v2i; + va_list ap; + va_start(ap, i); + v_i = va_arg(ap, __vector signed int); + v2_i = va_arg(ap, __vector signed int); + va_end(ap); + vi.v = v_i; + v2i.v = v2_i; + + CHECK_INVARIANT (vec_all_eq (v_i, v_g)); + CHECK_INVARIANT (vec_all_eq (v2_i, v_g)); + CHECK_INVARIANT (vec_all_eq (vi.v, v_g)); + CHECK_INVARIANT (vec_all_eq (v2i.v, v_g)); +} + +void baz2 (int i, ... ) +{ + struct vfoo vx; + union u vxi; + va_list ap; + va_start(ap, i); + vx = va_arg(ap, struct vfoo); + va_end(ap); + vxi.v = vx.v; + + CHECK_INVARIANT (vx.x == vx_g.x && vec_all_eq(vx.v, vx_g.v) && vx.y == vx_g.y); + CHECK_INVARIANT (vec_all_eq (vxi.v, vx_g.v)); +} + +int main(void) +{ + CHECK_INVARIANT (sizeof(struct foo) == 8 && sizeof(struct vfoo) == 48); + + bar(i_1, x_g, (short)i_2, (float)d_2, ld_1, (char)i_1, d_3); + baz(i_1, v_g, i_1, vx_g, i_1, v2_g, i_1, vx2_g); + quux(i_1, v_g, v_g); + baz2(i_1, vx_g); + + return 0; +} diff --git a/gcc/testsuite/gcc.dg/pch/apple-altivec-1.hs b/gcc/testsuite/gcc.dg/pch/apple-altivec-1.hs new file mode 100644 index 00000000000..d31591ae112 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pch/apple-altivec-1.hs @@ -0,0 +1,2 @@ +/* APPLE LOCAL file AltiVec */ +/* { dg-options "-faltivec -Wno-long-double" } */ diff --git a/gcc/testsuite/gcc.dg/pr14289-1.c b/gcc/testsuite/gcc.dg/pr14289-1.c deleted file mode 100644 index 652916325c2..00000000000 --- a/gcc/testsuite/gcc.dg/pr14289-1.c +++ /dev/null @@ -1,12 +0,0 @@ -/* PR middle-end/14289 */ -/* { dg-do compile { target i?86-*-* } } */ -/* { dg-options "-O0" } */ - -register int a[2] asm("ebx"); - -void Nase(void) -{ - int i=6; - a[i]=5; /* { dg-error "address of global" } */ -} - diff --git a/gcc/testsuite/gcc.dg/pr14289-2.c b/gcc/testsuite/gcc.dg/pr14289-2.c deleted file mode 100644 index 7530b468cac..00000000000 --- a/gcc/testsuite/gcc.dg/pr14289-2.c +++ /dev/null @@ -1,12 +0,0 @@ -/* PR middle-end/14289 */ -/* { dg-do compile { target i?86-*-* } } */ -/* { dg-options "-O0" } */ - -static register int a[2] asm("ebx"); /* { dg-error "multiple storage" } */ - -void Nase(void) -{ - int i=6; - a[i]=5; /* { dg-error "address of global" } */ -} - diff --git a/gcc/testsuite/gcc.dg/pr14289-3.c b/gcc/testsuite/gcc.dg/pr14289-3.c deleted file mode 100644 index 7cfbf78ce05..00000000000 --- a/gcc/testsuite/gcc.dg/pr14289-3.c +++ /dev/null @@ -1,12 +0,0 @@ -/* PR middle-end/14289 */ -/* { dg-do compile { target i?86-*-* } } */ -/* { dg-options "-O0" } */ - -extern register int a[2] asm("ebx"); /* { dg-error "multiple storage" } */ - -void Nase(void) -{ - int i=6; - a[i]=5; /* { dg-error "address of global" } */ -} - diff --git a/gcc/testsuite/gcc.dg/ss/README b/gcc/testsuite/gcc.dg/ss/README new file mode 100644 index 00000000000..ca8a96a5483 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ss/README @@ -0,0 +1,17 @@ +APPLE LOCAL entire file + +This directory contains tests for Symbol Separation. + +Information about various files in this directory: + +README : This file +ss.exp : Driver for Symbol Separation tests +*.h : Normal header file +*.ssh : Header file is candidate for making separate + repository. This header is included in source + file as *.h. It will renamed on the fly during + test. + +*.c : Normal source file +*_part_2.c : Second source file associated with corrosponding + *.c source file. diff --git a/gcc/testsuite/gcc.dg/ss/one.c b/gcc/testsuite/gcc.dg/ss/one.c new file mode 100644 index 00000000000..866177926c9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ss/one.c @@ -0,0 +1,18 @@ +/* APPLE LOCAL entire file */ +/* Copyright (C) 2003 Free Software Foundation. + Contributed by Devang Patel <dpatel@apple.com> */ + +/* Test simple use of symbol repository. + Include file one.h is supplied as one.ssh in this directory, + so that ss.exp can pick it up as candidate for making + repository. */ +/* { dg-do assemble } */ + +#include "one.h" +int main () +{ + struct x_y_point a; + a.x = 0; + a.y = 0; + return 0; +} diff --git a/gcc/testsuite/gcc.dg/ss/one.ssh b/gcc/testsuite/gcc.dg/ss/one.ssh new file mode 100644 index 00000000000..57d77bbf06d --- /dev/null +++ b/gcc/testsuite/gcc.dg/ss/one.ssh @@ -0,0 +1,13 @@ +/* APPLE LOCAL entire file */ + +/* Copyright (C) 2003 Free Software Foundation. + Contributed by Devang Patel <dpatel@apple.com> */ + +/* Test simple use of symbol repository. + Part of one.c test. */ + +struct x_y_point +{ + int x; + int y; +}; diff --git a/gcc/testsuite/gcc.dg/ss/ss-cmd1.c b/gcc/testsuite/gcc.dg/ss/ss-cmd1.c new file mode 100644 index 00000000000..167d666f63e --- /dev/null +++ b/gcc/testsuite/gcc.dg/ss/ss-cmd1.c @@ -0,0 +1,10 @@ +/* APPLE LOCAL entire file */ +/* Copyright (C) 2003 Free Software Foundation. + Contributed by Devang Patel <dpatel@apple.com> */ +/* Test command line option -grepository */ +/* { dg-do compile } */ +/* { dg-options "-grepository" } */ +int main() +{ + return 0; +} diff --git a/gcc/testsuite/gcc.dg/ss/ss.exp b/gcc/testsuite/gcc.dg/ss/ss.exp new file mode 100644 index 00000000000..b393f973425 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ss/ss.exp @@ -0,0 +1,235 @@ +# APPLE LOCAL entire file +# Copyright (C) 1997, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# GCC testsuite for symbol separation interaction, +# that uses the `dg.exp' driver. + +# Load support procs. +load_lib gcc-dg.exp + +# Initialize `dg'. +dg-init + +# Get checksum (first field of BINCL and EXCL stab information +proc get_checksum {input_file search_string} { + + # Regular expression to extract hexadecimal word + set hexexp {[0-9a-fA-F]+} + + # Do nm on input_file and grep for search_string + catch {exec nm -ap $input_file >& $input_file.nm} + catch {exec grep "$search_string" $input_file.nm >& $input_file.grep} + + # Extract dummy-checksum from the grep result (first hexdecimal word) + # and save it in RESULT + set file_h [open $input_file.grep r] + while {[gets $file_h line] >= 0} { + # We expect only one line in file_h + regexp $hexexp $line RESULT + } + close $file_h + + # Clean up + catch { file delete "$input_file.nm" } + catch { file delete "$input_file.grep" } + + # Return check sum + return $RESULT +} + +set old_dg_do_what_default "${dg-do-what-default}" + +# Main loop. +foreach test [lsort [glob -nocomplain $srcdir/$subdir/*.c]] { + global runtests torture_without_loops dg-do-what-default + + # If we're only testing specific files and this isn't one of them, skip it. + if ![runtest_file_p $runtests $test] { + continue + } + + # [file tail name] returns part of name after last / + set nshort "$subdir/[file tail $test]" + set short_bname "[file rootname [file tail $test]]" + set bname "[file rootname $test]" + set hexexp {[0-9a-fA-F]+} + set ss_exp_debug 0 + + catch { file delete "$bname.h" } + catch { file delete "$bname.h.cinfo" } + catch { file delete "$bname.o" } + catch { file delete "$bname.h.o" } + + # We don't try to use the loop-optimizing options, since they are highly + # unlikely to make any difference to CINFO. + foreach flags $torture_without_loops { + verbose "Testing $nshort, $flags" 1 + + if {$ss_exp_debug == 1} { + puts "ss_exp_debug: various names" + puts "ss_exp_debug bname:"; puts $bname + puts "ss_exp_debug bname.ssh:"; puts $bname.ssh + puts "ss_exp_debug test:"; puts $test + puts "ss_exp_debug short_bname:"; puts $short_bname + } + + # 1) compile foo.h to create foo.cinfo and foo.h.o + if { [ file exists "$bname.ssh" ] } { + + # For the header files, the default is to make repository + set dg-do-what-default assemble + + # Header files are supplied using .ssh extension, so that we can + # identify candidates for makeing symbol repository. Get header copy + # with .h here. + file copy -force "$bname.ssh" "$bname.h" + file copy -force "$bname.ssh" "$short_bname.h" + + # Make repository + # This will create two output files, $short_bname.o and $short_h.cinfo + dg-test -keep-output "$bname.h" $flags "-fsave-repository=. " + + if { [ file exists "$short_bname.o" ] } { + file rename -force "$short_bname.o" "$bname.h.o" + + # Do nm on $bname.h.o and grep for "BINCL $bname.h" + # Extract dummy-checksum from the grep result and save it in RESULT1 + set RESULT1 [get_checksum $bname.h.o "BINCL $bname.h"] + + if {$ss_exp_debug == 1} { + puts "ss_exp_debug: RESULT1"; puts $RESULT1 + } + + pass "$nshort $flags Make Repository" + + } else { + set RESULT1 " " + fail "$nshort $flags Make Repository" + } + + if { [ file exists "$short_bname.h.cinfo" ] } { + + # 2) compile foo.c to create foo.o + dg-test -keep-output $test $flags "-I. -grepository -Winvalid-sr" + if { [ file exists "$short_bname.o" ] } { + + # Do nm on $bname.o and grep for "EXCL $bname.h" + # Extract dummy-checksum from the grep result and save it in RESULT2 + set RESULT2 [get_checksum $short_bname.o "EXCL $bname.h"] + + if {$ss_exp_debug == 1} { + puts "ss_exp_debug: RESULT2"; puts $RESULT2 + } + + pass "$nshort $flags Use symbol repository" + + } else { + set RESULT2 " " + fail "$nshort $flags Use symbol repository YES" + } + + + if { [ file exists "$bname.part_2.c" ] } { + + # 3) compile foo_part_2.c to create foo_part_2.o + dg-test -keep-output "$bname_part_2.c" $flags "-I. -grepository" + if { [ file exists "$short_bname_part_2.o" ] } { + + # Do nm on $bname_part_2.o and grep for "EXCL $bname.h" + # Extract dummy-checksum from the grep result and save it in RESULT3 + set RESULT3 [get_checksum $short_bname_part_2.o "EXCL $bname.h"] + + if {$ss_exp_debug == 1} { + puts "ss_exp_debug: RESULT3"; puts $RESULT3 + } + + pass "$nshort $flags Use symbol repository" + + } else { + set RESULT3 " " + fail "$nshort $flags Use symbol repository" + } + + # 4) Link foo.h.o foo.o and foo_part_2.o to create foo + set dg-do-what-default link + dg-test -keep-output "$bname.h.o" "$bname.o" "$bname_part_2.o" "-o $short_bname.out" + + # 5) do 'nm |grep ' on final assembler and save result in RES4 + # Do nm on $bname.out and grep for "EXCL $bname.h" + # Extract dummy-checksum from the grep result and save it in RESULT4 + set RESULT4 [get_checksum $short_bname.out "EXCL $bname.h"] + + # Do nm on $bname.out and grep for "BINCL $bname.h" + # Extract dummy-checksum from the grep result and save it in RESULT5 + set RESULT5 [get_checksum $short_bname.out "BINCL $bname.h"] + + if {$ss_exp_debug == 1} { + puts "ss_exp_debug: RESULT4"; puts $RESULT4 + puts "ss_exp_debug: RESULT5"; puts $RESULT5 + } + + pass "$nshort $flags symbol separation: linking" + + } else { + + # If we are not testing second part then set values so that comparison test succeeds + set RESULT3 $RESULT2 + set RESULT4 $RESULT2 + set RESULT5 $RESULT2 + if {$ss_exp_debug == 1} { + puts "ss_exp_debug: RESULT3"; puts $RESULT3 + puts "ss_exp_debug: RESULT4"; puts $RESULT4 + puts "ss_exp_debug: RESULT5"; puts $RESULT5 + } + } + + # 6) Compare RES1 and RES2 and RES3 and RES4 + if { ( $RESULT1 == $RESULT2 ) + && ( $RESULT1 == $RESULT3 ) + && ( $RESULT1 == $RESULT4 ) } { + pass "$nshort $flags symbol separation valid use test" + } else { + fail "$nshort $flags symbol separation valid use test" + } + if { ( $RESULT1 == $RESULT5 ) } { + pass "$nshort $flags symbol separation link test" + } else { + fail "$nshort $flags symbol separation link test" + } + + } else { + fail "$nshort $flags Make repository" + } + } else { + + # Normal test + set dg-do-what-default compile + dg-test -keep-output $test $flags "-I." + } + + # Clean up + catch { file delete "$bname.h" } + catch { file delete "$bname.h.cinfo" } + catch { file delete "$bname.o" } + catch { file delete "$bname.h.o" } + } +} + +set dg-do-what-default "$old_dg_do_what_default" + +# All done. +dg-finish diff --git a/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c b/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c deleted file mode 100644 index 1f2990dd2f0..00000000000 --- a/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright (C) 2004 Free Software Foundation. - - Verify that integral FP expressions are optimized. - - Written by Kaveh Ghazi, 2004-03-16. */ - -/* { dg-do link } */ -/* { dg-options "-ffast-math" } */ - -#define PROTOTYPE1(FN) extern double FN(double); extern float FN##f(float); \ - extern long double FN##l(long double); - -PROTOTYPE1(fabs) - -void test(int i1, int i2) -{ - /* Test that the various FP truncation builtins detect integral - arguments. */ -#define CHECK_FN(MATHFN) \ - PROTOTYPE1 (MATHFN) \ - extern void link_failure_##MATHFN(void); \ - extern void link_failure_##MATHFN##f(void); \ - extern void link_failure_##MATHFN##l(void); \ - if (MATHFN(i1) != i1) link_failure_##MATHFN(); \ - if (MATHFN##f(i1) != i1) link_failure_##MATHFN##f(); \ - if (MATHFN##l(i1) != i1) link_failure_##MATHFN##l(); \ - - CHECK_FN(ceil); - CHECK_FN(floor); - CHECK_FN(nearbyint); - CHECK_FN(rint); - CHECK_FN(round); - CHECK_FN(trunc); - - /* Check that various other integral expressions are detected. */ -#define CHECK_EXPR(EXPR,NAME) \ - extern void link_failure_##NAME(void); \ - if (ceill(EXPR) != (EXPR)) link_failure_##NAME(); \ - - CHECK_EXPR (5.0, REAL_CST); - CHECK_EXPR (5.0F, REAL_CSTf); - CHECK_EXPR (5.0L, REAL_CSTl); - CHECK_EXPR ((double)i1, FLOAT_EXPR); - CHECK_EXPR ((float)i1, FLOAT_EXPRf); - CHECK_EXPR ((long double)i1, FLOAT_EXPRl); - CHECK_EXPR (fabs(i1), ABS_EXPR); - CHECK_EXPR (fabsf(i1), ABS_EXPRf); - CHECK_EXPR (fabsl(i1), ABS_EXPRl); - CHECK_EXPR (((void)i1,(double)i2), COMPOUND_EXPR); - CHECK_EXPR ((double)i1+i2, PLUS_EXPR); - CHECK_EXPR ((double)i1-i2, MINUS_EXPR); - CHECK_EXPR ((double)i1*i2, MULT_EXPR); -} - -int main (void) -{ - return 0; -} diff --git a/gcc/testsuite/gcc.dg/torture/builtin-nonneg-1.c b/gcc/testsuite/gcc.dg/torture/builtin-nonneg-1.c deleted file mode 100644 index 80cf3e3c83b..00000000000 --- a/gcc/testsuite/gcc.dg/torture/builtin-nonneg-1.c +++ /dev/null @@ -1,172 +0,0 @@ -/* Copyright (C) 2004 Free Software Foundation. - - Verify that GCC can determine which built-in functions produce a - nonnegative result. - - Written by Kaveh Ghazi, 2004-03-10. */ - -/* { dg-do link } */ -/* { dg-options "-ffast-math" } */ - -#define PROTOTYPE_RTYPE(FN,RTYPE) extern RTYPE FN(double); \ - extern RTYPE FN##f(float); \ - extern RTYPE FN##l(long double); -#define PROTOTYPE(FN) extern double FN(double); extern float FN##f(float); \ - extern long double FN##l(long double); -#define PROTOTYPE2(FN) extern double FN(double, double); \ - extern float FN##f(float, float); \ - extern long double FN##l(long double, long double); -#define CPROTOTYPE1(FN) extern double FN(_Complex double); \ - extern float FN##f(_Complex float); \ - extern long double FN##l(_Complex long double); -#define CPROTOTYPE1(FN) extern double FN(_Complex double); \ - extern float FN##f(_Complex float); \ - extern long double FN##l(_Complex long double); -#define IPROTOTYPE(FN) extern int FN(int); extern int FN##l(long); \ - extern int FN##ll(long long); -#define PROTOTYPE2TYPE2(FN,A2TYPE) extern double FN(double, A2TYPE); \ - extern float FN##f(float, A2TYPE); \ - extern long double FN##l(long double, A2TYPE); -#define PROTOTYPE2_A2FPTR(FN) extern double FN(double, double *); \ - extern float FN##f(float, float *); \ - extern long double FN##l(long double, long double *); - -extern int signbit (double); -extern int signbitf (float); -extern int signbitl (long double); - -void test(double d1, double d2, float f1, float f2, - long double ld1, long double ld2) -{ - /* These are always nonnegative. */ - -#define TEST1(FN) \ - extern void link_failure_##FN (void); PROTOTYPE(FN) \ - if (signbit(FN(d1)) || signbitf(FN##f(f1)) || signbitl(FN##l(ld1))) \ - link_failure_##FN() - -#define TEST2(FN) \ - extern void link_failure_##FN (void); PROTOTYPE2(FN) \ - if (signbit(FN(d1,d2)) || signbitf(FN##f(f1,f2)) || signbitl(FN##l(ld1,ld2))) \ - link_failure_##FN() - -#define CTEST1(FN) \ - extern void link_failure_##FN (void); CPROTOTYPE1(FN) \ - if (signbit(FN(d1)) || signbitf(FN##f(f1)) || signbitl(FN##l(ld1))) \ - link_failure_##FN() - -#define ITEST1(FN) \ - extern void link_failure_##FN (void); IPROTOTYPE(FN) \ - if (signbit(FN(d1)) || signbitf(FN##l(f1)) || signbitl(FN##ll(ld1))) \ - link_failure_##FN() - - TEST1 (acos); - TEST1 (acosh); - CTEST1 (cabs); - TEST1 (cosh); - TEST1 (erfc); - TEST1 (exp); - TEST1 (exp10); - TEST1 (exp2); - TEST1 (fabs); - TEST2 (fdim); - TEST2 (hypot); - TEST1 (pow10); - TEST1 (sqrt); - ITEST1 (ffs); - ITEST1 (__builtin_parity); - ITEST1 (__builtin_popcount); - - /* These are nonnegative if the first argument is. */ -#define ARG1TEST1(FN) \ - extern void link_failure_##FN (void); PROTOTYPE(FN) \ - if (signbit(FN(fabs(d1))) || signbitf(FN##f(fabsf(f1))) \ - || signbitl(FN##l(fabsl(ld1)))) \ - link_failure_##FN() - - /* Same, but allow specifying the return type. */ -#define ARG1TEST1_RTYPE(FN,RTYPE) \ - extern void link_failure_##FN (void); PROTOTYPE_RTYPE(FN,RTYPE) \ - if (signbit(FN(fabs(d1))) || signbitf(FN##f(fabsf(f1))) \ - || signbitl(FN##l(fabsl(ld1)))) \ - link_failure_##FN() - - /* These are nonnegative if the first argument is. */ -#define ARG1TEST2(FN) \ - extern void link_failure_##FN (void); PROTOTYPE2(FN) \ - if (signbit(FN(fabs(d1),d2)) || signbitf(FN##f(fabsf(f1),f2)) \ - || signbitl(FN##l(fabsl(ld1),ld2))) \ - link_failure_##FN() - - /* These are nonnegative if the second argument is. */ -#define ARG2TEST2(FN) \ - extern void link_failure_##FN (void); PROTOTYPE2(FN) \ - if (signbit(FN(d1,fabs(d2))) || signbitf(FN##f(f1,fabsf(f2))) \ - || signbitl(FN##l(ld1,fabsl(ld2)))) \ - link_failure_##FN() - - /* These are nonnegative if the first OR second argument is. */ -#define ARG2TESTor(FN) \ - extern void link_failure_##FN (void); PROTOTYPE2(FN) \ - if (signbit(FN(fabs(d1),d2)) || signbitf(FN##f(fabsf(f1),f2)) \ - || signbitl(FN##l(fabsl(ld1),ld2)) || signbit(FN(d1,fabs(d2))) \ - || signbitf(FN##f(f1,fabsf(f2))) || signbitl(FN##l(ld1,fabsl(ld2)))) \ - link_failure_##FN() - - /* These are nonnegative if the first AND second argument is. */ -#define ARG2TESTand(FN) \ - extern void link_failure_##FN (void); PROTOTYPE2(FN) \ - if (signbit(FN(fabs(d1),fabs(d2))) || signbitf(FN##f(fabsf(f1),fabsf(f2))) \ - || signbitl(FN##l(fabsl(ld1),fabsl(ld2)))) \ - link_failure_##FN() - - /* These are nonnegative if the first argument is, 2nd arg is int. */ -#define ARG2TEST1_A2INT(FN) \ - extern void link_failure_##FN (void); PROTOTYPE2TYPE2(FN, int) \ - if (signbit(FN(fabs(d1),d2)) || signbitf(FN##f(fabsf(f1),f2)) \ - || signbitl(FN##l(fabsl(ld1),ld2))) \ - link_failure_##FN() - - /* These are nonnegative if the first argument is, specify 2nd arg. */ -#define ARG2TEST1_A2FPTR(FN) \ - extern void link_failure_##FN (void); PROTOTYPE2_A2FPTR(FN) \ - if (signbit(FN(fabs(d1),&d2)) || signbitf(FN##f(fabsf(f1),&f2)) \ - || signbitl(FN##l(fabsl(ld1),&ld2))) \ - link_failure_##FN() - - ARG1TEST1 (asinh); - ARG1TEST1 (atan); - ARG1TEST1 (atanh); - ARG1TEST1 (cbrt); - ARG1TEST1 (ceil); - ARG1TEST1 (erf); - ARG1TEST1 (expm1); - ARG1TEST1 (floor); - ARG1TEST2 (fmod); - ARG2TEST1_A2INT (ldexp); - ARG1TEST1_RTYPE (llrint, long long); - ARG1TEST1_RTYPE (llround, long long); - ARG1TEST1_RTYPE (lrint, long); - ARG1TEST1_RTYPE (lround, long); - /* The modf* functions aren't ever "const" or "pure" even with - -ffast-math so they won't be eliminated and yield a link failure. */ - /* ARG2TEST1_A2FPTR (modf);*/ - ARG1TEST1 (nearbyint); - ARG1TEST2 (pow); - ARG1TEST1 (rint); - ARG1TEST1 (round); - ARG1TEST1_RTYPE (signbit, int); - ARG1TEST1 (sinh); - ARG1TEST1 (tanh); - ARG1TEST1 (trunc); - - ARG2TESTor (fmax); - ARG2TESTand (fmin); - ARG2TEST2 (copysign); - -} - -int main (void) -{ - return 0; -} diff --git a/gcc/testsuite/gcc.dg/typespec-1.c b/gcc/testsuite/gcc.dg/typespec-1.c index 1acaaf73676..a0e0c1a9992 100644 --- a/gcc/testsuite/gcc.dg/typespec-1.c +++ b/gcc/testsuite/gcc.dg/typespec-1.c @@ -11,7 +11,8 @@ not requiring -pedantic. */ /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ /* { dg-do compile } */ -/* { dg-options "-std=gnu99" } */ +/* APPLE LOCAL -Wlong-double */ +/* { dg-options "-std=gnu99 -Wno-long-double" } */ typedef char type; void *x0; diff --git a/gcc/testsuite/gcc.dg/va-arg-2.c b/gcc/testsuite/gcc.dg/va-arg-2.c index 2e2849c1528..5140545f121 100644 --- a/gcc/testsuite/gcc.dg/va-arg-2.c +++ b/gcc/testsuite/gcc.dg/va-arg-2.c @@ -6,7 +6,10 @@ #include <varargs.h> /* { dg-bogus "varargs.h" "missing file" } */ /* { dg-error "" "In file included from" { target *-*-* } 6 } */ -/* { dg-error "no longer implements" "#error 1" { target *-*-* } 4 } */ -/* { dg-error "Revise your code" "#error 2" { target *-*-* } 5 } */ + +/* APPLE LOCAL BEGIN - varargs.h changes to line numbers hartoog@apple.com */ +/* { dg-error "no longer implements" "#error 1" { target *-*-* } 10 } */ +/* { dg-error "Revise your code" "#error 2" { target *-*-* } 11 } */ +/* APPLE LOCAL END - varargs.h changes to line numbers hartoog@apple.com */ int x; /* prevent empty-source-file warning */ diff --git a/gcc/testsuite/gcc.dg/verbose-asm-2.c b/gcc/testsuite/gcc.dg/verbose-asm-2.c new file mode 100644 index 00000000000..4a8b1b45972 --- /dev/null +++ b/gcc/testsuite/gcc.dg/verbose-asm-2.c @@ -0,0 +1,13 @@ +/* APPLE LOCAL entire file */ +/* Test whether -fverbose-asm emits option values. */ +/* Contibuted by Devang Patel <dpatel@apple.com>. */ + +/* { dg-do compile } */ +/* { dg-options "-fverbose-asm" } */ +/* { dg-final { scan-assembler "fpeephole=0" } } */ + +int +main (int argc, char *argv []) +{ + return 0; +} diff --git a/gcc/testsuite/gcc.dg/wtr-conversion-1.c b/gcc/testsuite/gcc.dg/wtr-conversion-1.c index 18d26165f2a..b133ff1e8c4 100644 --- a/gcc/testsuite/gcc.dg/wtr-conversion-1.c +++ b/gcc/testsuite/gcc.dg/wtr-conversion-1.c @@ -2,7 +2,8 @@ Note, gcc should omit these warnings in system header files. By Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4/09/2001. */ /* { dg-do compile } */ -/* { dg-options "-Wtraditional" } */ +/* APPLE LOCAL -Wlong-double */ +/* { dg-options "-Wtraditional -Wno-long-double" } */ extern void foo_i (int); extern void foo_f (float); |