public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/108613] New: GCC12 internal compiler error on __int128_t in type_traits header
@ 2023-01-31 12:07 mserdarsanli at gmail dot com
  2023-01-31 15:00 ` [Bug c++/108613] [12/13 Regression] " rguenth at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: mserdarsanli at gmail dot com @ 2023-01-31 12:07 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 108613
           Summary: GCC12 internal compiler error on __int128_t in
                    type_traits header
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mserdarsanli at gmail dot com
  Target Milestone: ---

https://godbolt.org/z/M1o34e6cx

Below code crashes GCC versions starting with GCC 12. It is only stuff from std
library headers, I've copied bits from preprocessed output.



template< class > struct remove_cv;
template< class _Tp> using __remove_cv_t = typename remove_cv< _Tp> ::type;

template< class _Tp, _Tp __v>
struct integral_constant {
    static constexpr inline _Tp value = (__v);
    typedef _Tp value_type;
    typedef integral_constant type;
    constexpr operator value_type() const noexcept { return value; }
    constexpr value_type operator()() const noexcept { return value; }
};

using false_type = integral_constant< bool, false> ;

template< class ...> struct __or_;

template<> struct __or_< > : public false_type {};


template< class , class > struct is_same;

template< class _Tp, class ..._Types> using __is_one_of = __or_< is_same< _Tp,
_Types> ...> ;

template< class _Tp> using __is_signed_integer = __is_one_of< _Tp , 
    signed char, signed short, signed int, signed long, signed long long,
signed __int128_t> ;


-----------
Stacktrace:

0xe2534f crash_signal
        /root/source/gcc-12.2.0/gcc/toplev.cc:322
0x7c0535 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
        /root/source/gcc-12.2.0/gcc/cp/decl.cc:12373
0x7c73fc groktypename(cp_decl_specifier_seq*, cp_declarator const*, bool)
        /root/source/gcc-12.2.0/gcc/cp/decl.cc:5514
0x8797d5 cp_parser_type_id_1
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:24250
0x87c4f3 cp_parser_template_type_arg
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:24272
0x87c659 cp_parser_template_argument
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:18803
0x87c659 cp_parser_template_argument_list
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:18727
0x87c659 cp_parser_enclosed_template_argument_list
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:32059
0x87da7f cp_parser_template_id
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:18266
0x87e239 cp_parser_class_name
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:25713
0x875d8e cp_parser_qualifying_entity
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:7116
0x875d8e cp_parser_nested_name_specifier_opt
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:6798
0x88cf6c cp_parser_simple_type_specifier
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:19765
0x86aea5 cp_parser_type_specifier
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:19424
0x87b3d0 cp_parser_type_specifier_seq
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:24364
0x879744 cp_parser_type_id_1
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:24164
0x87c117 cp_parser_type_id
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:24260
0x87c117 cp_parser_alias_declaration
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:21778
0x897f37 cp_parser_template_declaration_after_parameters
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:31316
0x89827a cp_parser_explicit_template_declaration
        /root/source/gcc-12.2.0/gcc/cp/parser.cc:31598

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

* [Bug c++/108613] [12/13 Regression] GCC12 internal compiler error on __int128_t in type_traits header
  2023-01-31 12:07 [Bug c++/108613] New: GCC12 internal compiler error on __int128_t in type_traits header mserdarsanli at gmail dot com
@ 2023-01-31 15:00 ` rguenth at gcc dot gnu.org
  2023-01-31 15:39 ` ppalka at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-01-31 15:00 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
      Known to work|                            |11.3.1
   Target Milestone|---                         |12.3
            Summary|GCC12 internal compiler     |[12/13 Regression] GCC12
                   |error on __int128_t in      |internal compiler error on
                   |type_traits header          |__int128_t in type_traits
                   |                            |header
     Ever confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|                            |2023-01-31

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.

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

* [Bug c++/108613] [12/13 Regression] GCC12 internal compiler error on __int128_t in type_traits header
  2023-01-31 12:07 [Bug c++/108613] New: GCC12 internal compiler error on __int128_t in type_traits header mserdarsanli at gmail dot com
  2023-01-31 15:00 ` [Bug c++/108613] [12/13 Regression] " rguenth at gcc dot gnu.org
@ 2023-01-31 15:39 ` ppalka at gcc dot gnu.org
  2023-01-31 15:59 ` pinskia at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: ppalka at gcc dot gnu.org @ 2023-01-31 15:39 UTC (permalink / raw)
  To: gcc-bugs

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

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=102804
                 CC|                            |jason at gcc dot gnu.org,
                   |                            |ppalka at gcc dot gnu.org

--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Started with with r12-8173-ge580f81d22d611

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

* [Bug c++/108613] [12/13 Regression] GCC12 internal compiler error on __int128_t in type_traits header
  2023-01-31 12:07 [Bug c++/108613] New: GCC12 internal compiler error on __int128_t in type_traits header mserdarsanli at gmail dot com
  2023-01-31 15:00 ` [Bug c++/108613] [12/13 Regression] " rguenth at gcc dot gnu.org
  2023-01-31 15:39 ` ppalka at gcc dot gnu.org
@ 2023-01-31 15:59 ` pinskia at gcc dot gnu.org
  2023-01-31 16:00 ` pinskia at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-01-31 15:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
signed __int128_t

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

* [Bug c++/108613] [12/13 Regression] GCC12 internal compiler error on __int128_t in type_traits header
  2023-01-31 12:07 [Bug c++/108613] New: GCC12 internal compiler error on __int128_t in type_traits header mserdarsanli at gmail dot com
                   ` (2 preceding siblings ...)
  2023-01-31 15:59 ` pinskia at gcc dot gnu.org
@ 2023-01-31 16:00 ` pinskia at gcc dot gnu.org
  2023-02-01 19:52 ` redi at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-01-31 16:00 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Dup of bug 108099

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

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

* [Bug c++/108613] [12/13 Regression] GCC12 internal compiler error on __int128_t in type_traits header
  2023-01-31 12:07 [Bug c++/108613] New: GCC12 internal compiler error on __int128_t in type_traits header mserdarsanli at gmail dot com
                   ` (3 preceding siblings ...)
  2023-01-31 16:00 ` pinskia at gcc dot gnu.org
@ 2023-02-01 19:52 ` redi at gcc dot gnu.org
  2023-02-01 22:03 ` mserdarsanli at gmail dot com
  2023-02-01 22:40 ` redi at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: redi at gcc dot gnu.org @ 2023-02-01 19:52 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Serdar Sanli from comment #0)
> https://godbolt.org/z/M1o34e6cx
> 
> Below code crashes GCC versions starting with GCC 12. It is only stuff from
> std library headers, I've copied bits from preprocessed output.
...
> template< class _Tp> using __is_signed_integer = __is_one_of< _Tp , 
>     signed char, signed short, signed int, signed long, signed long long,
> signed __int128_t> ;

Where did you get this from? The <type_traits> header uses signed __int128
here, not signed __int128_t.

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

* [Bug c++/108613] [12/13 Regression] GCC12 internal compiler error on __int128_t in type_traits header
  2023-01-31 12:07 [Bug c++/108613] New: GCC12 internal compiler error on __int128_t in type_traits header mserdarsanli at gmail dot com
                   ` (4 preceding siblings ...)
  2023-02-01 19:52 ` redi at gcc dot gnu.org
@ 2023-02-01 22:03 ` mserdarsanli at gmail dot com
  2023-02-01 22:40 ` redi at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: mserdarsanli at gmail dot com @ 2023-02-01 22:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Serdar Sanli <mserdarsanli at gmail dot com> ---
> Where did you get this from? The <type_traits> header uses signed __int128 here, not signed __int128_t.

Just checked and __GLIBCXX_TYPE_INT_N_0 is also __int128 for me. int128_t seem
to come from somewhere else, in my case it is in cuda compiler generated code.

Sorry for not being clear and wasting time, snippet I copied was only intended
as a repro, not as a bug report on stdlibc++.

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

* [Bug c++/108613] [12/13 Regression] GCC12 internal compiler error on __int128_t in type_traits header
  2023-01-31 12:07 [Bug c++/108613] New: GCC12 internal compiler error on __int128_t in type_traits header mserdarsanli at gmail dot com
                   ` (5 preceding siblings ...)
  2023-02-01 22:03 ` mserdarsanli at gmail dot com
@ 2023-02-01 22:40 ` redi at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: redi at gcc dot gnu.org @ 2023-02-01 22:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
OK, thanks for confirming.

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

end of thread, other threads:[~2023-02-01 22:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-31 12:07 [Bug c++/108613] New: GCC12 internal compiler error on __int128_t in type_traits header mserdarsanli at gmail dot com
2023-01-31 15:00 ` [Bug c++/108613] [12/13 Regression] " rguenth at gcc dot gnu.org
2023-01-31 15:39 ` ppalka at gcc dot gnu.org
2023-01-31 15:59 ` pinskia at gcc dot gnu.org
2023-01-31 16:00 ` pinskia at gcc dot gnu.org
2023-02-01 19:52 ` redi at gcc dot gnu.org
2023-02-01 22:03 ` mserdarsanli at gmail dot com
2023-02-01 22:40 ` redi 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).