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

nik <xerofoify at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |xerofoify at gmail dot com

--- Comment #1 from nik <xerofoify at gmail dot com> ---
(In reply to Emmanuel Le Trong from comment #0)
> Both trunk and 8.2.1 segfault on this valid snippet
> 
> $ cat bug_4.cpp
>     template <class T, class U>
>     concept bool Concept2 = requires (T t, U u)
>     {
>         { t += u } -> T&;
>     };
>     
>     template <class T>
>     concept bool Concept = Concept2 <T, T>;
>     
>     struct S
>     {
>         template <Concept T>
>         constexpr S& operator += (T o);
>     };
>     constexpr S operator * (S a, S b)
>     {
>         return a += b;
>     }
> 
> 
> 
> $ g++-9 -std=c++2a -fconcepts -c bug_4.cpp
> g++-9: internal compiler error: Segmentation fault signal terminated program
> cc1plus
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <https://gcc.gnu.org/bugs/> for instructions.
> 
> $ g++-9 -v
> Using built-in specs.
> COLLECT_GCC=g++-9
> COLLECT_LTO_WRAPPER=/home/manu/system/opt/gcc-9/libexec/gcc/x86_64-pc-linux-
> gnu/9.0.0/lto-wrapper
> Target: x86_64-pc-linux-gnu
> Configured with: ../gcc-9/configure --prefix=/home/manu/system/opt/gcc-9
> --program-suffix=-9
> Thread model: posix
> gcc version 9.0.0 20181204 (experimental) (GCC)

First off that's just a valid snippet without a class definition so I was
unable to build it against gcc itself to even check this is a bug. Further more
can you check this is still happening and if so just report back with the exact
code that builds but is giving you a segfault on the trunk branch.

Reply via email to