[Bug c++/12515] [3.4 Regression] Use of ?: operator in templated class causes ICE

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Oct 5 16:54:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12515


pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2003-10-05 16:54:35
               date|                            |
            Summary|Use of ?: operator in       |[3.4 Regression] Use of ?:
                   |templated class causes ICE  |operator in templated class
                   |with CVS HEAD               |causes ICE
   Target Milestone|---                         |3.4


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-10-05 16:54 -------
>From Phil's regression hunter: Search converges between 2003-07-08-trunk (#337) and 
2003-07-09-trunk (#338).
Here is a smaller example (removal of the class):
 template<int> void f(int i) { i = i ?: 10; }
It gives a backtrace of:

11574     if (TREE_CODE (expression) == IDENTIFIER_NODE)
(gdb) bt
#0  type_dependent_expression_p (expression=0x0) at /Volumes/UFS_Partition/pinskia/
src/fsf/gcc-clean/src/gcc/cp/pt.c:11574
#1  0x00065b80 in build_x_conditional_expr (ifexp=0x4160a700, op1=0x0, op2=
0x4160b2d0) at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/
typeck.c:4281
#2  0x00058074 in cp_parser_assignment_expression (parser=0x4160b2d0) at /
Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/parser.c:4887
#3  0x000587cc in cp_parser_expression (parser=0x4160a540) at /Volumes/
UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/parser.c:5017
#4  0x0005888c in cp_parser_expression_statement (parser=0x4160a540, 
in_statement_expr_p=false) at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/
cp/parser.c:5299
#5  0x00059184 in cp_parser_statement (parser=0x4160a540, in_statement_expr_p=
1096856272) at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/
parser.c:5209
#6  0x00059750 in cp_parser_compound_statement (parser=0x4160a540, 
in_statement_expr_p=false) at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/
cp/parser.c:5364
#7  0x00059804 in cp_parser_ctor_initializer_opt_and_function_body (parser=
0x4160a540) at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/
parser.c:10849
#8  0x00059a6c in cp_parser_function_definition_after_declarator (parser=0x4160a540, 
inline_p=false) at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/
parser.c:13600
#9  0x00059b90 in cp_parser_function_definition_from_specifiers_and_declarator 
(parser=0x4160a540, decl_specifiers=0x0, attributes=0x4160b2d0, declarator=0x0) at /
Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/parser.c:13546
#10 0x000607fc in cp_parser_function_definition (parser=0x4160a540, friend_p=
0x4160b1c8) at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/
parser.c:10835
#11 0x00060960 in cp_parser_single_declaration (parser=0x4160a540, member_p=
false, friend_p=0xbffff898) at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/
parser.c:13781
#12 0x00060af4 in cp_parser_template_declaration_after_export (parser=0x4160a540, 
member_p=false) at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/
parser.c:13660
#13 0x000617b4 in cp_parser_declaration (parser=0x0) at /Volumes/UFS_Partition/
pinskia/src/fsf/gcc-clean/src/gcc/cp/parser.c:5968
#14 0x00061a3c in cp_parser_declaration_seq_opt (parser=0x4160a540) at /Volumes/
UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/cp/parser.c:5901
#15 0x00061c18 in c_parse_file () at /Volumes/UFS_Partition/pinskia/src/fsf/gcc-clean/
src/gcc/cp/parser.c:2163
#16 0x000afdb0 in c_common_parse_file (set_yydebug=0) at /Volumes/UFS_Partition/
pinskia/src/fsf/gcc-clean/src/gcc/c-opts.c:1230
#17 0x0030dfd8 in toplev_main (argc=4437540, argv=0x4160a540) at /Volumes/
UFS_Partition/pinskia/src/fsf/gcc-clean/src/gcc/toplev.c:1792
#18 0x00001c98 in _start (argc=14, argv=0xbffffbac, envp=0xbffffbe8) at /SourceCache/
Csu/Csu-46/crt.c:267
#19 0x00001b0c in start ()



More information about the Gcc-bugs mailing list