public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph
@ 2023-02-13 12:54 kkeithle at redhat dot com
  2023-02-13 13:04 ` [Bug c++/108773] " kkeithle at redhat dot com
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: kkeithle at redhat dot com @ 2023-02-13 12:54 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 108773
           Summary: internal compiler error: in gimplify_var_or_parm_decl,
                    at gimplify.cc:3058 compiling ceph
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: kkeithle at redhat dot com
  Target Milestone: ---

Description of problem:

see https://koji.fedoraproject.org/koji/taskinfo?taskID=97426819

gcc throws compiler error during compilation of
...ceph/src/rgw/driver/rados/rgw_sync_trace.cc in ceph snapshot from
https://1.chacra.ceph.com/r/ceph/main/9754cafc029e1da83f5ddd4332b69066fe6b3ffb/centos/8/flavors/default/SRPMS/ceph-18.0.0-2148.g9754cafc.el8.src.rpm


Version-Release number of selected component (if applicable):

13.0.1-0.2.fc38

How reproducible:

See preprocessed output in the attachment

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

* [Bug c++/108773] internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
@ 2023-02-13 13:04 ` kkeithle at redhat dot com
  2023-02-13 13:05 ` marxin at gcc dot gnu.org
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: kkeithle at redhat dot com @ 2023-02-13 13:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from kkeithle at redhat dot com ---
see https://bugzilla.redhat.com/show_bug.cgi?id=2169364

see https://bugzilla-attachments.redhat.com/attachment.cgi?id=1943849 for
preprocessed source file (too big to attach here)

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

* [Bug c++/108773] internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
  2023-02-13 13:04 ` [Bug c++/108773] " kkeithle at redhat dot com
@ 2023-02-13 13:05 ` marxin at gcc dot gnu.org
  2023-02-13 13:16 ` [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f marxin at gcc dot gnu.org
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: marxin at gcc dot gnu.org @ 2023-02-13 13:05 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2023-02-13
     Ever confirmed|0                           |1
                 CC|                            |marxin at gcc dot gnu.org

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
I can reproduce that I'm reducing that right now..

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
  2023-02-13 13:04 ` [Bug c++/108773] " kkeithle at redhat dot com
  2023-02-13 13:05 ` marxin at gcc dot gnu.org
@ 2023-02-13 13:16 ` marxin at gcc dot gnu.org
  2023-02-13 13:18 ` marxin at gcc dot gnu.org
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: marxin at gcc dot gnu.org @ 2023-02-13 13:16 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|internal compiler error: in |[13 Regression] ICE in
                   |gimplify_var_or_parm_decl,  |gimplify_var_or_parm_decl,
                   |at gimplify.cc:3058         |at gimplify.cc:3058
                   |compiling ceph              |compiling ceph since
                   |                            |r13-4563-g1e1847612d7f169f

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r13-4563-g1e1847612d7f169f

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (2 preceding siblings ...)
  2023-02-13 13:16 ` [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f marxin at gcc dot gnu.org
@ 2023-02-13 13:18 ` marxin at gcc dot gnu.org
  2023-02-13 13:27 ` jakub at gcc dot gnu.org
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: marxin at gcc dot gnu.org @ 2023-02-13 13:18 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |needs-reduction

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
I'm not sure I'll be able to reduce it, btw. it crashes here:

#0  fancy_abort (file=file@entry=0x22c7288
"/home/marxin/Programming/gcc/gcc/gimplify.cc", line=line@entry=3058,
function=function@entry=0x22c6bab "gimplify_var_or_parm_decl") at
/home/marxin/Programming/gcc/gcc/diagnostic.cc:2219
#1  0x00000000007c1226 in gimplify_var_or_parm_decl (expr_p=0x7fffcfd6e338) at
/home/marxin/Programming/gcc/gcc/gimplify.cc:3058
#2  0x0000000000ebcb6b in gimplify_expr (expr_p=0x7fffcfd6e338,
pre_p=0x7fffffffbbb0, post_p=0x7fffffffb0f8, gimple_test_f=0xeab4c0
<is_gimple_addressable(tree)>, fallback=3) at
/home/marxin/Programming/gcc/gcc/gimplify.cc:16822
#3  0x0000000000ec36d6 in gimplify_addr_expr (expr_p=0x7fffba8c6940,
pre_p=0x7fffffffbbb0, post_p=0x7fffffffb0f8) at
/home/marxin/Programming/gcc/gcc/gimplify.cc:6561
#4  0x0000000000ebce24 in gimplify_expr (expr_p=0x7fffba8c6940,
pre_p=0x7fffffffbbb0, post_p=0x7fffffffb0f8, gimple_test_f=0xe6fb70
<is_gimple_val(tree_node*)>, fallback=1) at
/home/marxin/Programming/gcc/gcc/gimplify.cc:16408
#5  0x0000000000ec8822 in gimplify_expr (post_p=0x0, allow_ssa=true,
fallback=<optimized out>, gimple_test_f=<optimized out>, pre_p=0x7fffffffbbb0,
expr_p=0x7fffba8c6940) at /home/marxin/Programming/gcc/gcc/gimplify.cc:17425
#6  gimplify_arg (arg_p=0x7fffba8c6940, pre_p=0x7fffffffbbb0,
call_location=1422861833, allow_ssa=<optimized out>) at
/home/marxin/Programming/gcc/gcc/gimplify.cc:3504
#7  0x0000000000ecbf1c in gimplify_call_expr (expr_p=0x7fffcb66aad8,
pre_p=0x7fffffffbbb0, want_value=<optimized out>) at
/home/marxin/Programming/gcc/gcc/gimplify.cc:3789
#8  0x0000000000ebd0ec in gimplify_expr (expr_p=0x7fffcb66aad8,
pre_p=0x7fffffffbbb0, post_p=0x7fffffffb308, gimple_test_f=0xeafb80
<is_gimple_stmt(tree)>, fallback=0) at
/home/marxin/Programming/gcc/gcc/gimplify.cc:16333
#9  0x0000000000ebf4e7 in gimplify_stmt (stmt_p=<optimized out>,
seq_p=0x7fffffffbbb0) at /home/marxin/Programming/gcc/gcc/gimplify.cc:7219

...
(gdb) p debug_tree(decl)
 <var_decl 0x7fffe72e9480 D.1471832
    type <record_type 0x7ffff6fe43f0 allocator sizes-gimplified addressable
needs-constructing cxx-odr-p type_1 type_4 type_5 type_6 BLK
        size <integer_cst 0x7ffff76420c0 constant 8>
        unit-size <integer_cst 0x7ffff76420d8 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff6fe43f0
        fields <field_decl 0x7ffff6da0390 D.19596 type <record_type
0x7ffff6d96930 __new_allocator>
            ignored decl_6 BLK
/home/marxin/Programming/testcases/ceph.ii:10806:11
            size <integer_cst 0x7ffff7642000 constant 0> unit-size <integer_cst
0x7ffff7642000 0>
            align:8 warn_if_not_align:0 offset_align 8 decl_not_flexarray: 0
offset <integer_cst 0x7ffff7642000 0>
            bit-offset <integer_cst 0x7ffff7642048 constant 0> context
<record_type 0x7ffff6fe43f0 allocator> chain <function_decl 0x7ffff6d9ce00 __ct
>> context <namespace_decl 0x7ffff763c098 std>
        full-name "class std::allocator<char>"
        needs-constructor needs-destructor X() X(constX&) this=(X&) n_parents=1
use_template=3 interface-only
        pointer_to_this <pointer_type 0x7ffff6d9d540> reference_to_this
<reference_type 0x7ffff6d9da80> chain <type_decl 0x7ffff6fe3980 allocator>>
    addressable used ignored read BLK
/home/marxin/Programming/testcases/ceph.ii:322049:24 size <integer_cst
0x7ffff76420c0 8> unit-size <integer_cst 0x7ffff76420d8 1>
    align:8 warn_if_not_align:0 context <function_decl 0x7ffff00ec500
hook_to_admin_command>>

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (3 preceding siblings ...)
  2023-02-13 13:18 ` marxin at gcc dot gnu.org
@ 2023-02-13 13:27 ` jakub at gcc dot gnu.org
  2023-02-13 14:27 ` jakub at gcc dot gnu.org
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-13 13:27 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org
   Target Milestone|---                         |13.0
           Priority|P3                          |P1

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (4 preceding siblings ...)
  2023-02-13 13:27 ` jakub at gcc dot gnu.org
@ 2023-02-13 14:27 ` jakub at gcc dot gnu.org
  2023-02-13 14:39 ` jakub at gcc dot gnu.org
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-13 14:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
It is on
  admin_commands = { { "sync trace show name=search,type=CephString,req=false",
"sync trace show [filter_str]: show current multisite tracing information" },
                     { "sync trace history
name=search,type=CephString,req=false", "sync trace history [filter_str]: show
history of multisite tracing information" },
                     { "sync trace active
name=search,type=CephString,req=false", "show active multisite sync entities
information" },
                     { "sync trace active_short
name=search,type=CephString,req=false", "show active multisite sync entities
entries" } };
in int RGWSyncTraceManager::hook_to_admin_command(), where admin_commands is:
  std::list<std::array<std::string, 3> > admin_commands;
Though, -std=c++20:
#include <list>
#include <vector>
#include <string>
#include <initializer_list>

struct S
{
  std::list<std::array<std::string, 3> > admin_commands;
  void foo ();
};

void
S::foo ()
{
  admin_commands = { { "sync trace show name=search,type=CephString,req=false",
"sync trace show [filter_str]: show current multisite tracing information" },
                     { "sync trace history
name=search,type=CephString,req=false", "sync trace history [filter_str]: show
history of multisite tracing information" },
                     { "sync trace active
name=search,type=CephString,req=false", "show active multisite sync entities
information" },
                     { "sync trace active_short
name=search,type=CephString,req=false", "show active multisite sync entities
entries" } };
}
is rejected with
/tmp/1.C: In member function ‘void S::foo()’:
/tmp/1.C:18:137: error: no match for ‘operator=’ (operand types are
‘std::__cxx11::list<std::array<std::__cxx11::basic_string<char>, 3> >’ and
‘<brace-enclosed initializer list>’)
   18 |                      { "sync trace active_short
name=search,type=CephString,req=false", "show active multisite sync entities
entries" } };
      |                                                                        
                                                                ^
In file included from
/home/jakub/src/gcc/obj18i/usr/local/include/c++/13.0.1/list:66,
                 from /tmp/1.C:1:
/home/jakub/src/gcc/obj18i/usr/local/include/c++/13.0.1/bits/list.tcc:267:5:
note: candidate: ‘std::__cxx11::list<_Tp, _Alloc>& std::__cxx11::list<_Tp,
_Alloc>::operator=(const std::__cxx11::list<_Tp, _Alloc>&) [with _Tp =
std::array<std::__cxx11::basic_string<char>, 3>; _Alloc =
std::allocator<std::array<std::__cxx11::basic_string<char>, 3> >]’
  267 |     list<_Tp, _Alloc>::
      |     ^~~~~~~~~~~~~~~~~
/home/jakub/src/gcc/obj18i/usr/local/include/c++/13.0.1/bits/list.tcc:268:27:
note:   no known conversion for argument 1 from ‘<brace-enclosed initializer
list>’ to ‘const
std::__cxx11::list<std::array<std::__cxx11::basic_string<char>, 3> >&’
  268 |     operator=(const list& __x)
      |               ~~~~~~~~~~~~^~~
In file included from
/home/jakub/src/gcc/obj18i/usr/local/include/c++/13.0.1/list:65:
/home/jakub/src/gcc/obj18i/usr/local/include/c++/13.0.1/bits/stl_list.h:929:7:
note: candidate: ‘std::__cxx11::list<_Tp, _Alloc>& std::__cxx11::list<_Tp,
_Alloc>::operator=(std::__cxx11::list<_Tp, _Alloc>&&) [with _Tp =
std::array<std::__cxx11::basic_string<char>, 3>; _Alloc =
std::allocator<std::array<std::__cxx11::basic_string<char>, 3> >]’
  929 |       operator=(list&& __x)
      |       ^~~~~~~~
/home/jakub/src/gcc/obj18i/usr/local/include/c++/13.0.1/bits/stl_list.h:929:24:
note:   no known conversion for argument 1 from ‘<brace-enclosed initializer
list>’ to ‘std::__cxx11::list<std::array<std::__cxx11::basic_string<char>, 3>
>&&’
  929 |       operator=(list&& __x)
      |                 ~~~~~~~^~~
/home/jakub/src/gcc/obj18i/usr/local/include/c++/13.0.1/bits/stl_list.h:947:7:
note: candidate: ‘std::__cxx11::list<_Tp, _Alloc>& std::__cxx11::list<_Tp,
_Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp =
std::array<std::__cxx11::basic_string<char>, 3>; _Alloc =
std::allocator<std::array<std::__cxx11::basic_string<char>, 3> >]’
  947 |       operator=(initializer_list<value_type> __l)
      |       ^~~~~~~~
/home/jakub/src/gcc/obj18i/usr/local/include/c++/13.0.1/bits/stl_list.h:947:46:
note:   no known conversion for argument 1 from ‘<brace-enclosed initializer
list>’ to ‘std::initializer_list<std::array<std::__cxx11::basic_string<char>,
3> >’
  947 |       operator=(initializer_list<value_type> __l)
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (5 preceding siblings ...)
  2023-02-13 14:27 ` jakub at gcc dot gnu.org
@ 2023-02-13 14:39 ` jakub at gcc dot gnu.org
  2023-02-13 15:54 ` jakub at gcc dot gnu.org
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-13 14:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Trying to cvise reduce now (from hand reduced testcase from 15M to 5M).

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (6 preceding siblings ...)
  2023-02-13 14:39 ` jakub at gcc dot gnu.org
@ 2023-02-13 15:54 ` jakub at gcc dot gnu.org
  2023-02-13 16:03 ` marxin at gcc dot gnu.org
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-13 15:54 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Reduced testcase:
struct __new_allocator {};
template <typename> using __allocator_base = __new_allocator;
struct allocator : __allocator_base<int> {};
template <class> struct initializer_list {
  void *_M_array;
  decltype(sizeof 0) __rebind;
};
struct basic_string {
  basic_string(const char *, allocator = allocator());
  ~basic_string();
};
struct array {
  basic_string _M_elems;
};
struct list {
  void operator=(initializer_list<array>);
};
}
struct RGWSyncTraceManager {
  std::list admin_commands;
  void hook_to_admin_command();
};
void RGWSyncTraceManager::hook_to_admin_command() {
  admin_commands = {{""}, {""}};
}

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (7 preceding siblings ...)
  2023-02-13 15:54 ` jakub at gcc dot gnu.org
@ 2023-02-13 16:03 ` marxin at gcc dot gnu.org
  2023-02-13 16:11 ` jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: marxin at gcc dot gnu.org @ 2023-02-13 16:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> ---
Wow, you reduced that really fast Jakub!

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (8 preceding siblings ...)
  2023-02-13 16:03 ` marxin at gcc dot gnu.org
@ 2023-02-13 16:11 ` jakub at gcc dot gnu.org
  2023-02-13 17:06 ` jakub at gcc dot gnu.org
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-13 16:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Well, the reduction isn't exactly valid though, given how it defines
std::list/array.
I guess I could retry reduce with
 class RGWSyncTraceManager {   std::list<std::array<std::string, 3> >
admin_commands; public:   int hook_to_admin_command(); };
 int RGWSyncTraceManager::hook_to_admin_command() {   admin_commands = { {
"sync trace show name=search,type=CephString,req=false", "sync trace show
[filter_str]: show current multis
ite tracing information" },                      { "sync trace history
name=search,type=CephString,req=false", "sync trace history [filter_str]: show
history of multisite tracing inf
ormation" },                      { "sync trace active
name=search,type=CephString,req=false", "show active multisite sync entities
information" },                      { "sync trace
 active_short name=search,type=CephString,req=false", "show active multisite
sync entities entries" } };   return 0; }
as forced last few lines.

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (9 preceding siblings ...)
  2023-02-13 16:11 ` jakub at gcc dot gnu.org
@ 2023-02-13 17:06 ` jakub at gcc dot gnu.org
  2023-02-13 17:07 ` jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-13 17:06 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Slightly better testcase where basic_string, array and list are at least
templates, again -std=c++20:

namespace std {
struct __new_allocator {};
template <typename> using __allocator_base = __new_allocator;
struct allocator : __allocator_base<int> {};
template <class> struct initializer_list {
  void *_M_array;
  decltype(sizeof 0) __rebind;
};
template <typename T>
struct basic_string {
  basic_string(const T *, allocator = allocator());
  ~basic_string();
};
using string = basic_string<char>;
template <typename T>
struct array {
  T _M_elems;
};
template <typename T>
struct list {
  list &operator=(initializer_list<T>);
};
}
struct RGWSyncTraceManager {
  std::list<std::array<std::string>> admin_commands;
  void hook_to_admin_command();
};
void RGWSyncTraceManager::hook_to_admin_command() {
  admin_commands = {{""}, {""}};
}

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (10 preceding siblings ...)
  2023-02-13 17:06 ` jakub at gcc dot gnu.org
@ 2023-02-13 17:07 ` jakub at gcc dot gnu.org
  2023-02-27 10:33 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-13 17:07 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Even better don't make second initializer_list member __rebind:
namespace std {
struct __new_allocator {};
template <typename> using __allocator_base = __new_allocator;
struct allocator : __allocator_base<int> {};
template <class> struct initializer_list {
  void *_M_array;
  decltype(sizeof 0) _M_len;
};
template <typename T>
struct basic_string {
  basic_string(const T *, allocator = allocator());
  ~basic_string();
};
using string = basic_string<char>;
template <typename T>
struct array {
  T _M_elems;
};
template <typename T>
struct list {
  list &operator=(initializer_list<T>);
};
}
struct RGWSyncTraceManager {
  std::list<std::array<std::string>> admin_commands;
  void hook_to_admin_command();
};
void RGWSyncTraceManager::hook_to_admin_command() {
  admin_commands = {{""}, {""}};
}

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (11 preceding siblings ...)
  2023-02-13 17:07 ` jakub at gcc dot gnu.org
@ 2023-02-27 10:33 ` rguenth at gcc dot gnu.org
  2023-03-07  3:01 ` jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-02-27 10:33 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
The variable is built from

#0  build_local_temp (type=<record_type 0x7ffff6a6dc78 allocator>)
    at /space/rguenther/src/gcc/gcc/cp/tree.cc:559
#1  0x000000000110fdc1 in force_target_expr (
    type=<record_type 0x7ffff6a6dc78 allocator>, 
    init=<constructor 0x7ffff6a827c8>, complain=3)
    at /space/rguenther/src/gcc/gcc/cp/tree.cc:932
#2  0x0000000001119933 in bot_manip (tp=0x7fffffffbcb8, 
    walk_subtrees=0x7fffffffbc54, data_=0x7fffffffbcc0)
    at /space/rguenther/src/gcc/gcc/cp/tree.cc:3181
#3  0x0000000001dc81e0 in walk_tree_1 (tp=0x7fffffffbcb8, 
    func=0x111965a <bot_manip(tree*, int*, void*)>, data=0x7fffffffbcc0, 
    pset=0x0, 
    lh=0x1124208 <cp_walk_subtrees(tree_node**, int*, tree_node*
(*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*)>) at
/space/rguenther/src/gcc/gcc/tree.cc:11355
#4  0x000000000111aeaf in break_out_target_exprs (
    t=<target_expr 0x7ffff68bf7e0>, clear_location=true)
    at /space/rguenther/src/gcc/gcc/cp/tree.cc:3366
#5  0x0000000000d208e9 in convert_default_arg (
    type=<record_type 0x7ffff6a6dc78 allocator>, 
    arg=<target_expr 0x7ffff68bf7e0>, fn=<function_decl 0x7ffff6a6fb00 __ct >, 
    parmnum=1, complain=3) at /space/rguenther/src/gcc/gcc/cp/call.cc:9198
...

where build_local_temp doesn't add the variable to any BIND

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (12 preceding siblings ...)
  2023-02-27 10:33 ` rguenth at gcc dot gnu.org
@ 2023-03-07  3:01 ` jason at gcc dot gnu.org
  2023-03-08  3:35 ` jason at gcc dot gnu.org
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu.org @ 2023-03-07  3:01 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (13 preceding siblings ...)
  2023-03-07  3:01 ` jason at gcc dot gnu.org
@ 2023-03-08  3:35 ` jason at gcc dot gnu.org
  2023-03-09 21:26 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu.org @ 2023-03-08  3:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #5)
> /tmp/1.C:18:137: error: no match for ‘operator=’ (operand types are

Curiously, changing #include <vector> to #include <array> reproduces the ICE:

#include <list>
#include <array>
#include <string>

struct A {
  std::list<std::array<std::string, 3> > stuff;
  void foo();
};
void A::foo() {
  stuff = { { "", "" }, { "", "" } };
}

The cvise testcase changes the allocator parm to by-value, which hits a
different bug than the original.

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (14 preceding siblings ...)
  2023-03-08  3:35 ` jason at gcc dot gnu.org
@ 2023-03-09 21:26 ` cvs-commit at gcc dot gnu.org
  2023-03-09 21:30 ` jason at gcc dot gnu.org
  2023-03-13 18:07 ` kkeithle at redhat dot com
  17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-03-09 21:26 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

commit r13-6566-ge0324e2629e25a90c13c68b4eef1e47b091970c3
Author: Jason Merrill <jason@redhat.com>
Date:   Mon Mar 6 22:57:57 2023 -0500

    c++: allocator temps in list of arrays [PR108773]

    The optimization to reuse the same allocator temporary for all string
    constructor calls was breaking on this testcase, because the temps were
    already in the argument to build_vec_init, and replacing them with
    references to one slot got confused with calls at multiple levels (for the
    initializer_list backing array, and then again for the array member of the
    std::array).  Fixed by reusing the whole TARGET_EXPR instead of pulling out
    the slot; gimplification ensures that it's only initialized once.

    I also moved the check for initializing a std:: class down into the tree
    walk, and handle multiple temps within a single array element
    initialization.

            PR c++/108773

    gcc/cp/ChangeLog:

            * init.cc (find_allocator_temps_r): New.
            (combine_allocator_temps): Replace find_allocator_temp.
            (build_vec_init): Adjust.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/initlist-array18.C: New test.
            * g++.dg/cpp0x/initlist-array19.C: New test.

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (15 preceding siblings ...)
  2023-03-09 21:26 ` cvs-commit at gcc dot gnu.org
@ 2023-03-09 21:30 ` jason at gcc dot gnu.org
  2023-03-13 18:07 ` kkeithle at redhat dot com
  17 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu.org @ 2023-03-09 21:30 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #15 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed.

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

* [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f
  2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
                   ` (16 preceding siblings ...)
  2023-03-09 21:30 ` jason at gcc dot gnu.org
@ 2023-03-13 18:07 ` kkeithle at redhat dot com
  17 siblings, 0 replies; 19+ messages in thread
From: kkeithle at redhat dot com @ 2023-03-13 18:07 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from kkeithle at redhat dot com ---
Can confirm that the fix included in fedora gcc-13.0.1-0.7 works and I have now
successfully built ceph in fedora koji. 

https://koji.fedoraproject.org/koji/taskinfo?taskID=98654634

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

end of thread, other threads:[~2023-03-13 18:07 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-13 12:54 [Bug c++/108773] New: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph kkeithle at redhat dot com
2023-02-13 13:04 ` [Bug c++/108773] " kkeithle at redhat dot com
2023-02-13 13:05 ` marxin at gcc dot gnu.org
2023-02-13 13:16 ` [Bug c++/108773] [13 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.cc:3058 compiling ceph since r13-4563-g1e1847612d7f169f marxin at gcc dot gnu.org
2023-02-13 13:18 ` marxin at gcc dot gnu.org
2023-02-13 13:27 ` jakub at gcc dot gnu.org
2023-02-13 14:27 ` jakub at gcc dot gnu.org
2023-02-13 14:39 ` jakub at gcc dot gnu.org
2023-02-13 15:54 ` jakub at gcc dot gnu.org
2023-02-13 16:03 ` marxin at gcc dot gnu.org
2023-02-13 16:11 ` jakub at gcc dot gnu.org
2023-02-13 17:06 ` jakub at gcc dot gnu.org
2023-02-13 17:07 ` jakub at gcc dot gnu.org
2023-02-27 10:33 ` rguenth at gcc dot gnu.org
2023-03-07  3:01 ` jason at gcc dot gnu.org
2023-03-08  3:35 ` jason at gcc dot gnu.org
2023-03-09 21:26 ` cvs-commit at gcc dot gnu.org
2023-03-09 21:30 ` jason at gcc dot gnu.org
2023-03-13 18:07 ` kkeithle at redhat dot com

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).