[Bug c++/108479] New: Internal compiler error: in type_memfn_rqual, at cp/typeck.cc:10994

2023-01-20 Thread etienne.doms at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108479

Bug ID: 108479
   Summary: Internal compiler error: in type_memfn_rqual, at
cp/typeck.cc:10994
   Product: gcc
   Version: 12.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: etienne.doms at gmail dot com
  Target Milestone: ---

Created attachment 54316
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54316&action=edit
Preprocessed source

Hello,

I was just playing on my lunch time and something blew up:

> [smod@syslt041-arch playground]$ g++ bug.cpp -std=c++20 -freport-bug
> bug.cpp: In instantiation of ‘class Foo >’:
> bug.cpp:34:30:   required from here
> bug.cpp:5:7: internal compiler error: in type_memfn_rqual, at 
> cp/typeck.cc:10994
> 5 | class Foo
>   |   ^~~
> 0x19e2ee8 internal_error(char const*, ...)
>   ???:0
> 0x65443c fancy_abort(char const*, int, char const*)
>   ???:0
> 0x69df2f finish_struct_1(tree_node*)
>   ???:0
> 0x7ed3c7 instantiate_class_template(tree_node*)
>   ???:0
> 0x83d035 complete_type(tree_node*)
>   ???:0
> 0x6fcc40 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int, 
> tree_node*, tree_node*, tree_node**)
>   ???:0
> 0x7c7d9c c_parse_file()
>   ???:0
> 0x8dd47d c_common_parse_file()
>   ???:0
> Please submit a full bug report, with preprocessed source.
Got this on a up-to-date g++ 12.2.1 on ArchLinux:

> [smod@syslt041-arch playground]$ g++ -v
> Using built-in specs.
> COLLECT_GCC=g++
> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.1/lto-wrapper
> Target: x86_64-pc-linux-gnu
> Configured with: /build/gcc/src/gcc/configure 
> --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-bootstrap 
> --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --> 
> mandir=/usr/share/man --infodir=/usr/share/info 
> --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto 
> --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit 
> --enable-cet=auto --enable-checking=release --enable-clocale=gnu 
> --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function 
> --enable-gnu-unique-object --enable-libstdcxx-backtrace 
> --enable-link-serialization=1 --enable-linker-build-id --enable-lto 
> --enable-multilib --enable-plugin --enable-shared --enable-threads=posix 
> --disable-libssp --disable-libstdcxx-pch --disable-werror
> Thread model: posix
> Supported LTO compression algorithms: zlib zstd
> gcc version 12.2.1 20230111 (GCC) 
See attachment generated by "-freport-bug", as requested.

Probably related to #96745, but does not look identical to me.

Note that I was not trying to do something specific, I was reading about this
new shiny concept of "prospective destructor" and tried to instantiate my
template class with "T = decltype(std::cout)", I was expecting something like
"nope, no suitable dtor" but got this instead.

Cheers,
Etienne

[Bug c/82283] New: Wrong warning with -Wmissing-field-initializers

2017-09-21 Thread etienne.doms at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82283

Bug ID: 82283
   Summary: Wrong warning with -Wmissing-field-initializers
   Product: gcc
   Version: 7.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: etienne.doms at gmail dot com
  Target Milestone: ---

See the following code:

/*
 * gcc bug.c -Wextra -c
 */

struct A {
int *a;
int b;
};

union B {
struct A a;
};

union B data1 = {
.a.a = & (int) { 0 },
.a.b = 0
};

union B data2 = {
.a.b = 0,
.a.a = & (int) { 0 }
};

This triggers to the following warnings, reported on "data1" initialization:

bug.c:16:5: warning: missing initializer for field 'b' of 'struct A'
[-Wmissing-field-initializers]
 .a.b = 0
 ^
bug.c:7:9: note: 'b' declared here
 int b;
 ^

Interestingly, there is no warning on "data2" initialization, which should be
exactly the same.

Got this issue on the Ubuntu 16.04 stock GCC (5.4.0), the issue is also present
with GCC 7.2.