From 8f3fc4aa8dd1aa69f442fc57b1c53f64e5607787 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Fri, 15 Dec 2006 21:41:58 +0000 Subject: [PATCH] re PR testsuite/30179 (FAIL: gcc.c-torture/execute/mode-dependent-address.c compilation, -O0) PR testsuite/30179 PR testsuite/30180 * gcc.dg/builtin-bswap-1.c: Require stdint_types. * gcc.dg/builtin-bswap-2.c: Likewise. * gcc.dg/builtin-bswap-3.c: Likewise. * gcc.dg/builtin-bswap-4.c: Likewise. * lib/target-supports.exp (check_effective_target_stdint_types): New. * cc.c-torture/execute/mode-dependent-address.x: New file. From-SVN: r119945 --- gcc/testsuite/ChangeLog | 11 +++++++++++ .../gcc.c-torture/execute/mode-dependent-address.x | 7 +++++++ gcc/testsuite/gcc.dg/builtin-bswap-1.c | 1 + gcc/testsuite/gcc.dg/builtin-bswap-2.c | 1 + gcc/testsuite/gcc.dg/builtin-bswap-3.c | 1 + gcc/testsuite/gcc.dg/builtin-bswap-4.c | 1 + gcc/testsuite/lib/target-supports.exp | 11 +++++++++++ 7 files changed, 33 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/execute/mode-dependent-address.x diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 330e62a8e46d..d117169b77b9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2006-12-15 John David Anglin + + PR testsuite/30179 + PR testsuite/30180 + * gcc.dg/builtin-bswap-1.c: Require stdint_types. + * gcc.dg/builtin-bswap-2.c: Likewise. + * gcc.dg/builtin-bswap-3.c: Likewise. + * gcc.dg/builtin-bswap-4.c: Likewise. + * lib/target-supports.exp (check_effective_target_stdint_types): New. + * cc.c-torture/execute/mode-dependent-address.x: New file. + 2006-12-15 Jerry DeLisle PR libfortran/30145 diff --git a/gcc/testsuite/gcc.c-torture/execute/mode-dependent-address.x b/gcc/testsuite/gcc.c-torture/execute/mode-dependent-address.x new file mode 100644 index 000000000000..6622e71f35cd --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/mode-dependent-address.x @@ -0,0 +1,7 @@ +load_lib target-supports.exp + +if { ! [check_effective_target_stdint_types] } { + return 1 +} + +return 0 diff --git a/gcc/testsuite/gcc.dg/builtin-bswap-1.c b/gcc/testsuite/gcc.dg/builtin-bswap-1.c index 02912db5a0d6..6b4a805536ce 100644 --- a/gcc/testsuite/gcc.dg/builtin-bswap-1.c +++ b/gcc/testsuite/gcc.dg/builtin-bswap-1.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target stdint_types } */ /* { dg-options "" } */ /* { dg-final { scan-assembler-not "__builtin_" } } */ diff --git a/gcc/testsuite/gcc.dg/builtin-bswap-2.c b/gcc/testsuite/gcc.dg/builtin-bswap-2.c index f601056db22e..745fed9d164e 100644 --- a/gcc/testsuite/gcc.dg/builtin-bswap-2.c +++ b/gcc/testsuite/gcc.dg/builtin-bswap-2.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target stdint_types } */ /* { dg-options "" } */ #include diff --git a/gcc/testsuite/gcc.dg/builtin-bswap-3.c b/gcc/testsuite/gcc.dg/builtin-bswap-3.c index 3416d65085d9..031817e780f0 100644 --- a/gcc/testsuite/gcc.dg/builtin-bswap-3.c +++ b/gcc/testsuite/gcc.dg/builtin-bswap-3.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target stdint_types } */ /* { dg-options "" } */ #include diff --git a/gcc/testsuite/gcc.dg/builtin-bswap-4.c b/gcc/testsuite/gcc.dg/builtin-bswap-4.c index d14358e2dedb..03e190ad782f 100644 --- a/gcc/testsuite/gcc.dg/builtin-bswap-4.c +++ b/gcc/testsuite/gcc.dg/builtin-bswap-4.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target stdint_types } */ /* { dg-options "-Wall" } */ #include diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 9bf619359cbc..4c99345c866a 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2044,3 +2044,14 @@ proc check_effective_target_string_merging { } { const char *var = "String"; } {-O2}] } + +# Return 1 if target has the basic signed and unsigned types in +# , 0 otherwise. + +proc check_effective_target_stdint_types { } { + return [check_no_compiler_messages stdint_types assembly { + #include + int8_t a; int16_t b; int32_t c; int64_t d; + uint8_t e; uint16_t f; uint32_t g; uint64_t h; + }] +}