public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/59111] New: [4.9 Regression] [c++11] ICE on invalid usage of auto in return type
@ 2013-11-13 14:12 reichelt at gcc dot gnu.org
2013-11-13 15:37 ` [Bug c++/59111] " rguenth at gcc dot gnu.org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: reichelt at gcc dot gnu.org @ 2013-11-13 14:12 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59111
Bug ID: 59111
Summary: [4.9 Regression] [c++11] ICE on invalid usage of auto
in return type
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: reichelt at gcc dot gnu.org
The following invalid code snippet (compiled with "-std=c++11") triggers an ICE
on trunk:
=====================
auto& foo();
int i = foo();
=====================
bug.cc:1:11: warning: 'foo' function uses 'auto' type specifier without
trailing return type [enabled by default]
auto& foo();
^
bug.cc:3:13: internal compiler error: tree check: expected record_type or
union_type or qual_union_type, have template_type_parm in lookup_conversions,
at cp/search.c:2509
int i = foo();
^
0xd3a614 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/gcc/tree.c:9166
0x6bd9f7 tree_check3
../../gcc/gcc/tree.h:2746
0x6bd9f7 lookup_conversions(tree_node*)
../../gcc/gcc/cp/search.c:2509
0x5493a6 build_user_type_conversion_1
../../gcc/gcc/cp/call.c:3447
0x54a3c1 implicit_conversion
../../gcc/gcc/cp/call.c:1756
0x54ff6c can_convert_arg_bad(tree_node*, tree_node*, tree_node*, int, int)
../../gcc/gcc/cp/call.c:8960
0x677940 convert_for_assignment
../../gcc/gcc/cp/typeck.c:7992
0x5eff71 digest_init_r
../../gcc/gcc/cp/typeck2.c:1009
0x5f1dc2 digest_init_flags
../../gcc/gcc/cp/typeck2.c:1078
0x5f1dc2 store_init_value(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
../../gcc/gcc/cp/typeck2.c:766
0x566066 check_initializer
../../gcc/gcc/cp/decl.c:5739
0x57909d cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
../../gcc/gcc/cp/decl.c:6358
0x666c11 cp_parser_init_declarator
../../gcc/gcc/cp/parser.c:16727
0x66837f cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:11118
0x64c7b0 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:10999
0x670477 cp_parser_declaration
../../gcc/gcc/cp/parser.c:10896
0x66f198 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10782
0x670a3a cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4010
0x670a3a c_parse_file()
../../gcc/gcc/cp/parser.c:31187
0x791cd3 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1055
Please submit a full bug report, [etc.]
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59111] [4.9 Regression] [c++11] ICE on invalid usage of auto in return type
2013-11-13 14:12 [Bug c++/59111] New: [4.9 Regression] [c++11] ICE on invalid usage of auto in return type reichelt at gcc dot gnu.org
@ 2013-11-13 15:37 ` rguenth at gcc dot gnu.org
2013-11-21 14:37 ` rguenth at gcc dot gnu.org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-11-13 15:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59111
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-invalid-code
Target Milestone|--- |4.9.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59111] [4.9 Regression] [c++11] ICE on invalid usage of auto in return type
2013-11-13 14:12 [Bug c++/59111] New: [4.9 Regression] [c++11] ICE on invalid usage of auto in return type reichelt at gcc dot gnu.org
2013-11-13 15:37 ` [Bug c++/59111] " rguenth at gcc dot gnu.org
@ 2013-11-21 14:37 ` rguenth at gcc dot gnu.org
2013-12-18 14:49 ` mpolacek at gcc dot gnu.org
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-11-21 14:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59111
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59111] [4.9 Regression] [c++11] ICE on invalid usage of auto in return type
2013-11-13 14:12 [Bug c++/59111] New: [4.9 Regression] [c++11] ICE on invalid usage of auto in return type reichelt at gcc dot gnu.org
2013-11-13 15:37 ` [Bug c++/59111] " rguenth at gcc dot gnu.org
2013-11-21 14:37 ` rguenth at gcc dot gnu.org
@ 2013-12-18 14:49 ` mpolacek at gcc dot gnu.org
2013-12-18 14:50 ` mpolacek at gcc dot gnu.org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-12-18 14:49 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59111
--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
*** Bug 59110 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59111] [4.9 Regression] [c++11] ICE on invalid usage of auto in return type
2013-11-13 14:12 [Bug c++/59111] New: [4.9 Regression] [c++11] ICE on invalid usage of auto in return type reichelt at gcc dot gnu.org
` (2 preceding siblings ...)
2013-12-18 14:49 ` mpolacek at gcc dot gnu.org
@ 2013-12-18 14:50 ` mpolacek at gcc dot gnu.org
2013-12-23 12:15 ` mpolacek at gcc dot gnu.org
2013-12-23 12:35 ` mpolacek at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-12-18 14:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59111
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-12-18
CC| |mpolacek at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Hopefully just
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -2506,7 +2506,7 @@ lookup_conversions (tree type)
tree list = NULL_TREE;
complete_type (type);
- if (!TYPE_BINFO (type))
+ if (!RECORD_OR_UNION_TYPE_P (type) || !TYPE_BINFO (type))
return NULL_TREE;
lookup_conversions_r (TYPE_BINFO (type), 0, 0,
will do...
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59111] [4.9 Regression] [c++11] ICE on invalid usage of auto in return type
2013-11-13 14:12 [Bug c++/59111] New: [4.9 Regression] [c++11] ICE on invalid usage of auto in return type reichelt at gcc dot gnu.org
` (3 preceding siblings ...)
2013-12-18 14:50 ` mpolacek at gcc dot gnu.org
@ 2013-12-23 12:15 ` mpolacek at gcc dot gnu.org
2013-12-23 12:35 ` mpolacek at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-12-23 12:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59111
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Mon Dec 23 12:14:56 2013
New Revision: 206177
URL: http://gcc.gnu.org/viewcvs?rev=206177&root=gcc&view=rev
Log:
PR c++/59111
cp/
* search.c (lookup_conversions): Return NULL_TREE if !CLASS_TYPE_P.
testsuite/
* g++.dg/cpp0x/pr59111.C: New test.
* g++.dg/cpp1y/pr59110.C: New test.
Added:
trunk/gcc/testsuite/g++.dg/cpp0x/pr59111.C
trunk/gcc/testsuite/g++.dg/cpp1y/pr59110.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/search.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59111] [4.9 Regression] [c++11] ICE on invalid usage of auto in return type
2013-11-13 14:12 [Bug c++/59111] New: [4.9 Regression] [c++11] ICE on invalid usage of auto in return type reichelt at gcc dot gnu.org
` (4 preceding siblings ...)
2013-12-23 12:15 ` mpolacek at gcc dot gnu.org
@ 2013-12-23 12:35 ` mpolacek at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-12-23 12:35 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59111
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot gnu.org
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-12-23 12:35 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-13 14:12 [Bug c++/59111] New: [4.9 Regression] [c++11] ICE on invalid usage of auto in return type reichelt at gcc dot gnu.org
2013-11-13 15:37 ` [Bug c++/59111] " rguenth at gcc dot gnu.org
2013-11-21 14:37 ` rguenth at gcc dot gnu.org
2013-12-18 14:49 ` mpolacek at gcc dot gnu.org
2013-12-18 14:50 ` mpolacek at gcc dot gnu.org
2013-12-23 12:15 ` mpolacek at gcc dot gnu.org
2013-12-23 12:35 ` mpolacek 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).