https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110159
Bug ID: 110159
Summary: ICEs for C++ Contracts test cases with
'-fno-exceptions'
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: tschwinge at gcc dot gnu.org
CC: jason at gcc dot gnu.org
Target Milestone: ---
Given native x86_64-pc-linux-gnu build of one-week-old commit
2720bbd597f56742a17119dfe80edc2ba86af255, running 'check-gcc-c++' with
'-fno-exceptions':
$ make check-gcc-c++ RUNTESTFLAGS='--target_board=unix/-fno-exceptions
dg.exp=contracts\*'
..., I see ICEs for C++ Contracts test cases, see below.
[...]/g++.dg/contracts/contracts-assume6.C: In function 'void fun(int)':
[...]/g++.dg/contracts/contracts-assume6.C:13:1: internal compiler error:
Segmentation fault
0x16ffb4f crash_signal
[...]/gcc/toplev.cc:314
0xe41fc8 contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
[...]/gcc/tree.h:3656
0xe41fc8 build_addr_func(tree_node*, int)
[...]/gcc/cp/call.cc:278
0xe4220d build_call_a(tree_node*, int, tree_node**)
[...]/gcc/cp/call.cc:366
0xed0dff build_contract_check(tree_node*)
[...]/gcc/cp/contracts.cc:1814
0xebdec7 cp_genericize_r
[...]/gcc/cp/cp-gimplify.cc:1500
0x19ed0e4 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*,
void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
[...]/gcc/tree.cc:11341
0x1140b3f c_genericize_control_stmt(tree_node**, int*, void*, tree_node*
(*)(tree_node**, int*, void*), tree_node* (*)(tree_node**, int*, tree_node*
(*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*))
[...]/gcc/c-family/c-gimplify.cc:534
0xebdbf1 cp_genericize_r
[...]/gcc/cp/cp-gimplify.cc:1861
0x19ed0e4 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*,
void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
[...]/gcc/tree.cc:11341
0xebd1b9 cp_genericize_tree
[...]/gcc/cp/cp-gimplify.cc:1894
0xebd536 cp_genericize(tree_node*)
[...]/gcc/cp/cp-gimplify.cc:2036
0xf0a5ff finish_function(bool)
[...]/gcc/cp/decl.cc:18312
0xed2729 finish_function_contracts(tree_node*)
[...]/gcc/cp/contracts.cc:2050
0xf09895 finish_function(bool)
[...]/gcc/cp/decl.cc:18354
0x1008677 cp_parser_function_definition_after_declarator
[...]/gcc/cp/parser.cc:32057
0x1009b53 cp_parser_function_definition_from_specifiers_and_declarator
[...]/gcc/cp/parser.cc:31971
0x1009b53 cp_parser_init_declarator
[...]/gcc/cp/parser.cc:22822
0xfde638 cp_parser_simple_declaration
[...]/gcc/cp/parser.cc:15435
0x10143db cp_parser_declaration
[...]/gcc/cp/parser.cc:15121
'gcc/cp/call.cc':
275 tree
276 build_addr_func (tree function, tsubst_flags_t complain)
277 {
278 tree type = TREE_TYPE (function);
358 tree
359 build_call_a (tree function, int n, tree *argarray)
360 {
361 tree decl;
362 tree result_type;
363 tree fntype;
364 int i;
365
366 function = build_addr_func (function, tf_warning_or_error);
'gcc/cp/contracts.cc':
1775 tree
1776 build_contract_check (tree contract)
1777 {
[...]
1814 finish_expr_stmt (build_call_a (terminate_fn, 0, nullptr));
So I suppose 'terminate_fn' isn't initialized here, which is normally done by
'init_exception_processing', which isn't called for '-fno-exceptions'. I'm
happy to have a try at addressing this, but will need guidance at which level
additional 'if (flag_exceptions)' or similar is necessary.
This code exists as of the initial commit
r13-4160-g2efb237ffc68ec9bb17982434f5941bfa14f8b50 "c++: implement P1492
contracts".
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-assume6.C (test for
errors, line 29)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-assume6.C (test for
errors, line 42)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-assume6.C (test for
errors, line 49)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-assume6.C (test for
warnings, line 24)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-assume6.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-assume6.C (test for excess errors)
UNSUPPORTED: g++.dg/contracts/contracts-comdat1.C -std=c++14
UNSUPPORTED: g++.dg/contracts/contracts-comdat1.C -std=c++17
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts-comdat1.C -std=c++20
scan-assembler-not (weak|globl)[^\\n]*_Z1fi.pre
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts-comdat1.C -std=c++20
scan-assembler-not _Z1fi.pre,comdat
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-comdat1.C -std=c++20 (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-comdat1.C -std=c++20 (test for excess
errors)
UNSUPPORTED: g++.dg/contracts/contracts-comdat1.C -std=c++98
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-conversion1.C (test for
errors, line 9)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-conversion1.C (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-conversion1.C (test for excess
errors)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-ctor-dtor1.C (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-ctor-dtor1.C (test for excess
errors)
PASS: g++.dg/contracts/contracts-cv1.C (test for errors, line 11)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-cv1.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-cv1.C (test for excess errors)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-deduced1.C (test for
errors, line 100)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-deduced1.C (test for
errors, line 28)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-deduced1.C (test for
errors, line 70)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-deduced1.C (test for
errors, line 75)
PASS: g++.dg/contracts/contracts-deduced1.C (test for errors, line 8)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-deduced1.C (test for
errors, line 82)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-deduced1.C (test for
errors, line 86)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-deduced1.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-deduced1.C (test for excess errors)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-large-return.C (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-large-return.C (test for excess
errors)
PASS: g++.dg/contracts/contracts-nested-class1.C (test for errors, line
13)
PASS: g++.dg/contracts/contracts-nested-class1.C (test for errors, line
16)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-nested-class1.C (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-nested-class1.C (test for excess
errors)
UNSUPPORTED: g++.dg/contracts/contracts-nocopy1.C -std=c++14
UNSUPPORTED: g++.dg/contracts/contracts-nocopy1.C -std=c++17
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-nocopy1.C -std=c++20 (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-nocopy1.C -std=c++20 (test for excess
errors)
UNSUPPORTED: g++.dg/contracts/contracts-nocopy1.C -std=c++98
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 21)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 22)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 23)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 24)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 25)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 26)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 34)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 39)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 40)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C (test for
errors, line 41)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C at line 28
(test for errors, line 27)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C at line 29
(test for errors, line 27)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C at line 30
(test for errors, line 27)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C at line 31
(test for errors, line 27)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-override.C at line 33
(test for errors, line 32)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-override.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-override.C (test for excess errors)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-post1.C (test for errors,
line 25)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-post1.C (test for errors,
line 35)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-post1.C (test for errors,
line 41)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-post1.C (test for errors,
line 53)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-post1.C (test for errors,
line 59)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-post1.C (test for errors,
line 66)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-post1.C (test for errors,
line 72)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-post1.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-post1.C (test for excess errors)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-post2.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-post2.C (test for excess errors)
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts-post2.C [-execution
test-]{+compilation failed to produce executable+}
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-post3.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-post3.C (test for excess errors)
[-PASS: g++.dg/contracts/contracts-post3.C execution test-]
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts-post3.C [-output
pattern test-]{+compilation failed to produce executable+}
PASS: g++.dg/contracts/contracts-post4.C (test for errors, line 20)
PASS: g++.dg/contracts/contracts-post4.C (test for errors, line 26)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-post4.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-post4.C (test for excess errors)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-post5.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-post5.C (test for excess errors)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-post6.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-post6.C (test for excess errors)
PASS: g++.dg/contracts/contracts-pre1.C (test for bogus messages, line
23)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 14)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 15)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 16)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 19)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 20)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 21)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 22)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 26)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 28)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 29)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 30)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 32)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 33)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 34)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for errors,
line 35)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-pre1.C at line 27 (test
for warnings, line 26)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-pre1.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-pre1.C (test for excess errors)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-pre2a1.C -std=c++14 (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-pre2a1.C -std=c++14 (test for excess
errors)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-pre2a1.C -std=c++17 (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-pre2a1.C -std=c++17 (test for excess
errors)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-pre2a1.C -std=c++20 (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-pre2a1.C -std=c++20 (test for excess
errors)
UNSUPPORTED: g++.dg/contracts/contracts-pre2a1.C -std=c++98
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-pre6.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-pre6.C (test for excess errors)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl1.C (test for
errors, line 107)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl1.C (test for
errors, line 54)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl1.C (test for
errors, line 57)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl1.C (test for
errors, line 60)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl1.C (test for
errors, line 63)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl1.C (test for
errors, line 72)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl1.C (test for
errors, line 80)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl1.C (test for
errors, line 98)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-redecl1.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-redecl1.C (test for excess errors)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 106)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 114)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 115)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 120)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 126)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 134)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 146)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 49)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 52)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 55)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 64)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 73)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 81)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 88)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 95)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
errors, line 96)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for
warnings, line 116)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-redecl2.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-redecl2.C (test for excess errors)
PASS: g++.dg/contracts/contracts-redecl5.C (test for bogus messages,
line 16)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for
errors, line 58)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for
errors, line 61)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for
errors, line 64)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for
errors, line 73)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for
errors, line 82)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for
errors, line 90)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for
errors, line 97)
PASS: g++.dg/contracts/contracts-redecl5.C (test for warnings, line 15)
PASS: g++.dg/contracts/contracts-redecl5.C (test for warnings, line 24)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for
warnings, line 34)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for
warnings, line 54)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C at line 35 (test
for warnings, line 34)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C at line 38 (test
for warnings, line 37)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl5.C at line 41 (test
for warnings, line 40)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-redecl5.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-redecl5.C (test for excess errors)
PASS: g++.dg/contracts/contracts-redecl8.C (test for bogus messages,
line 48)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl8.C (test for
errors, line 24)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl8.C (test for
errors, line 43)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts-redecl8.C (test for
errors, line 63)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-redecl8.C (internal compiler
error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-redecl8.C (test for excess errors)
PASS: g++.dg/contracts/contracts-tmpl-attr1.C (test for warnings, line
15)
PASS: g++.dg/contracts/contracts-tmpl-attr1.C (test for warnings, line
16)
PASS: g++.dg/contracts/contracts-tmpl-attr1.C (test for warnings, line
9)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts-tmpl-attr1.C (internal
compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts-tmpl-attr1.C (test for excess
errors)
@@ -43656,45 +43563,45 @@ PASS: g++.dg/contracts/contracts1.C (test for
errors, line 42)
PASS: g++.dg/contracts/contracts1.C (test for errors, line 43)
PASS: g++.dg/contracts/contracts1.C (test for errors, line 44)
PASS: g++.dg/contracts/contracts1.C (test for errors, line 45)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts1.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts1.C (test for excess errors)
PASS: g++.dg/contracts/contracts11.C (test for errors, line 19)
PASS: g++.dg/contracts/contracts11.C (test for errors, line 25)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts11.C (test for errors, line
43)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts11.C (test for errors, line
58)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts11.C (test for errors, line
97)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts11.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts11.C (test for excess errors)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts12.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts12.C (test for excess errors)
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts12.C scan-assembler
default
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts12.C
scan-assembler-not audit
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts13.C (test for warnings,
line 42)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts13.C (test for warnings,
line 45)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts13.C (test for warnings,
line 47)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts13.C at line 43 (test for
errors, line 12)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts13.C at line 46 (test for
errors, line 30)
[-PASS:-]{+FAIL:+} g++.dg/contracts/contracts13.C at line 48 (test for
errors, line 36)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts13.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts13.C (test for excess errors)
[-PASS: g++.dg/contracts/contracts14.C (test for excess errors)-]
[-PASS: g++.dg/contracts/contracts14.C execution test-]
[-PASS:-]{+UNSUPPORTED:+} g++.dg/contracts/contracts14.C [-output pattern
test-]
[-PASS: g++.dg/contracts/contracts15.C (test for excess errors)-]
[-PASS: g++.dg/contracts/contracts15.C execution test-]
[-PASS:-]{+: exception handling disabled+}
{+UNSUPPORTED:+} g++.dg/contracts/contracts15.C [-output pattern test-]
[-PASS: g++.dg/contracts/contracts16.C (test for excess errors)-]
[-PASS:-]{+: exception handling disabled+}
{+FAIL:+} g++.dg/contracts/contracts16.C [-execution test-]
[-PASS:-]{+(internal compiler error: Segmentation fault)+}
{+UNSUPPORTED:+} g++.dg/contracts/contracts16.C [-output pattern test-]
[-PASS:-]{+: exception handling disabled+}
{+FAIL:+} g++.dg/contracts/contracts17.C [-(test for excess errors)-]
[-PASS: g++.dg/contracts/contracts17.C execution test-]
[-PASS:-]{+(internal compiler error: Segmentation fault)+}
{+UNSUPPORTED:+} g++.dg/contracts/contracts17.C [-output pattern test-]
[-PASS:-]{+: exception handling disabled+}
{+FAIL: g++.dg/contracts/contracts18.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts18.C (test for excess errors)
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts18.C [-execution
test-]{+compilation failed to produce executable+}
[-PASS:-]{+FAIL: g++.dg/contracts/contracts2.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts2.C (test for excess errors)
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts2.C [-execution
test-]{+compilation failed to produce executable+}
[-PASS:-]{+FAIL: g++.dg/contracts/contracts24.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts24.C (test for excess errors)
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts24.C [-execution
test-]{+compilation failed to produce executable+}
[-PASS:-]{+FAIL: g++.dg/contracts/contracts3.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts3.C (test for excess errors)
[-PASS: g++.dg/contracts/contracts3.C execution test-]
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts3.C [-output pattern
test-]{+compilation failed to produce executable+}
[-PASS:-]{+FAIL: g++.dg/contracts/contracts5.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts5.C (test for excess errors)
[-PASS: g++.dg/contracts/contracts5.C execution test-]
[-PASS:-]{+UNRESOLVED:+} g++.dg/contracts/contracts5.C [-output pattern
test-]{+compilation failed to produce executable+}
@@ -43740,7 +43648,8 @@ PASS: g++.dg/contracts/contracts8.C at line 34
(test for warnings, line 33)
PASS: g++.dg/contracts/contracts8.C at line 36 (test for warnings, line
35)
PASS: g++.dg/contracts/contracts8.C at line 39 (test for warnings, line
38)
PASS: g++.dg/contracts/contracts8.C at line 41 (test for warnings, line
40)
[-PASS:-]{+FAIL: g++.dg/contracts/contracts8.C (internal compiler error:
Segmentation fault)+}
{+FAIL:+} g++.dg/contracts/contracts8.C (test for excess errors)
[-PASS:-]{+FAIL: g++.dg/modules/contracts-tpl-friend-1_b.C -std=c++17
(internal compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/modules/contracts-tpl-friend-1_b.C -std=c++17 (test for
excess errors)
[-PASS:-]{+FAIL: g++.dg/modules/contracts-tpl-friend-1_b.C -std=c++2a
(internal compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/modules/contracts-tpl-friend-1_b.C -std=c++2a (test for
excess errors)
[-PASS:-]{+FAIL: g++.dg/modules/contracts-tpl-friend-1_b.C -std=c++2b
(internal compiler error: Segmentation fault)+}
{+FAIL:+} g++.dg/modules/contracts-tpl-friend-1_b.C -std=c++2b (test for
excess errors)