[Bug c++/88853] ICE: verify_type failed (error: type variant differs by TYPE_PACKED) with -fpack-struct -g

2023-01-26 Thread dcb314 at hotmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88853

David Binderman  changed:

   What|Removed |Added

 CC||dcb314 at hotmail dot com

--- Comment #4 from David Binderman  ---
I get something similar for this C code:

enum fmt_type parse_num_range(const enum fmt_type);
enum __attribute__((packed)) fmt_type {
  FMT_NUMBER_OF_FORMATS
} parse_number(const enum fmt_type) {}

$ /usr/bin/gcc -c -g bug877.c
$ ~/gcc/results/bin/gcc -c -g bug877.c
bug877.c: In function ‘parse_number’:
bug877.c:4:27: error: type variant differs by TYPE_PACKED
4 | } parse_number(const enum fmt_type) {}
  |   ^~~~
 

This error seems like a regression in gcc-13. 

The bug first appears sometime before 9b111debbfb79a0a.

[Bug c++/88853] ICE: verify_type failed (error: type variant differs by TYPE_PACKED)

2019-06-20 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88853

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-06-20
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #3 from Marek Polacek  ---
Confirmed with gcc version 10.0.0 20190620 (experimental) (GCC):

88853.C: In instantiation of ‘class yp >’:
88853.C:15:7:   required from ‘class n1 >’
88853.C:21:7:   required from ‘class c4 >’
88853.C:33:7:   required from ‘class hb >’
88853.C:45:7:   required from ‘class fd’
88853.C:52:7:   required from ‘class dh > >’
88853.C:17:22:   required from ‘class n1 > >’
88853.C:57:19:   required from here
88853.C:26:7: error: type variant differs by TYPE_PACKED
   26 | class yp
  |   ^~
 
full-name "class fd"
no-binfo use_template=1 interface-unknown
chain >
 
full-name "const class fd"
no-binfo use_template=1 interface-unknown>
88853.C:26:7: internal compiler error: ‘verify_type’ failed
0x182ff70 verify_type(tree_node const*)
/home/mpolacek/src/gcc/gcc/tree.c:14650
0xe2127e gen_type_die_with_usage
/home/mpolacek/src/gcc/gcc/dwarf2out.c:25557
0xe21eb1 gen_type_die
/home/mpolacek/src/gcc/gcc/dwarf2out.c:25787
0xe23b4c gen_decl_die
/home/mpolacek/src/gcc/gcc/dwarf2out.c:26380
0xe1fffc gen_member_die
/home/mpolacek/src/gcc/gcc/dwarf2out.c:25241
0xe20749 gen_struct_or_union_type_die
/home/mpolacek/src/gcc/gcc/dwarf2out.c:25337
0xe21211 gen_tagged_type_die
/home/mpolacek/src/gcc/gcc/dwarf2out.c:25538
0xe21b2b gen_type_die_with_usage
/home/mpolacek/src/gcc/gcc/dwarf2out.c:25733
0xe21eb1 gen_type_die
/home/mpolacek/src/gcc/gcc/dwarf2out.c:25787
0xe23df2 gen_decl_die
/home/mpolacek/src/gcc/gcc/dwarf2out.c:26419
0xe252ee dwarf2out_decl
/home/mpolacek/src/gcc/gcc/dwarf2out.c:26964
0xe24772 dwarf2out_type_decl
/home/mpolacek/src/gcc/gcc/dwarf2out.c:26691
0x127930d rest_of_type_compilation(tree_node*, int)
/home/mpolacek/src/gcc/gcc/passes.c:339
0x8a57a6 finish_struct_1(tree_node*)
/home/mpolacek/src/gcc/gcc/cp/class.c:7091
0xab7d6c instantiate_class_template_1
/home/mpolacek/src/gcc/gcc/cp/pt.c:11495
0xab7ee2 instantiate_class_template(tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.c:11534
0xb845c2 complete_type(tree_node*)
/home/mpolacek/src/gcc/gcc/cp/typeck.c:139
0xb845e7 complete_type_or_maybe_complain(tree_node*, tree_node*, int)
/home/mpolacek/src/gcc/gcc/cp/typeck.c:151
0xb84685 complete_type_or_else(tree_node*, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/typeck.c:168
0x94ccfd xref_basetypes(tree_node*, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/decl.c:14310
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

[Bug c++/88853] ICE: verify_type failed (error: type variant differs by TYPE_PACKED)

2019-02-22 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88853

Martin Sebor  changed:

   What|Removed |Added

 CC||msebor at gcc dot gnu.org

--- Comment #2 from Martin Sebor  ---
Please ignore comment #1 -- wrong bug id in the commit.

[Bug c++/88853] ICE: verify_type failed (error: type variant differs by TYPE_PACKED)

2019-02-22 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88853

--- Comment #1 from Martin Sebor  ---
Author: msebor
Date: Fri Feb 22 17:38:11 2019
New Revision: 269125

URL: https://gcc.gnu.org/viewcvs?rev=269125=gcc=rev
Log:
PR tree-optimization/88993 - GCC 9 -Wformat-overflow=2 should reflect real libc
limits
PR tree-optimization/88835 - overly aggressive -Werror=format-overflow for
printf

gcc/ChangeLog:

PR tree-optimization/88993
PR tree-optimization/88853
* gimple-ssa-sprintf.c (sprintf_dom_walker::call_info::is_file_func):
New helper.
(sprintf_dom_walker::call_info::is_string_func): New helper.
(format_directive): Only issue "may exceed" 4095/INT_MAX warnings
for formatted string functions.
(sprintf_dom_walker::handle_gimple_call): Fix a typo in a comment.

gcc/testsuite/ChangeLog:

PR tree-optimization/88993
PR tree-optimization/88853
* gcc.dg/tree-ssa/builtin-fprintf-warn-2.c: New test.
* gcc.dg/tree-ssa/builtin-printf-warn-2.c: New test.
* gcc.dg/tree-ssa/builtin-snprintf-warn-3.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-18.c: Same.


Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-warn-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-warn-2.c
Modified:
trunk/gcc/gimple-ssa-sprintf.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-snprintf-warn-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-18.c