public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/59066] New: Segmentation fault.
@ 2013-11-10 11:44 alexandre.hamez at gmail dot com
2013-11-10 12:03 ` [Bug c++/59066] " alexandre.hamez at gmail dot com
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: alexandre.hamez at gmail dot com @ 2013-11-10 11:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59066
Bug ID: 59066
Summary: Segmentation fault.
Product: gcc
Version: 4.8.2
Status: UNCONFIRMED
Severity: blocker
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: alexandre.hamez at gmail dot com
Created attachment 31188
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31188&action=edit
Preprocessed sources.
G++ crashes with the following backtrace :
g++ -std=c++11 ./bug.ii -O0
./bug.ii: In member function 'SDD<C> homomorphism<C>::operator()(SDD<C>) [with
C = conf0]':
./bug.ii:1203:60: internal compiler error: Segmentation fault
return apply_binary_visitor(evaluation<C>(), **this, *x);
0x8a386f crash_signal
../.././gcc/toplev.c:332
0xa37012 make_decl_rtl(tree_node*)
../.././gcc/varasm.c:1197
0x64ac37 rtx_for_function_call
../.././gcc/calls.c:1675
0x64ac37 expand_call(tree_node*, rtx_def*, int)
../.././gcc/calls.c:2983
0x6f8f4b expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**)
../.././gcc/expr.c:10246
0x655e20 expand_call_stmt
../.././gcc/cfgexpand.c:2114
0x655e20 expand_gimple_stmt_1
../.././gcc/cfgexpand.c:2152
0x655e20 expand_gimple_stmt
../.././gcc/cfgexpand.c:2304
0x65668d expand_gimple_basic_block
../.././gcc/cfgexpand.c:4138
0x6586e6 gimple_expand_cfg
../.././gcc/cfgexpand.c:4657
G++ is called as follow:
g++ -std=c++11 ./bug.ii -O0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59066] Segmentation fault.
2013-11-10 11:44 [Bug c++/59066] New: Segmentation fault alexandre.hamez at gmail dot com
@ 2013-11-10 12:03 ` alexandre.hamez at gmail dot com
2013-11-10 13:00 ` redi at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: alexandre.hamez at gmail dot com @ 2013-11-10 12:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59066
--- Comment #1 from Alexandre Hamez <alexandre.hamez at gmail dot com> ---
I managed to reduce the code causing the segfault of gcc to ~1200 lines, but
there are certainly still a lot of useless lines (coming from <type_traits>).
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59066] Segmentation fault.
2013-11-10 11:44 [Bug c++/59066] New: Segmentation fault alexandre.hamez at gmail dot com
2013-11-10 12:03 ` [Bug c++/59066] " alexandre.hamez at gmail dot com
@ 2013-11-10 13:00 ` redi at gcc dot gnu.org
2013-11-10 13:22 ` [Bug c++/59066] C+11, 'using' instead of 'typedef' causes a segmentation fault alexandre.hamez at gmail dot com
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: redi at gcc dot gnu.org @ 2013-11-10 13:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59066
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|blocker |normal
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59066] C+11, 'using' instead of 'typedef' causes a segmentation fault.
2013-11-10 11:44 [Bug c++/59066] New: Segmentation fault alexandre.hamez at gmail dot com
2013-11-10 12:03 ` [Bug c++/59066] " alexandre.hamez at gmail dot com
2013-11-10 13:00 ` redi at gcc dot gnu.org
@ 2013-11-10 13:22 ` alexandre.hamez at gmail dot com
2013-11-13 9:34 ` [Bug c++/59066] C++11, " paolo.carlini at oracle dot com
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: alexandre.hamez at gmail dot com @ 2013-11-10 13:22 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59066
Alexandre Hamez <alexandre.hamez at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Segmentation fault. |C+11, 'using' instead of
| |'typedef' causes a
| |segmentation fault.
--- Comment #2 from Alexandre Hamez <alexandre.hamez at gmail dot com> ---
I've found what causes the crash. On line 1199 of bug.ii, if 'using data_type =
variant<identity<C>>' is changed to 'typedef variant<identity<C>> data_type',
the segmentation no longer occurs [1].
I changed the summary to reflect that.
[1] Note that this particular code will fail to compile because of a missing
member.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59066] C++11, 'using' instead of 'typedef' causes a segmentation fault.
2013-11-10 11:44 [Bug c++/59066] New: Segmentation fault alexandre.hamez at gmail dot com
` (2 preceding siblings ...)
2013-11-10 13:22 ` [Bug c++/59066] C+11, 'using' instead of 'typedef' causes a segmentation fault alexandre.hamez at gmail dot com
@ 2013-11-13 9:34 ` paolo.carlini at oracle dot com
2014-02-14 21:16 ` [Bug c++/59066] [C++11] " reichelt at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-11-13 9:34 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59066
--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Doesn't look like a front-end issue.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59066] [C++11] 'using' instead of 'typedef' causes a segmentation fault.
2013-11-10 11:44 [Bug c++/59066] New: Segmentation fault alexandre.hamez at gmail dot com
` (3 preceding siblings ...)
2013-11-13 9:34 ` [Bug c++/59066] C++11, " paolo.carlini at oracle dot com
@ 2014-02-14 21:16 ` reichelt at gcc dot gnu.org
2014-02-26 21:56 ` reichelt at gcc dot gnu.org
2014-02-27 17:04 ` jason at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: reichelt at gcc dot gnu.org @ 2014-02-14 21:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59066
Volker Reichelt <reichelt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-valid-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-02-14
CC| |reichelt at gcc dot gnu.org
Summary|C++11, 'using' instead of |[C++11] 'using' instead of
|'typedef' causes a |'typedef' causes a
|segmentation fault. |segmentation fault.
Ever confirmed|0 |1
Known to fail| |4.7.0, 4.8.0, 4.9.0
--- Comment #4 from Volker Reichelt <reichelt at gcc dot gnu.org> ---
Confirmed. Reduced testcase that crashes since GCC 4.7.0 when template
alias (aka 'using') was introduced:
============================================================================
template<typename T, template <typename> class U> void foo(const U<T>&) {}
template<typename> struct A
{
using B = A;
B bar();
};
void baz()
{
foo(A<int>().bar());
}
============================================================================
Stack trace with current 4.8 branch:
bug.cc: In function 'void baz()':
bug.cc:11:22: internal compiler error: Segmentation fault
foo(A<int>().bar());
^
0xad469f crash_signal
../../gcc/gcc/toplev.c:332
0xcff5e2 tree_check
../../gcc/gcc/tree.h:3683
0xcff5e2 make_decl_rtl(tree_node*)
../../gcc/gcc/varasm.c:1197
0x7d72f3 rtx_for_function_call
../../gcc/gcc/calls.c:1675
0x7d72f3 expand_call(tree_node*, rtx_def*, int)
../../gcc/gcc/calls.c:2983
0x8aadcd expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**)
../../gcc/gcc/expr.c:10263
0x7e82fd expand_call_stmt
../../gcc/gcc/cfgexpand.c:2114
0x7e82fd expand_gimple_stmt_1
../../gcc/gcc/cfgexpand.c:2152
0x7e82fd expand_gimple_stmt
../../gcc/gcc/cfgexpand.c:2304
0x7e9162 expand_gimple_basic_block
../../gcc/gcc/cfgexpand.c:4138
0x7eacdc gimple_expand_cfg
../../gcc/gcc/cfgexpand.c:4657
Please submit a full bug report, [etc.]
Stack trace with trunk:
cc1plus: internal compiler error: Segmentation fault
0xba523f crash_signal
../../gcc/gcc/toplev.c:337
0x87e004 tree_check
../../gcc/gcc/tree.h:2918
0x87e004 decl_assembler_name_hash
../../gcc/gcc/symtab.c:98
0x87e46f insert_to_assembler_name_hash
../../gcc/gcc/symtab.c:209
0x87e5c1 symtab_initialize_asm_name_hash
../../gcc/gcc/symtab.c:432
0x88cda2 analyze_functions
../../gcc/gcc/cgraphunit.c:1124
0x88e2a5 finalize_compilation_unit()
../../gcc/gcc/cgraphunit.c:2320
0x689cae cp_write_global_declarations()
../../gcc/gcc/cp/decl2.c:4448
Please submit a full bug report, [etc.]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59066] [C++11] 'using' instead of 'typedef' causes a segmentation fault.
2013-11-10 11:44 [Bug c++/59066] New: Segmentation fault alexandre.hamez at gmail dot com
` (4 preceding siblings ...)
2014-02-14 21:16 ` [Bug c++/59066] [C++11] " reichelt at gcc dot gnu.org
@ 2014-02-26 21:56 ` reichelt at gcc dot gnu.org
2014-02-27 17:04 ` jason at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: reichelt at gcc dot gnu.org @ 2014-02-26 21:56 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59066
Volker Reichelt <reichelt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at gcc dot gnu.org
--- Comment #5 from Volker Reichelt <reichelt at gcc dot gnu.org> ---
Jason, your patch for PR60182 seems to have fixed this one, too.
Do you want to add the reduced testcase (in comment#4) to the testsuite?
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59066] [C++11] 'using' instead of 'typedef' causes a segmentation fault.
2013-11-10 11:44 [Bug c++/59066] New: Segmentation fault alexandre.hamez at gmail dot com
` (5 preceding siblings ...)
2014-02-26 21:56 ` reichelt at gcc dot gnu.org
@ 2014-02-27 17:04 ` jason at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: jason at gcc dot gnu.org @ 2014-02-27 17:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59066
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |DUPLICATE
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> ---
I don't think the testcase is sufficiently different. Thanks.
*** This bug has been marked as a duplicate of bug 60182 ***
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-02-27 17:04 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-10 11:44 [Bug c++/59066] New: Segmentation fault alexandre.hamez at gmail dot com
2013-11-10 12:03 ` [Bug c++/59066] " alexandre.hamez at gmail dot com
2013-11-10 13:00 ` redi at gcc dot gnu.org
2013-11-10 13:22 ` [Bug c++/59066] C+11, 'using' instead of 'typedef' causes a segmentation fault alexandre.hamez at gmail dot com
2013-11-13 9:34 ` [Bug c++/59066] C++11, " paolo.carlini at oracle dot com
2014-02-14 21:16 ` [Bug c++/59066] [C++11] " reichelt at gcc dot gnu.org
2014-02-26 21:56 ` reichelt at gcc dot gnu.org
2014-02-27 17:04 ` jason 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).