public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/110185] New: [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b
@ 2023-06-09  0:36 hp at gcc dot gnu.org
  2023-06-09  0:50 ` [Bug c++/110185] " hp at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: hp at gcc dot gnu.org @ 2023-06-09  0:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110185

            Bug ID: 110185
           Summary: [14 Regression]: Tens of c++ testsuite crashes for
                    cris-elf with r14-1624-g28db36e2cfca1b
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hp at gcc dot gnu.org
                CC: jason at redhat dot com
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: cris-elf

Created attachment 55289
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55289&action=edit
spaceship-p1186.ii

With r14-1624-g28db36e2cfca1b, for cris-elf cross from x86_64-linux, I get tens
of regressions:
--- regress.prev        2023-06-08 03:27:56.000000000 +0200
+++ regress     2023-06-08 08:50:14.425080243 +0200
@@ -0,0 +1,20 @@
+g++.sum g++.dg/cpp2a/spaceship-p1186.C
+g++.sum g++.dg/cpp2a/spaceship-synth1.C
+g++.sum g++.dg/cpp2a/spaceship-synth10.C
+g++.sum g++.dg/cpp2a/spaceship-synth12.C
+g++.sum g++.dg/cpp2a/spaceship-synth13.C
+g++.sum g++.dg/cpp2a/spaceship-synth14.C
+g++.sum g++.dg/cpp2a/spaceship-synth1a.C
+g++.sum g++.dg/cpp2a/spaceship-synth2.C
+g++.sum g++.dg/cpp2a/spaceship-synth2a.C
+g++.sum g++.dg/cpp2a/spaceship-synth2b.C
+g++.sum g++.dg/cpp2a/spaceship-synth4.C
+g++.sum g++.dg/cpp2a/spaceship-synth5.C
+g++.sum g++.dg/cpp2a/spaceship-weak1.C
+libstdc++.sum 25_algorithms/minmax/constrained.cc
+libstdc++.sum std/time/month_day/1.cc
+libstdc++.sum std/time/month_day_last/1.cc
+libstdc++.sum std/time/year_month/1.cc
+libstdc++.sum std/time/year_month_day/1.cc
+libstdc++.sum std/time/year_month_day/4.cc
+libstdc++.sum std/time/year_month_day_last/1.cc

Checking the .log files, all seem to be similar crashes.  Here's the important
bits for spaceship-p1186.C:
spawn -ignore SIGHUP /x/gccobj/gcc/testsuite/g++/../../xg++
-B/x/gccobj/gcc/testsuite/g++/../../ /x/gcc/gcc/testsuite/g\
++.dg/cpp2a/spaceship-p1186.C -fdiagnostics-plain-output -nostdinc++
-I/x/gccobj/cris-elf/libstdc++-v3/include/cris-elf\
 -I/x/gccobj/cris-elf/libstdc++-v3/include -I/x/gcc/libstdc++-v3/libsupc++
-I/x/gcc/libstdc++-v3/include/backward -I/x/\
gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -std=c++20 -pedantic-errors
-Wno-long-long -S -isystem /x/gccobj/cri\
s-elf/./newlib/targ-include -isystem /x/gcc/newlib/libc/include -o
spaceship-p1186.s
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C: In function 'void foo(A&,
A&, B&, B&, D&, D&, F&, F&, I&, I&)':
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:91:17: error: use of
deleted function 'constexpr auto A::operator<=\
>(const A&) const'
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:17:8: note: 'constexpr auto
A::operator<=>(const A&) const' is impl\
icitly deleted because the default definition would be ill-formed:
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:16:5: error: no match for
'operator<=>' in '((const A*)this)->A::h \
<=> <anonymous>.A::h' (operand types are 'H' and 'H')
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:84:23: note: candidate:
'template<class T> std::partial_ordering op\
erator<=>(const N&, T&&)' (reversed)
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:84:23: note:   template
argument deduction/substitution failed:
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:16:5: note:   cannot
convert '<anonymous>.A::h' (type 'H') to type \
'const N&'
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:86:23: note: candidate:
'template<class T> std::partial_ordering op\
erator<=>(T&&, const N&)' (reversed)
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:86:23: note:   template
argument deduction/substitution failed:
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:16:5: note:   cannot
convert '((const A*)this)->A::h' (type 'H') to\
 type 'const N&'
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:17:8: note: changing the
return type from 'auto' to a comparison ca\
tegory type will allow the comparison to use 'operator<' and 'operator=='
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C: In member function
'constexpr std::strong_ordering B::operator<=>(\
const B&) const':
/x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:25:24: internal compiler
error: Segmentation fault
0x10e034f crash_signal
        /x/gcc/gcc/toplev.cc:314
0x7ff4199b1d5f ???
        ./signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0xa0f1de tree_check(tree_node*, char const*, int, char const*, tree_code)
        /x/gcc/gcc/tree.h:3569
0xa0f1de outer_binding(tree_node*, cxx_binding*, bool)
        /x/gcc/gcc/cp/name-lookup.cc:7394
0xa0f31a decl_in_scope_p(tree_node*)
        /x/gcc/gcc/cp/name-lookup.cc:7465
0xb3ca65 check_return_expr(tree_node*, bool*)
        /x/gcc/gcc/cp/typeck.cc:11177
0xae7baf finish_return_stmt(tree_node*)
        /x/gcc/gcc/cp/semantics.cc:1244
0x9c96f1 build_comparison_op(tree_node*, bool, int)
        /x/gcc/gcc/cp/method.cc:1697
0x9caa1e synthesize_method(tree_node*)
        /x/gcc/gcc/cp/method.cc:1823
0x981fa4 mark_used(tree_node*, int)
        /x/gcc/gcc/cp/decl2.cc:5700
0x8bec69 build_over_call
        /x/gcc/gcc/cp/call.cc:10397
0x8c825b build_new_op(op_location_t const&, tree_code, int, tree_node*,
tree_node*, tree_node*, tree_node*, tree_node**\
, int)
        /x/gcc/gcc/cp/call.cc:7154
0xb242ee build_x_binary_op(op_location_t const&, tree_code, tree_node*,
tree_code, tree_node*, tree_code, tree_node*, t\
ree_node**, int)
        /x/gcc/gcc/cp/typeck.cc:4722
0xa31ad2 cp_parser_binary_expression
        /x/gcc/gcc/cp/parser.cc:10333
0xa327d2 cp_parser_assignment_expression
        /x/gcc/gcc/cp/parser.cc:10493
0xa35d9d cp_parser_constant_expression
        /x/gcc/gcc/cp/parser.cc:10786
0xa373b1 cp_parser_initializer_clause
        /x/gcc/gcc/cp/parser.cc:25524
0xa3962c cp_parser_initializer
        /x/gcc/gcc/cp/parser.cc:25462
0xa6a4a3 cp_parser_init_declarator
        /x/gcc/gcc/cp/parser.cc:23027
0xa41dab cp_parser_simple_declaration
        /x/gcc/gcc/cp/parser.cc:15435
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
compiler exited with status 1
FAIL: g++.dg/cpp2a/spaceship-p1186.C  -std=c++20 (internal compiler error:
Segmentation fault)

Attached is spaceship-p1186.ii.

Repeat with cc1plus -fpreprocessed spaceship-p1186.ii -melf -quiet -dumpbase
spaceship-p1186.C -dumpbase-ext .C -pedantic-errors -Wno-long-long -std=c++20
-version -fdiagnostics-color=never -fno-diagnostics-show-caret
-fno-diagnostics-show-line-numbers -fdiagnostics-urls=never
-fdiagnostics-path-format=separate-events -fmessage-length=0 -o
spaceship-p1186.s

Clues: 32-bit, newlib, default "packed" ABI memory layout.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/110185] [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b
  2023-06-09  0:36 [Bug c++/110185] New: [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b hp at gcc dot gnu.org
@ 2023-06-09  0:50 ` hp at gcc dot gnu.org
  2023-06-09  7:42 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: hp at gcc dot gnu.org @ 2023-06-09  0:50 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110185

--- Comment #1 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
Created attachment 55290
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55290&action=edit
spaceship-synth13.ii

Hm, that attachment was for a test that checked for errors.  Here's one for a
tests that should compile without errors,
/testsuite/g++.dg/cpp2a/spaceship-synth13.C.

Repeat with cc1plus -fpreprocessed spaceship-synth13.ii -melf -quiet -dumpbase
spaceship-synth13.C -dumpbase-ext .C -pedantic-errors -Wno-long-long -std=c++20
-version -fdiagnostics-color=never -fno-diagnostics-show-caret
-fno-diagnostics-show-line-numbers -fdiagnostics-urls=never
-fdiagnostics-path-format=separate-events -fmessage-length=0 -o
spaceship-synth13.s

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/110185] [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b
  2023-06-09  0:36 [Bug c++/110185] New: [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b hp at gcc dot gnu.org
  2023-06-09  0:50 ` [Bug c++/110185] " hp at gcc dot gnu.org
@ 2023-06-09  7:42 ` rguenth at gcc dot gnu.org
  2023-06-09 10:01 ` ro at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-06-09  7:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110185

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |14.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/110185] [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b
  2023-06-09  0:36 [Bug c++/110185] New: [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b hp at gcc dot gnu.org
  2023-06-09  0:50 ` [Bug c++/110185] " hp at gcc dot gnu.org
  2023-06-09  7:42 ` rguenth at gcc dot gnu.org
@ 2023-06-09 10:01 ` ro at gcc dot gnu.org
  2023-06-09 14:25 ` jason at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ro at gcc dot gnu.org @ 2023-06-09 10:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110185

Rainer Orth <ro at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ro at gcc dot gnu.org
             Target|cris-elf                    |cris-elf,
                   |                            |i386-pc-solaris2.11,
                   |                            |sparc-sun-solaris2.11

--- Comment #2 from Rainer Orth <ro at gcc dot gnu.org> ---
I'm seeing exactly the same natively on both Solaris/x86 and Solaris/sparc
(for the 32-bit multilibs only; 64-bit tests are fine).

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/110185] [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b
  2023-06-09  0:36 [Bug c++/110185] New: [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b hp at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2023-06-09 10:01 ` ro at gcc dot gnu.org
@ 2023-06-09 14:25 ` jason at gcc dot gnu.org
  2023-06-09 15:42 ` cvs-commit at gcc dot gnu.org
  2023-06-09 15:42 ` jason at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jason at gcc dot gnu.org @ 2023-06-09 14:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110185

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
                 CC|                            |jason at gcc dot gnu.org
   Last reconfirmed|                            |2023-06-09
             Status|UNCONFIRMED                 |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/110185] [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b
  2023-06-09  0:36 [Bug c++/110185] New: [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b hp at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2023-06-09 14:25 ` jason at gcc dot gnu.org
@ 2023-06-09 15:42 ` cvs-commit at gcc dot gnu.org
  2023-06-09 15:42 ` jason at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-06-09 15:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110185

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <jason@gcc.gnu.org>:

https://gcc.gnu.org/g:953bbeaeff050f4d0b670568a587aa1ce82ed711

commit r14-1660-g953bbeaeff050f4d0b670568a587aa1ce82ed711
Author: Jason Merrill <jason@redhat.com>
Date:   Fri Jun 9 10:37:35 2023 -0400

    c++: fix 32-bit spaceship failures [PR110185]

    Various spaceship tests failed after r14-1624.  This turned out to be
    because the comparison category classes return in memory on 32-bit targets,
    and the synthesized operator<=> looks something like

    if (auto v = a.x <=> b.x, v == 0); else return v;
    if (auto v = a.y <=> b.y, v == 0); else return v;
    etc.

    so check_return_expr was trying to do NRVO for all the 'v' variables, and
    now on subsequent returns we check to see if the previous NRV is still in
    scope.  But the NRVs didn't have names, so looking up name bindings
crashed.
    Fixed both by giving 'v' a name so we can NRVO the first one, and fixing
the
    test to give up if the old NRV has no name.

            PR c++/110185
            PR c++/58487

    gcc/cp/ChangeLog:

            * method.cc (build_comparison_op): Give retval a name.
            * typeck.cc (check_return_expr): Fix for nameless variables.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/110185] [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b
  2023-06-09  0:36 [Bug c++/110185] New: [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b hp at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2023-06-09 15:42 ` cvs-commit at gcc dot gnu.org
@ 2023-06-09 15:42 ` jason at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jason at gcc dot gnu.org @ 2023-06-09 15:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110185

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-06-09 15:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-09  0:36 [Bug c++/110185] New: [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b hp at gcc dot gnu.org
2023-06-09  0:50 ` [Bug c++/110185] " hp at gcc dot gnu.org
2023-06-09  7:42 ` rguenth at gcc dot gnu.org
2023-06-09 10:01 ` ro at gcc dot gnu.org
2023-06-09 14:25 ` jason at gcc dot gnu.org
2023-06-09 15:42 ` cvs-commit at gcc dot gnu.org
2023-06-09 15:42 ` jason at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).