public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/101209] New: ICE with trailing return type on a conversion operator
@ 2021-06-25 11:31 aaron at aaronballman dot com
  2021-06-25 11:41 ` [Bug c++/101209] " aaron at aaronballman dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: aaron at aaronballman dot com @ 2021-06-25 11:31 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 101209
           Summary: ICE with trailing return type on a conversion operator
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: aaron at aaronballman dot com
  Target Milestone: ---

I was curious what kind of diagnostics different compilers would give me for
some nonsense code, and found that the following code causes an ICE in GCC.

struct S {
  operator int() const -> double;
};

<source>:2:27: internal compiler error: in splice_late_return_type, at
cp/pt.c:29753
    2 |   operator int() const -> double;
      |                           ^~~~~~
0x1d48999 internal_error(char const*, ...)
        ???:0
0x724013 fancy_abort(char const*, int, char const*)
        ???:0
0x9847fc splice_late_return_type(tree_node*, tree_node*)
        ???:0
0x808c53 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
        ???:0
0x834403 grokfield(cp_declarator const*, cp_decl_specifier_seq*, tree_node*,
bool, tree_node*, tree_node*)
        ???:0
0x94cadd c_parse_file()
        ???:0
0xacfe82 c_common_parse_file()
        ???:0
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Compiler returned: 1

This should likely give an error about using a trailing return type for a
function with a declared return type other than a placeholder type.

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

* [Bug c++/101209] ICE with trailing return type on a conversion operator
  2021-06-25 11:31 [Bug c++/101209] New: ICE with trailing return type on a conversion operator aaron at aaronballman dot com
@ 2021-06-25 11:41 ` aaron at aaronballman dot com
  2021-08-07 21:29 ` [Bug c++/101209] [10/11/12 Regression] " pinskia at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: aaron at aaronballman dot com @ 2021-06-25 11:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Aaron Ballman <aaron at aaronballman dot com> ---
> This should likely give an error about using a trailing return type for a function with a declared return type other than a placeholder type.

Err, that would be bad now that I think about it
(http://eel.is/c++draft/class.conv.fct#6). So I'd amend this to: it should
probably give a reasonable diagnostic. :-)

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

* [Bug c++/101209] [10/11/12 Regression] ICE with trailing return type on a conversion operator
  2021-06-25 11:31 [Bug c++/101209] New: ICE with trailing return type on a conversion operator aaron at aaronballman dot com
  2021-06-25 11:41 ` [Bug c++/101209] " aaron at aaronballman dot com
@ 2021-08-07 21:29 ` pinskia at gcc dot gnu.org
  2021-09-27 22:13 ` pinskia at gcc dot gnu.org
  2021-09-27 22:16 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-07 21:29 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2021-08-07
   Target Milestone|---                         |9.5
            Summary|ICE with trailing return    |[10/11/12 Regression] ICE
                   |type on a conversion        |with trailing return type
                   |operator                    |on a conversion operator
      Known to work|                            |7.1.0, 9.1.0, 9.4.0
      Known to fail|                            |10.1.0

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed, a regression from 9.x.

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

* [Bug c++/101209] [10/11/12 Regression] ICE with trailing return type on a conversion operator
  2021-06-25 11:31 [Bug c++/101209] New: ICE with trailing return type on a conversion operator aaron at aaronballman dot com
  2021-06-25 11:41 ` [Bug c++/101209] " aaron at aaronballman dot com
  2021-08-07 21:29 ` [Bug c++/101209] [10/11/12 Regression] " pinskia at gcc dot gnu.org
@ 2021-09-27 22:13 ` pinskia at gcc dot gnu.org
  2021-09-27 22:16 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-09-27 22:13 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|9.5                         |10.4

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

* [Bug c++/101209] [10/11/12 Regression] ICE with trailing return type on a conversion operator
  2021-06-25 11:31 [Bug c++/101209] New: ICE with trailing return type on a conversion operator aaron at aaronballman dot com
                   ` (2 preceding siblings ...)
  2021-09-27 22:13 ` pinskia at gcc dot gnu.org
@ 2021-09-27 22:16 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-09-27 22:16 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is a dup of bug 101051.

*** This bug has been marked as a duplicate of bug 101051 ***

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

end of thread, other threads:[~2021-09-27 22:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-25 11:31 [Bug c++/101209] New: ICE with trailing return type on a conversion operator aaron at aaronballman dot com
2021-06-25 11:41 ` [Bug c++/101209] " aaron at aaronballman dot com
2021-08-07 21:29 ` [Bug c++/101209] [10/11/12 Regression] " pinskia at gcc dot gnu.org
2021-09-27 22:13 ` pinskia at gcc dot gnu.org
2021-09-27 22:16 ` pinskia 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).