diff options
author | Kai Tietz <kai.tietz@onevision.com> | 2008-10-01 07:38:53 +0000 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2008-10-01 09:38:53 +0200 |
commit | 7ec594452610102891d3a8e01c6b4b2440adffd6 (patch) | |
tree | 71e39a990d3b9b554ea818a4804e9eebe5c2b190 /gcc | |
parent | 40ed87f7a5476ba2045faed6cffb440ee56da638 (diff) | |
download | gcc-7ec594452610102891d3a8e01c6b4b2440adffd6.zip gcc-7ec594452610102891d3a8e01c6b4b2440adffd6.tar.gz gcc-7ec594452610102891d3a8e01c6b4b2440adffd6.tar.bz2 |
offsetof.C (main): Use __SIZE_TYPE__ instead of unsigned long for pointer cast.
2008-10-01 Kai Tietz <kai.tietz@onevision.com>
* g++.dg/abi/offsetof.C (main): Use __SIZE_TYPE__ instead of
unsigned long for pointer cast.
* g++.dg/init/struct1.C: Likewise.
* g++.dg/init/struct2.C: Likewise.
* g++.dg/init/struct3.C: Likewise.
* g++.dg/ext/utf-cvt.C: Correct for w64.
* gcc.dg/utf-cvt.c: Likewise.
* lib/target-supports.exp (check_effective_target_llp64): New.
From-SVN: r140807
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/abi/offsetof.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/ext/utf-cvt.C | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/init/struct1.C | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/init/struct2.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/init/struct3.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/utf-cvt.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 12 |
8 files changed, 32 insertions, 9 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b027a4c..755a970 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2008-10-01 Kai Tietz <kai.tietz@onevision.com> + + * g++.dg/abi/offsetof.C (main): Use __SIZE_TYPE__ instead of + unsigned long for pointer cast. + * g++.dg/init/struct1.C: Likewise. + * g++.dg/init/struct2.C: Likewise. + * g++.dg/init/struct3.C: Likewise. + * g++.dg/ext/utf-cvt.C: Correct for w64. + * gcc.dg/utf-cvt.c: Likewise. + * lib/target-supports.exp (check_effective_target_llp64): New. + 2008-09-30 Simon Martin <simartin@users.sourceforge.net> PR c++/37555 diff --git a/gcc/testsuite/g++.dg/abi/offsetof.C b/gcc/testsuite/g++.dg/abi/offsetof.C index 0085e57..d6a53e6 100644 --- a/gcc/testsuite/g++.dg/abi/offsetof.C +++ b/gcc/testsuite/g++.dg/abi/offsetof.C @@ -18,5 +18,5 @@ struct C: public B { }; int main () { - return ((unsigned long) &((C*)0)->i) != sizeof(void*); // { dg-warning "offsetof|invalid" "" } + return ((__SIZE_TYPE__) &((C*)0)->i) != sizeof(void*); // { dg-warning "offsetof|invalid" "" } } diff --git a/gcc/testsuite/g++.dg/ext/utf-cvt.C b/gcc/testsuite/g++.dg/ext/utf-cvt.C index 3ebc3a1..286a0d0 100644 --- a/gcc/testsuite/g++.dg/ext/utf-cvt.C +++ b/gcc/testsuite/g++.dg/ext/utf-cvt.C @@ -46,8 +46,8 @@ void m(char16_t c0, char32_t c1) f_i (c1); /* { dg-warning "change the sign" } */ fsi (c1); /* { dg-warning "change the sign" } */ fui (c1); - f_l (c1); /* { dg-warning "change the sign" "" { target { ilp32 } } } */ - fsl (c1); /* { dg-warning "change the sign" "" { target { ilp32 } } } */ + f_l (c1); /* { dg-warning "change the sign" "" { target { llp64 || ilp32 } } } */ + fsl (c1); /* { dg-warning "change the sign" "" { target { llp64 || ilp32 } } } */ ful (c1); f_ll (c1); fsll (c1); diff --git a/gcc/testsuite/g++.dg/init/struct1.C b/gcc/testsuite/g++.dg/init/struct1.C index 4cabc99..e23faef 100644 --- a/gcc/testsuite/g++.dg/init/struct1.C +++ b/gcc/testsuite/g++.dg/init/struct1.C @@ -1,6 +1,6 @@ struct bug { const char *name; - unsigned long type; + __SIZE_TYPE__ type; }; -struct bug s = { 0, (unsigned long) &s | 1 }; +struct bug s = { 0, (__SIZE_TYPE__) &s | 1 }; diff --git a/gcc/testsuite/g++.dg/init/struct2.C b/gcc/testsuite/g++.dg/init/struct2.C index d7d07b5..85aacc6 100644 --- a/gcc/testsuite/g++.dg/init/struct2.C +++ b/gcc/testsuite/g++.dg/init/struct2.C @@ -15,7 +15,7 @@ void saveOrLoad() { }; SaveLoadEntry trackEntries = { - ((long) (&((Track *) 42)->soundName[0])) - 42, + ((long) (__SIZE_TYPE__) (&((Track *) 42)->soundName[0])) - 42, 0, 1 }; saveLoadEntries(&trackEntries); diff --git a/gcc/testsuite/g++.dg/init/struct3.C b/gcc/testsuite/g++.dg/init/struct3.C index 6b1805c..53804b3 100644 --- a/gcc/testsuite/g++.dg/init/struct3.C +++ b/gcc/testsuite/g++.dg/init/struct3.C @@ -12,4 +12,4 @@ struct SaveLoadEntry { int size; }; -int foobar = ((long) (& ((Track *) 42)->soundName[0])) - 42; +int foobar = ((long) (__SIZE_TYPE__) (& ((Track *) 42)->soundName[0])) - 42; diff --git a/gcc/testsuite/gcc.dg/utf-cvt.c b/gcc/testsuite/gcc.dg/utf-cvt.c index 5c39644..6a69310 100644 --- a/gcc/testsuite/gcc.dg/utf-cvt.c +++ b/gcc/testsuite/gcc.dg/utf-cvt.c @@ -50,8 +50,8 @@ void m (char16_t c0, char32_t c1) f_i (c1); /* { dg-warning "change the sign" } */ fsi (c1); /* { dg-warning "change the sign" } */ fui (c1); - f_l (c1); /* { dg-warning "change the sign" "" { target { ilp32 } } } */ - fsl (c1); /* { dg-warning "change the sign" "" { target { ilp32 } } } */ + f_l (c1); /* { dg-warning "change the sign" "" { target { llp64 || ilp32 } } } */ + fsl (c1); /* { dg-warning "change the sign" "" { target { llp64 || ilp32 } } } */ ful (c1); f_ll (c1); fsll (c1); diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index a5e03bf..3d118af 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1057,6 +1057,18 @@ proc check_effective_target_lp64 { } { }] } +# Return 1 if we're generating 64-bit code using default llp64 options, +# 0 otherwise. + +proc check_effective_target_llp64 { } { + return [check_no_compiler_messages llp64 object { + int dummy[sizeof (int) == 4 + && sizeof (void *) == 8 + && sizeof (long long) == 8 + && sizeof (long) == 4 ? 1 : -1]; + }] +} + # Return 1 if the target supports long double larger than double, # 0 otherwise. |