]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: add hostedlib requirements to multiple C++ tests
authorAlexandre Oliva <oliva@adacore.com>
Wed, 21 Jan 2026 03:29:54 +0000 (00:29 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Wed, 21 Jan 2026 03:29:54 +0000 (00:29 -0300)
Various C++ tests added in the gcc-15 cycle require features that are
only available when libstdc++-v3 is built in hosted mode, so they fail
when this is not the case.  Skip them if ! hostedlib.

for  gcc/testsuite/ChangeLog

* g++.dg/DRs/dr2836.C: Skip if ! hostedlib.
* g++.dg/alias-checks.C: Likewise.
* g++.dg/contracts/pr116490.C: Likewise.
* g++.dg/coroutines/torture/pr121219.C: Likewise.
* g++.dg/cpp2a/constexpr-vector1.C: Likewise.
* g++.dg/ext/is_virtual_base_of.C: Likewise.
* g++.dg/modules/contracts-5_b.C: Likewise.
* g++.dg/modules/gmf-xtreme.C: Likewise.
* g++.dg/modules/lto-3_a.H: Likewise.
* g++.dg/modules/lto-3_b.C: Likewise.
* g++.dg/modules/xtreme-header-8.C: Likewise.
* g++.dg/opt/pr119274.C: Likewise.
* g++.dg/pr117222.C: Likewise.
* g++.dg/torture/pr105769-1.C: Likewise.
* g++.dg/torture/pr118521.C: Likewise.
* g++.dg/tree-ssa/deque-1.C: Likewise.
* g++.dg/tree-ssa/deque-2.C: Likewise.
* g++.dg/tree-ssa/pr109442.C: Likewise.
* g++.dg/tree-ssa/pr110819.C: Likewise.
* g++.dg/tree-ssa/pr116868.C: Likewise.
* g++.dg/tree-ssa/pr58483.C: Likewise.
* g++.dg/tree-ssa/pr80331.C: Likewise.
* g++.dg/tree-ssa/pr87502.C: Likewise.
* g++.dg/tree-ssa/pr96945.C: Likewise.
* g++.dg/tree-ssa/string-1.C: Likewise.

25 files changed:
gcc/testsuite/g++.dg/DRs/dr2836.C
gcc/testsuite/g++.dg/alias-checks.C
gcc/testsuite/g++.dg/contracts/pr116490.C
gcc/testsuite/g++.dg/coroutines/torture/pr121219.C
gcc/testsuite/g++.dg/cpp2a/constexpr-vector1.C
gcc/testsuite/g++.dg/ext/is_virtual_base_of.C
gcc/testsuite/g++.dg/modules/contracts-5_b.C
gcc/testsuite/g++.dg/modules/gmf-xtreme.C
gcc/testsuite/g++.dg/modules/lto-3_a.H
gcc/testsuite/g++.dg/modules/lto-3_b.C
gcc/testsuite/g++.dg/modules/xtreme-header-8.C
gcc/testsuite/g++.dg/opt/pr119274.C
gcc/testsuite/g++.dg/pr117222.C
gcc/testsuite/g++.dg/torture/pr105769-1.C
gcc/testsuite/g++.dg/torture/pr118521.C
gcc/testsuite/g++.dg/tree-ssa/deque-1.C
gcc/testsuite/g++.dg/tree-ssa/deque-2.C
gcc/testsuite/g++.dg/tree-ssa/pr109442.C
gcc/testsuite/g++.dg/tree-ssa/pr110819.C
gcc/testsuite/g++.dg/tree-ssa/pr116868.C
gcc/testsuite/g++.dg/tree-ssa/pr58483.C
gcc/testsuite/g++.dg/tree-ssa/pr80331.C
gcc/testsuite/g++.dg/tree-ssa/pr87502.C
gcc/testsuite/g++.dg/tree-ssa/pr96945.C
gcc/testsuite/g++.dg/tree-ssa/string-1.C

index 88e35a7f305259ce9a2408805a2f8b243142adb5..c96c6da919b5d35dda64f1bce651b7e32762f437 100644 (file)
@@ -1,6 +1,7 @@
 // DR 2836 - Conversion rank of long double and extended floating-point types
 // { dg-do compile { target c++23 } }
 // { dg-additional-options "-mlong-double-64" { target powerpc*-*-* s390*-*-* } }
+// { dg-skip-if "required hosted libstdc++ for stdfloat" { ! hostedlib } }
 
 #include <stdfloat>
 
index ee0ac535399d962415ae6de753f054f6e313eeaf..b8ff3ad605c2317edbc205a9ca8b27dbd335ac84 100644 (file)
@@ -3,6 +3,7 @@
 // { dg-require-effective-target c++17 }
 // { dg-require-effective-target vect_double }
 // { dg-options "-O3 -fdump-tree-vect-all" }
+// { dg-skip-if "required hosted libstdc++ for cmath and iostream" { ! hostedlib } }
 
 #include <cstdlib>
 #include <cmath>
index e3a5d77bafd3217658c29d6e89e311adf9051ea1..6e66c2afb6281b8becd1c0086c667b5b83bcedf0 100644 (file)
@@ -1,6 +1,7 @@
 // ICE in explicit instantiation of a function with contracts
 // { dg-do run }
 // { dg-options "-std=c++20 -fcontracts -fcontract-continuation-mode=on" }
+// { dg-skip-if "required hosted libstdc++ for stdc++exp" { ! hostedlib } }
 
 template<class T>
 void foo(T t)
index d1e7cb1e02251873848dd9475ee65695d8bb5f65..1748dcaf2be3b9cd58670323f8de333ba5c6e189 100644 (file)
@@ -1,5 +1,6 @@
 // PR c++/121219
 // { dg-do run }
+// { dg-skip-if "required hosted libstdc++ for stdexcept" { ! hostedlib } }
 
 #include <coroutine>
 #ifdef OUTPUT
index 196c6ec51fcf3f59bcdc5123dedbf862a0f4d009..1d6a059615a9e38074d844b01a99680cb3f76f7d 100644 (file)
@@ -1,6 +1,7 @@
 // PR c++/113835
 // { dg-timeout-factor 0.05 }
 // { dg-do compile { target c++20_only } }
+// { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 const std::size_t N = 1'000'000;
index 775a35393885b3ec2d42020c502e2e3db5e31dfd..1c3049d847a53944c3f83c4a693c98b98d9564e0 100644 (file)
@@ -1,4 +1,6 @@
 // { dg-do run }
+// { dg-skip-if "required hosted libstdc++ for cassert" { ! hostedlib } }
+
 #include <cassert>
 
 class A1
index 0e794b8ae453879c0ce12a669234872a3184d505..96651fd5c75d51107cfbedd1461b855241a31e62 100644 (file)
@@ -1,6 +1,7 @@
 // PR c++/108205
 // { dg-module-do run }
 // { dg-additional-options "-fmodules -fcontracts -fcontract-continuation-mode=on" }
+// { dg-skip-if "required hosted libstdc++ for experimental/contract" { ! hostedlib } }
 
 #include <experimental/contract>
 import test;
index 0a01c405291dd7a47d401bc65e26d3dea54c88c9..a9bee60001ce326702e198d768d9c4c18101c02d 100644 (file)
@@ -1,6 +1,7 @@
 // PR c++/114630
 // { dg-additional-options "-fmodules-ts -fdump-lang-module" }
 // { dg-module-cmi empty }
+// { dg-skip-if "required hosted libstdc++ for any in xtreme-header.h" { ! hostedlib } }
 
 module;
 #include "xtreme-header.h"
index be63699e66f5d8a33029cda80a9038a974a6dd4a..95fb738e91969a27a041f249ca520fb12a31fde6 100644 (file)
@@ -1,6 +1,7 @@
 // PR c++/118961
 // { dg-additional-options "-fmodule-header -std=c++20" }
 // { dg-module-cmi {} }
+// { dg-skip-if "required hosted libstdc++ for string" { ! hostedlib } }
 // We shouldn't ICE when linking against the standard library.
 
 #include <string>
index f459596f730f23119ddeb263d9e1e3208f0803e2..6b5854f1f1c0f296b5c43db3d7e5fc86b93bc373 100644 (file)
@@ -2,6 +2,7 @@
 // { dg-module-do link }
 // { dg-require-effective-target lto }
 // { dg-additional-options "-fmodules -flto -static -std=c++20" }
+// { dg-skip-if "required hosted libstdc++ for string in lto-3_a.H" { ! hostedlib } }
 
 import "lto-3_a.H";
 
index 82c0b59fefe31ad34772e84726bdfef29604a54c..dc8ae240ffe15346f259cbcb2aa9c18394e7f723 100644 (file)
@@ -1,6 +1,7 @@
 // PR c++/115126
 // { dg-additional-options "-fmodules-ts -Wtemplate-names-tu-local" }
 // { dg-module-cmi xstd }
+// { dg-skip-if "required hosted libstdc++ for any in xtreme-header.h" { ! hostedlib } }
 
 export module xstd;
 extern "C++" {
index 79b406162db9ae9f524fcebde3c91a09ea26f4ef..75503d3683d7d4887c523b67f5d0a0c0dabc5ae2 100644 (file)
@@ -1,5 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-options "-O2 -Wall" }
+// { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <cstdlib>
 #include <vector>
index 60cf6e30ed540e0a4c5c58bc51bf95f068f933f0..70dc8a1eef17f4088c8275a1f76a385832026da2 100644 (file)
@@ -1,6 +1,7 @@
 // { dg-do compile }
 // { dg-require-effective-target c++11 }
 // { dg-options "-O3 -fdump-tree-evrp" }
+// { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 int main()
index 3fe973656b845acb5f672b2663679a9ef237a650..d176bdccf479d2f22b8cdf93724a0bbf7ddeb358 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run }
+// { dg-skip-if "required hosted libstdc++ for functional function" { ! hostedlib } }
 
 // PR tree-optimization/105769
 
index 08836bd5f0e91ba6e6591eeb444ee53e1e6fd714..e432f99220dc42c56e64d3402f270242d3fda29d 100644 (file)
@@ -1,5 +1,6 @@
 // { dg-do compile }
 // { dg-additional-options "-Wall" }
+// { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector> // { dg-bogus "writing 1 byte into a region of size 0" "" { target *-*-* } 0 }
 
index c639ebb1a5f340ea8eda057c515f573b6d1ac4b2..04b1dbb9c8aaec6b2e308dc732a9d897638ebb63 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-do compile } 
 // { dg-options "-O1 -fdump-tree-optimized" }
+// { dg-skip-if "required hosted libstdc++ for deque" { ! hostedlib } }
+
 #include <deque>
 void
 test(std::deque<int> &q, int v)
index 7e268b3f018d6dde410054a4954dec8e3f9aad6f..c1534f65b80a1c60f181948cc5cfa2199e036ce2 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-do compile }
 // { dg-options "-O3 -fdump-tree-optimized" }
+// { dg-skip-if "required hosted libstdc++ for deque" { ! hostedlib } }
+
 #include <deque>
 std::deque<int *>
 test2(std::deque<int *> &q)
index dc335d136567373644081b495c53c2b4a899d466..6753bb947e929a15d76aef2d70304a458eedb1d1 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-do compile { target c++11 } }
 // { dg-options "-O2 -fdump-tree-optimized" }
+// { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+
 #include <vector>
 #define T int
 T vat1(std::vector<T> v1) {
index 8305589a19d0b4f189b672f4282b495098dc426e..90bbe916f63be33ea764a4c8638a91f41ea3541d 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-do compile { target c++11 } }
 // { dg-options "-O1 -fdump-tree-optimized" }
+// { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+
 #include<vector>
 
 void f(int);
index 8580661d35ce9b23657e8dd79e2b7660de5f3bfa..55337b2219b8e13958ddda558d414b274088bb8d 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-do compile { target c++11 } }
 // { dg-options "-O2 -fdump-tree-optimized" }
+// { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+
 #include <vector>
 int sumVector() {
     const std::vector<int> vec = {1};
index 8305589a19d0b4f189b672f4282b495098dc426e..90bbe916f63be33ea764a4c8638a91f41ea3541d 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-do compile { target c++11 } }
 // { dg-options "-O1 -fdump-tree-optimized" }
+// { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+
 #include<vector>
 
 void f(int);
index 85034504f2f82930f7c4b5d4df7ed4351d50dd80..fd556ed7407daa9d8bb76e0539bdca2bd95f6da4 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-do compile }
 // { dg-additional-options "-O2 -fdump-tree-optimized" }
+// { dg-skip-if "required hosted libstdc++ for string" { ! hostedlib } }
+
 #include<string>
 int sain() {
   const std::string remove_me("remove_me");
index e8e0cd388fb03e8f6e4455df65fae9c19cb41584..8b4b5d8c78fb9bec3e463c92fe5fe6e4612e6611 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-do compile }
 // { dg-additional-options "-O2 -fdump-tree-optimized" }
+// { dg-skip-if "required hosted libstdc++ for string" { ! hostedlib } }
+
 #include <string>
 
 
index 07c141340c0b11eac952daaf7ef62932bc43e708..e4ea022d665602babddd31ccac5f24131b277fb1 100644 (file)
@@ -1,5 +1,7 @@
 // { dg-do compile { target c++11 } }
 // { dg-options "-O1 -fdump-tree-optimized" }
+// { dg-skip-if "required hosted libstdc++ for vector" { ! hostedlib } }
+
 #include <vector>
 struct c {
     c() = default;
index d38c23a7628b60c87bd585359f652bdbaa59f0c7..ff65bad97717b60f259ddab37b812653f8c8c046 100644 (file)
@@ -1,5 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O3 -std=c++20 -fdump-tree-optimized" } */
+// { dg-skip-if "required hosted libstdc++ for string" { ! hostedlib } }
+
 #include <string>
 std::string
 test (std::string &a)