https://gcc.gnu.org/g:7a4b0cec47e4a3c0466c9f8ea89e66c9b8f39e85
commit r16-7452-g7a4b0cec47e4a3c0466c9f8ea89e66c9b8f39e85 Author: Jonathan Yong <[email protected]> Date: Wed Feb 11 05:49:57 2026 +0000 Make some C++ tests account for llp64 targets Fix spurious warnings with mingw-w64. gcc/testsuite/ChangeLog: * g++.dg/expr/cast11.C: Cast to intptr_t instead of long. * g++.dg/opt/pr55717.C: Ditto. * g++.dg/warn/Wunused-value-1.C: Ditto. Signed-off-by: Jonathan Yong <[email protected]> Diff: --- gcc/testsuite/g++.dg/expr/cast11.C | 4 +++- gcc/testsuite/g++.dg/opt/pr55717.C | 3 ++- gcc/testsuite/g++.dg/warn/Wunused-value-1.C | 10 ++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/g++.dg/expr/cast11.C b/gcc/testsuite/g++.dg/expr/cast11.C index baafebb3c73c..77d6e5facc45 100644 --- a/gcc/testsuite/g++.dg/expr/cast11.C +++ b/gcc/testsuite/g++.dg/expr/cast11.C @@ -10,6 +10,8 @@ template<typename T> void g(T const&&) { } struct B { int i; const char c; } b = {}; +typedef __INTPTR_TYPE__ intptr_t; + void f1() { int i = 0; @@ -19,7 +21,7 @@ void f1() f((long* const)&i); // { dg-warning "5:type qualifiers ignored" } f(static_cast<long const>(i)); // { dg-warning "5:type qualifiers ignored" } - f(reinterpret_cast<long const>(&i)); // { dg-warning "5:type qualifiers ignored" } + f(reinterpret_cast<intptr_t const>(&i)); // { dg-warning "5:type qualifiers ignored" } f(static_cast<int* const>(&i)); // { dg-warning "5:type qualifiers ignored" } f(const_cast<int* const>(&i)); // { dg-warning "5:type qualifiers ignored" } diff --git a/gcc/testsuite/g++.dg/opt/pr55717.C b/gcc/testsuite/g++.dg/opt/pr55717.C index c03badd258f6..688b0ae2fb60 100644 --- a/gcc/testsuite/g++.dg/opt/pr55717.C +++ b/gcc/testsuite/g++.dg/opt/pr55717.C @@ -3,6 +3,7 @@ // { dg-options "-O -g" } typedef unsigned uint32_t __attribute__((mode (__SI__))); +typedef __INTPTR_TYPE__ intptr_t; struct DebugOnly {}; template <class T> @@ -95,7 +96,7 @@ struct AllocationSiteKey uint32_t offset : 24; int kind; typedef AllocationSiteKey Lookup; - static unsigned hash (AllocationSiteKey key) { return (long (key.script->code + key.offset)) ^ key.kind; } + static unsigned hash (AllocationSiteKey key) { return (intptr_t (key.script->code + key.offset)) ^ key.kind; } }; void TypeCompartment::sweep (FreeOp *) diff --git a/gcc/testsuite/g++.dg/warn/Wunused-value-1.C b/gcc/testsuite/g++.dg/warn/Wunused-value-1.C index 2ba5587fce04..fe34a8c4ea35 100644 --- a/gcc/testsuite/g++.dg/warn/Wunused-value-1.C +++ b/gcc/testsuite/g++.dg/warn/Wunused-value-1.C @@ -2,11 +2,13 @@ // { dg-do compile { target c++11 } } // { dg-options "-Wunused" } +typedef __INTPTR_TYPE__ intptr_t; + void g () { - (long) new int{}; - long(new int{}); - (long) new int(); - long(new int()); + (intptr_t) new int{}; + intptr_t(new int{}); + (intptr_t) new int(); + intptr_t(new int()); }
