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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-01-05
                 CC|                            |trippels at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
This is what creduce came up with:

markus@x4 tmp % cat deb.ii
template <typename _Tp> struct A { typedef __underlying_type(_Tp) type; };
namespace o3tl {
template <typename> struct typed_flags;
template <typename E, typename A<E>::type> struct is_typed_flags {
  class Wrap {
  public:
    constexpr operator E() {}
  };
};
}
template <typename E>
constexpr typename o3tl::typed_flags<E>::Wrap operator|(E, E) {
  __PRETTY_FUNCTION__;
}
enum SfxSlotMode { NONE, PROPGET };
namespace o3tl {
template <>
struct typed_flags<SfxSlotMode> : is_typed_flags<SfxSlotMode, 0x1ffffbfL> {};
class {
public:
  short nGroupId;
} a{(short)(NONE | PROPGET)};
}

markus@x4 tmp % g++ deb.ii
deb.ii:22:20:   in constexpr expansion of
‘operator|<SfxSlotMode>((SfxSlotMode)0u, (SfxSlotMode)1u)’
deb.ii:22:28: internal compiler error: Segmentation fault
 } a{(short)(NONE | PROPGET)};
                            ^

0xcc988f crash_signal
        ../../gcc/gcc/toplev.c:334
0x7f1334c6230f ???
       
/home/markus/glibc/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0xa48714 bool vec_safe_reserve<tree_node*, va_gc>(vec<tree_node*, va_gc,
vl_embed>*&, unsigned int, bool)
        ../../gcc/gcc/vec.h:553
0xa48714 tree_node** vec_safe_push<tree_node*, va_gc>(vec<tree_node*, va_gc,
vl_embed>*&, tree_node* const&)
        ../../gcc/gcc/vec.h:647
0xa48714 add_local_decl(function*, tree_node*)
        ../../gcc/gcc/function.c:6791
0xd3c416 remap_decls
        ../../gcc/gcc/tree-inline.c:611
0xd3d290 remap_block
        ../../gcc/gcc/tree-inline.c:679
0xd4373e copy_bind_expr
        ../../gcc/gcc/tree-inline.c:752

Reply via email to