Bug 90695 - [10 regression] g++.dg/cpp0x/noexcept15.C fails starting with r271806
Summary: [10 regression] g++.dg/cpp0x/noexcept15.C fails starting with r271806
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: other (show other bugs)
Version: 10.0
: P3 normal
Target Milestone: 10.0
Assignee: Jonathan Wakely
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2019-05-31 20:34 UTC by Bill Seurer
Modified: 2019-06-10 15:56 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2019-05-31 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bill Seurer 2019-05-31 20:34:20 UTC
r271806

 make -k check-gcc RUNTESTFLAGS=dg.exp=g++.dg/cpp0x/noexcept15.C


# of expected passes		5
# of unexpected failures	1
# of unsupported tests		1
FAIL: g++.dg/cpp0x/noexcept15.C  -std=c++14 (test for excess errors)


Executing on host: /home/seurer/gcc/build/gcc-test2/gcc/testsuite/g++/../../xg++ -B/home/seurer/gcc/build/gcc-test2/gcc/testsuite/g++/../../ /home/seurer/gcc/gcc-test2/gcc/testsuite/g++.dg/cpp0x/noexcept15.C    -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never  -nostdinc++ -I/home/seurer/gcc/build/gcc-test2/powerpc64-unknown-linux-gnu/libstdc++-v3/include/powerpc64-unknown-linux-gnu -I/home/seurer/gcc/build/gcc-test2/powerpc64-unknown-linux-gnu/libstdc++-v3/include -I/home/seurer/gcc/gcc-test2/libstdc++-v3/libsupc++ -I/home/seurer/gcc/gcc-test2/libstdc++-v3/include/backward -I/home/seurer/gcc/gcc-test2/libstdc++-v3/testsuite/util -fmessage-length=0  -std=c++17  -pedantic-errors -Wno-long-long  -S -o noexcept15.s    (timeout = 300)
spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-test2/gcc/testsuite/g++/../../xg++ -B/home/seurer/gcc/build/gcc-test2/gcc/testsuite/g++/../../ /home/seurer/gcc/gcc-test2/gcc/testsuite/g++.dg/cpp0x/noexcept15.C -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never -nostdinc++ -I/home/seurer/gcc/build/gcc-test2/powerpc64-unknown-linux-gnu/libstdc++-v3/include/powerpc64-unknown-linux-gnu -I/home/seurer/gcc/build/gcc-test2/powerpc64-unknown-linux-gnu/libstdc++-v3/include -I/home/seurer/gcc/gcc-test2/libstdc++-v3/libsupc++ -I/home/seurer/gcc/gcc-test2/libstdc++-v3/include/backward -I/home/seurer/gcc/gcc-test2/libstdc++-v3/testsuite/util -fmessage-length=0 -std=c++17 -pedantic-errors -Wno-long-long -S -o noexcept15.s
/home/seurer/gcc/gcc-test2/gcc/testsuite/g++.dg/cpp0x/noexcept15.C: In instantiation of 'struct single<Blob>':
/home/seurer/gcc/gcc-test2/gcc/testsuite/g++.dg/cpp0x/noexcept15.C:31:17:   required from here
/home/seurer/gcc/gcc-test2/gcc/testsuite/g++.dg/cpp0x/noexcept15.C:9:8: error: 'single<Tp>::elem' has incomplete type
/home/seurer/gcc/gcc-test2/gcc/testsuite/g++.dg/cpp0x/noexcept15.C:26:7: note: forward declaration of 'class Blob'
compiler exited with status 1
PASS: g++.dg/cpp0x/noexcept15.C  -std=c++17  (test for errors, line 9)
PASS: g++.dg/cpp0x/noexcept15.C  -std=c++17  (test for warnings, line 26)
PASS: g++.dg/cpp0x/noexcept15.C  -std=c++17 (test for excess errors)
Comment 1 Jonathan Wakely 2019-05-31 23:35:28 UTC
The failure happens on all targets.

I need to figure out what it was originally testing, and then change the test to be independent of the standard library headers.

C++ front end tests that depend on library headers are fragile, because the library is a moving target.
Comment 2 Jonathan Wakely 2019-06-06 22:53:12 UTC
Patch: https://gcc.gnu.org/ml/gcc-patches/2019-06/msg00390.html
Comment 3 Jonathan Wakely 2019-06-10 15:55:51 UTC
Fixed at r272120
Comment 4 Jonathan Wakely 2019-06-10 15:56:07 UTC
Author: redi
Date: Mon Jun 10 15:55:36 2019
New Revision: 272121

URL: https://gcc.gnu.org/viewcvs?rev=272121&root=gcc&view=rev
Log:
PR other/90695 reduce testcase to remove library dependency

This reproduces the original ICE fixed by r178857 (tested at r178852 and
r178860), without depending on a libstdc++ header that keeps changing.

The number of errors differs between C++14 and C++17 modes, so the fixed
test uses dg-excess-errors to match any number of them. The precise
errors aren't what's being tested for here anyway, the point of the test
is to verify the ICE in PR 50391 is fixed.

	PR other/90695
	* g++.dg/cpp0x/noexcept15.C: Remove dependency on library header.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cpp0x/noexcept15.C