public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845
@ 2022-02-22 19:30 gscfq@t-online.de
  2022-02-22 20:19 ` [Bug c++/104646] " mpolacek at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: gscfq@t-online.de @ 2022-02-22 19:30 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 104646
           Summary: [9/10/11/12 Regression] ICE in
                    cx_check_missing_mem_inits, at cp/constexpr.cc:845
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

Seems to have started with r7 (r6 seems to compile it) :
(gcc configured with --enable-checking=yes)


$ cat z1.cc
#include <regex>
#include <string>
int main() {
  const std::string str = "abc";
  std::regex re;
  re = std::regex("^[0-9]$");
  return std::regex_search(str, re);
}


$ g++-12-20220220 -c z1.cc -fno-elide-constructors
In file included from .../include/c++/12.0.1/bits/stl_algobase.h:64,
                 from .../include/c++/12.0.1/string:50,
                 from .../include/c++/12.0.1/bitset:47,
                 from .../include/c++/12.0.1/regex:38,
                 from z1.cc:1:
.../include/c++/12.0.1/bits/stl_pair.h: In instantiation of 'void
std::__detail::_Executor< <template-parameter-1-1>, <template-parameter-1-2>,
<template-parameter-1-3>, <anonymous> >::_M_rep_once_more(_Match_mode,
std::__detail::_StateIdT) [with _BiIter = __gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> >; _Alloc =
std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> > > >; _TraitsT =
std::__cxx11::regex_traits<char>; bool __dfs_mode = false;
std::__detail::_StateIdT = long int]':
.../include/c++/12.0.1/bits/regex_executor.tcc:212:4:   required from 'void
std::__detail::_Executor< <template-parameter-1-1>, <template-parameter-1-2>,
<template-parameter-1-3>, <anonymous> >::_M_handle_repeat(_Match_mode,
std::__detail::_StateIdT) [with _BiIter = __gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> >; _Alloc =
std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> > > >; _TraitsT =
std::__cxx11::regex_traits<char>; bool __dfs_mode = false;
std::__detail::_StateIdT = long int]'
.../include/c++/12.0.1/bits/regex_executor.tcc:515:4:   required from 'void
std::__detail::_Executor< <template-parameter-1-1>, <template-parameter-1-2>,
<template-parameter-1-3>, <anonymous> >::_M_dfs(_Match_mode,
std::__detail::_StateIdT) [with _BiIter = __gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> >; _Alloc =
std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> > > >; _TraitsT =
std::__cxx11::regex_traits<char>; bool __dfs_mode = false;
std::__detail::_StateIdT = long int]'
.../include/c++/12.0.1/bits/regex_executor.tcc:130:8:   required from 'bool
std::__detail::_Executor< <template-parameter-1-1>, <template-parameter-1-2>,
<template-parameter-1-3>, <anonymous> >::_M_main_dispatch(_Match_mode, __bfs)
[with _BiIter = __gnu_cxx::__normal_iterator<const char*,
std::__cxx11::basic_string<char> >; _Alloc =
std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> > > >; _TraitsT =
std::__cxx11::regex_traits<char>; bool __dfs_mode = false; __bfs =
std::integral_constant<bool, false>]'
.../include/c++/12.0.1/bits/regex_executor.h:149:32:   required from 'bool
std::__detail::_Executor< <template-parameter-1-1>, <template-parameter-1-2>,
<template-parameter-1-3>, <anonymous> >::_M_main(_Match_mode) [with _BiIter =
__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >;
_Alloc =
std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> > > >; _TraitsT =
std::__cxx11::regex_traits<char>; bool __dfs_mode = false]'
.../include/c++/12.0.1/bits/regex_executor.h:93:9:   required from 'bool
std::__detail::_Executor< <template-parameter-1-1>, <template-parameter-1-2>,
<template-parameter-1-3>, <anonymous> >::_M_match() [with _BiIter =
__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >;
_Alloc =
std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> > > >; _TraitsT =
std::__cxx11::regex_traits<char>; bool __dfs_mode = false]'
.../include/c++/12.0.1/bits/regex.tcc:71:33:   required from 'bool
std::__detail::__regex_algo_impl(_BiIter, _BiIter,
std::__cxx11::match_results<_BiIter, _Alloc>&, const
std::__cxx11::basic_regex<_CharT, _TraitsT>&,
std::regex_constants::match_flag_type, _RegexExecutorPolicy, bool) [with
_BiIter = __gnu_cxx::__normal_iterator<const char*,
std::__cxx11::basic_string<char> >; _Alloc =
std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<const
char*, std::__cxx11::basic_string<char> > > >; _CharT = char; _TraitsT =
std::__cxx11::regex_traits<char>]'
.../include/c++/12.0.1/bits/regex.h:2364:41:   required from 'bool
std::regex_search(_Bi_iter, _Bi_iter, __cxx11::match_results<_BiIter, _Alloc>&,
const __cxx11::basic_regex<_CharT, _TraitsT>&,
regex_constants::match_flag_type) [with _Bi_iter =
__gnu_cxx::__normal_iterator<const char*, __cxx11::basic_string<char> >; _Alloc
= allocator<__cxx11::sub_match<__gnu_cxx::__normal_iterator<const char*,
__cxx11::basic_string<char> > > >; _Ch_type = char; _Rx_traits =
__cxx11::regex_traits<char>]'
.../include/c++/12.0.1/bits/regex.h:2387:26:   required from 'bool
std::regex_search(_Bi_iter, _Bi_iter, const __cxx11::basic_regex<_Ch_type,
_Rx_traits>&, regex_constants::match_flag_type) [with _Bi_iter =
__gnu_cxx::__normal_iterator<const char*, __cxx11::basic_string<char> >;
_Ch_type = char; _Rx_traits = __cxx11::regex_traits<char>]'
.../include/c++/12.0.1/bits/regex.h:2447:26:   required from 'bool
std::regex_search(const __cxx11::basic_string<_Ch_type, _Ch_traits,
_Str_allocator>&, const __cxx11::basic_regex<_CharT, _TraitsT>&,
regex_constants::match_flag_type) [with _Ch_traits = char_traits<char>;
_String_allocator = allocator<char>; _Ch_type = char; _Rx_traits =
__cxx11::regex_traits<char>]'
z1.cc:7:27:   required from here
.../include/c++/12.0.1/bits/stl_pair.h:195:17: internal compiler error: in
cx_check_missing_mem_inits, at cp/constexpr.cc:845
  195 |       constexpr pair(const pair&) = default;    ///< Copy constructor
      |                 ^~~~
0x766de6 cx_check_missing_mem_inits
        ../../gcc/cp/constexpr.cc:844
0x77e001 cx_check_missing_mem_inits
        ../../gcc/cp/constexpr.cc:969
0x77e001 maybe_save_constexpr_fundef(tree_node*)
        ../../gcc/cp/constexpr.cc:925
0x803fe1 finish_function(bool)
        ../../gcc/cp/decl.cc:17815
0x882bd3 synthesize_method(tree_node*)
        ../../gcc/cp/method.cc:1837
0x81dc24 mark_used(tree_node*, int)
        ../../gcc/cp/decl2.cc:5960
0x72d4d9 build_over_call
        ../../gcc/cp/call.cc:9850
0x731bef build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
        ../../gcc/cp/call.cc:11139
0x733888 build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
        ../../gcc/cp/call.cc:10613
0x7beca6 ocp_convert(tree_node*, tree_node*, int, int, int)
        ../../gcc/cp/cvt.cc:956
0x8473f3 expand_default_init
        ../../gcc/cp/init.cc:2127
0x8473f3 expand_aggr_init_1
        ../../gcc/cp/init.cc:2313
0x849d18 build_aggr_init(tree_node*, tree_node*, int, int)
        ../../gcc/cp/init.cc:2033
0x7d910f build_aggr_init_full_exprs
        ../../gcc/cp/decl.cc:7058
0x7d910f check_initializer
        ../../gcc/cp/decl.cc:7219
0x8078d6 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
        ../../gcc/cp/decl.cc:8247
0x996dc4 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.cc:18615
0x992238 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.cc:18423
0x9938d3 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.cc:18780
0x99640c tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.cc:18749

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

* [Bug c++/104646] [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845
  2022-02-22 19:30 [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845 gscfq@t-online.de
@ 2022-02-22 20:19 ` mpolacek at gcc dot gnu.org
  2022-02-22 20:58 ` mpolacek at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-02-22 20:19 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2022-02-22
           Priority|P3                          |P2
   Target Milestone|---                         |9.5
                 CC|                            |jason at gcc dot gnu.org,
                   |                            |mpolacek at gcc dot gnu.org
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Started with r7-2144.

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

* [Bug c++/104646] [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845
  2022-02-22 19:30 [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845 gscfq@t-online.de
  2022-02-22 20:19 ` [Bug c++/104646] " mpolacek at gcc dot gnu.org
@ 2022-02-22 20:58 ` mpolacek at gcc dot gnu.org
  2022-04-14 21:10 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-02-22 20:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Somewhat reduced:

template <typename _T1> struct pair {
  _T1 first;
  int second;
};
template <typename _Iterator> class __normal_iterator {
  _Iterator __traits_type;

public:
  constexpr __normal_iterator() {}
};
template <typename> class allocator;
template <typename> struct allocator_traits;
template <typename _Tp> struct allocator_traits<allocator<_Tp>> {
  using value_type = _Tp;
  template <typename _Up> using rebind_alloc = allocator<_Up>;
};
template <typename _Alloc> struct __alloc_traits {
  typedef allocator_traits<_Alloc> _Base_type;
  typedef typename _Base_type::value_type &const_reference;
  template <typename _Tp> struct rebind {
    typedef typename _Base_type::template rebind_alloc<_Tp> other;
  };
};
template <typename _Tp, typename _Alloc> struct _Vector_base {
  typedef typename __alloc_traits<_Alloc>::template rebind<_Tp>::other
_Tp_alloc_type;
};
template <typename _Tp, typename _Alloc = allocator<_Tp>> class vector {
public:
  typename __alloc_traits<
      typename _Vector_base<_Tp, _Alloc>::_Tp_alloc_type>::const_reference
  operator[](long);
};
enum match_flag_type {};
template <typename, typename> class Trans_NS___cxx11_basic_regex;
class Trans_NS___cxx11_match_results;
enum _RegexExecutorPolicy { _S_auto };
template <typename, typename, typename _CharT, typename _TraitsT,
          _RegexExecutorPolicy, bool>
bool __regex_algo_impl(Trans_NS___cxx11_match_results &,
                       const Trans_NS___cxx11_basic_regex<_CharT, _TraitsT> &);
template <typename, typename, typename, bool> class _Executor;
template <typename _Ch_type, typename = _Ch_type>
class Trans_NS___cxx11_basic_regex {};
class Trans_NS___cxx11_match_results : vector<int> {
  template <typename, typename, typename _Cp, typename _Rp,
            _RegexExecutorPolicy, bool>
  friend bool __regex_algo_impl(Trans_NS___cxx11_match_results &,
                                const Trans_NS___cxx11_basic_regex<_Cp, _Rp>
&);
};
template <typename _Bi_iter, typename _Alloc, typename _Ch_type,
          typename _Rx_traits>
void regex_search(_Bi_iter, _Alloc,
                  Trans_NS___cxx11_basic_regex<_Ch_type, _Rx_traits>) {
  __regex_algo_impl<_Bi_iter, _Alloc, _Ch_type, _Rx_traits, _S_auto, false>;
}
match_flag_type __regex_algo_impl___flags;
template <typename, typename, typename _CharT, typename _TraitsT,
          _RegexExecutorPolicy, bool>
bool __regex_algo_impl(
    Trans_NS___cxx11_match_results &__m,
    const Trans_NS___cxx11_basic_regex<_CharT, _TraitsT> &__re) {
  __normal_iterator<const char *> __e, __s;
  _Executor<int, int, _TraitsT, false> __executor(__s, __e, __m, __re,
                                                  __regex_algo_impl___flags);
  __executor._M_match();
  return false;
}
template <typename, typename, typename, bool> class _Executor {
public:
  _Executor(__normal_iterator<const char *>, __normal_iterator<const char *>,
            vector<int>, Trans_NS___cxx11_basic_regex<char>, match_flag_type);
  void _M_match() { _M_dfs(); }
  void _M_dfs();
  vector<pair<__normal_iterator<char *>>> _M_rep_count;
};
long _M_rep_once_more___i;
template <typename _BiIter, typename _Alloc, typename _TraitsT, bool
__dfs_mode>
void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::_M_dfs() {
  auto __rep_count = _M_rep_count[_M_rep_once_more___i];
}
char main___trans_tmp_1;
void main___trans_tmp_2() {
  Trans_NS___cxx11_basic_regex<char> re;
  regex_search(main___trans_tmp_1, main___trans_tmp_2, re);
}

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

* [Bug c++/104646] [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845
  2022-02-22 19:30 [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845 gscfq@t-online.de
  2022-02-22 20:19 ` [Bug c++/104646] " mpolacek at gcc dot gnu.org
  2022-02-22 20:58 ` mpolacek at gcc dot gnu.org
@ 2022-04-14 21:10 ` cvs-commit at gcc dot gnu.org
  2022-04-14 21:11 ` [Bug c++/104646] [9/10/11 " jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-04-14 21:10 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:c5de3444c4798758cdd800eca144480b4a8ef299

commit r12-8167-gc5de3444c4798758cdd800eca144480b4a8ef299
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Apr 14 15:34:14 2022 -0400

    c++: constexpr trivial -fno-elide-ctors [PR104646]

    The constexpr constructor checking code got confused by the expansion of a
    trivial copy constructor; we don't need to do that checking for defaulted
    ctors, anyway.

            PR c++/104646

    gcc/cp/ChangeLog:

            * constexpr.cc (maybe_save_constexpr_fundef): Don't do extra
            checks for defaulted ctors.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/constexpr-fno-elide-ctors1.C: New test.

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

* [Bug c++/104646] [9/10/11 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845
  2022-02-22 19:30 [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845 gscfq@t-online.de
                   ` (2 preceding siblings ...)
  2022-04-14 21:10 ` cvs-commit at gcc dot gnu.org
@ 2022-04-14 21:11 ` jason at gcc dot gnu.org
  2022-05-12 20:14 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jason at gcc dot gnu.org @ 2022-04-14 21:11 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10/11/12 Regression] ICE |[9/10/11 Regression] ICE in
                   |in                          |cx_check_missing_mem_inits,
                   |cx_check_missing_mem_inits, |at cp/constexpr.cc:845
                   |at cp/constexpr.cc:845      |
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org

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

* [Bug c++/104646] [9/10/11 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845
  2022-02-22 19:30 [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845 gscfq@t-online.de
                   ` (3 preceding siblings ...)
  2022-04-14 21:11 ` [Bug c++/104646] [9/10/11 " jason at gcc dot gnu.org
@ 2022-05-12 20:14 ` cvs-commit at gcc dot gnu.org
  2022-05-12 21:23 ` [Bug c++/104646] [9/10 " cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-12 20:14 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:a67bc6320d34b20fe838d479a6a1e110f1160c89

commit r11-9987-ga67bc6320d34b20fe838d479a6a1e110f1160c89
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Apr 14 15:34:14 2022 -0400

    c++: constexpr trivial -fno-elide-ctors [PR104646]

    The constexpr constructor checking code got confused by the expansion of a
    trivial copy constructor; we don't need to do that checking for defaulted
    ctors, anyway.

            PR c++/104646

    gcc/cp/ChangeLog:

            * constexpr.c (maybe_save_constexpr_fundef): Don't do extra
            checks for defaulted ctors.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/constexpr-fno-elide-ctors1.C: New test.

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

* [Bug c++/104646] [9/10 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845
  2022-02-22 19:30 [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845 gscfq@t-online.de
                   ` (4 preceding siblings ...)
  2022-05-12 20:14 ` cvs-commit at gcc dot gnu.org
@ 2022-05-12 21:23 ` cvs-commit at gcc dot gnu.org
  2022-05-13 17:41 ` [Bug c++/104646] [9 " cvs-commit at gcc dot gnu.org
  2022-05-13 17:50 ` jason at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-12 21:23 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:d939233ef460133e012d8f40f9d8c8fcb73bb7b8

commit r10-10725-gd939233ef460133e012d8f40f9d8c8fcb73bb7b8
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Apr 14 15:34:14 2022 -0400

    c++: constexpr trivial -fno-elide-ctors [PR104646]

    The constexpr constructor checking code got confused by the expansion of a
    trivial copy constructor; we don't need to do that checking for defaulted
    ctors, anyway.

            PR c++/104646

    gcc/cp/ChangeLog:

            * constexpr.c (maybe_save_constexpr_fundef): Don't do extra
            checks for defaulted ctors.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/constexpr-fno-elide-ctors1.C: New test.

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

* [Bug c++/104646] [9 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845
  2022-02-22 19:30 [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845 gscfq@t-online.de
                   ` (5 preceding siblings ...)
  2022-05-12 21:23 ` [Bug c++/104646] [9/10 " cvs-commit at gcc dot gnu.org
@ 2022-05-13 17:41 ` cvs-commit at gcc dot gnu.org
  2022-05-13 17:50 ` jason at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-13 17:41 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:7b4bd8dbd8d07e298528b0f033102ce8f693e739

commit r9-10171-g7b4bd8dbd8d07e298528b0f033102ce8f693e739
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Apr 14 15:34:14 2022 -0400

    c++: constexpr trivial -fno-elide-ctors [PR104646]

    The constexpr constructor checking code got confused by the expansion of a
    trivial copy constructor; we don't need to do that checking for defaulted
    ctors, anyway.

            PR c++/104646

    gcc/cp/ChangeLog:

            * constexpr.c (maybe_save_constexpr_fundef): Don't do extra
            checks for defaulted ctors.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/constexpr-fno-elide-ctors1.C: New test.

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

* [Bug c++/104646] [9 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845
  2022-02-22 19:30 [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845 gscfq@t-online.de
                   ` (6 preceding siblings ...)
  2022-05-13 17:41 ` [Bug c++/104646] [9 " cvs-commit at gcc dot gnu.org
@ 2022-05-13 17:50 ` jason at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jason at gcc dot gnu.org @ 2022-05-13 17:50 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for 9.5/10.4/11.4/12.

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

end of thread, other threads:[~2022-05-13 17:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-22 19:30 [Bug c++/104646] New: [9/10/11/12 Regression] ICE in cx_check_missing_mem_inits, at cp/constexpr.cc:845 gscfq@t-online.de
2022-02-22 20:19 ` [Bug c++/104646] " mpolacek at gcc dot gnu.org
2022-02-22 20:58 ` mpolacek at gcc dot gnu.org
2022-04-14 21:10 ` cvs-commit at gcc dot gnu.org
2022-04-14 21:11 ` [Bug c++/104646] [9/10/11 " jason at gcc dot gnu.org
2022-05-12 20:14 ` cvs-commit at gcc dot gnu.org
2022-05-12 21:23 ` [Bug c++/104646] [9/10 " cvs-commit at gcc dot gnu.org
2022-05-13 17:41 ` [Bug c++/104646] [9 " cvs-commit at gcc dot gnu.org
2022-05-13 17:50 ` 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).