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());
 }

Reply via email to