public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/59760] New: use_thunk internal error on default destructor declarations
@ 2014-01-10 17:02 sshannin at gmail dot com
2014-01-10 18:30 ` [Bug c++/59760] " sshannin at gmail dot com
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: sshannin at gmail dot com @ 2014-01-10 17:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59760
Bug ID: 59760
Summary: use_thunk internal error on default destructor
declarations
Product: gcc
Version: 4.8.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: sshannin at gmail dot com
Host: Linux hostname 3.2.0-29-generic #46-Ubuntu SMP Fri Jul
27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Target: x86_64-unknown-linux-gnu
Build: ../gcc-4.8.2/configure --disable-multilib
--enable-languages=c++ --program-suffix=-4.8.2
Compile line (sans includes):
g++-4.8.2 -std=c++0x -O0 -g3 -Wall -c \
-MMD -MP -MF"build/./example_dir/example.d"
-MT"build/./example_dir/example.o" \
-o build/./example_dir/example.o example_dir/example.cpp
I'm getting an internal compiler error. Details which are likely of note:
1. templated class
2. inherits privately from two other templated classes
3. all three classes have virtual destructor declarations set to '= default'
4. changing the destructor declaration in the derived class from '= default'
to '{}' resolves the issue
5. changing the destructor declarations in either/both base classes appears to
have no effect
I am not able to generate a condensed example at the moment and as such am
refraining from attaching the preprocessed source (large). I'm hoping that the
gcc backtrace along with point #4 above may be enough.
internal compiler error: in use_thunk, at cp/method.c:338
virtual ~twenty_three_char_name_() = default;
^
0x599594 use_thunk(tree_node*, bool)
../../gcc-4.8.2/gcc/cp/method.c:338
0x5a44ec emit_associated_thunks(tree_node*)
../../gcc-4.8.2/gcc/cp/semantics.c:3774
0x5a47a7 expand_or_defer_fn(tree_node*)
../../gcc-4.8.2/gcc/cp/semantics.c:3901
0x5bc0bd maybe_clone_body(tree_node*)
../../gcc-4.8.2/gcc/cp/optimize.c:428
0x5a459d expand_or_defer_fn_1(tree_node*)
../../gcc-4.8.2/gcc/cp/semantics.c:3825
0x5a4778 expand_or_defer_fn(tree_node*)
../../gcc-4.8.2/gcc/cp/semantics.c:3895
0x59a70f synthesize_method(tree_node*)
../../gcc-4.8.2/gcc/cp/method.c:809
0x5471ea mark_used(tree_node*)
../../gcc-4.8.2/gcc/cp/decl2.c:4677
0x4f3d4c build_over_call
../../gcc-4.8.2/gcc/cp/call.c:7055
0x4f11f8 build_new_method_call_1
../../gcc-4.8.2/gcc/cp/call.c:7715
0x4f11f8 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
../../gcc-4.8.2/gcc/cp/call.c:7785
0x4f1a9e build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
../../gcc-4.8.2/gcc/cp/call.c:7352
0x591dcf expand_cleanup_for_base
../../gcc-4.8.2/gcc/cp/init.c:1217
0x596301 expand_cleanup_for_base
../../gcc-4.8.2/gcc/cp/init.c:1112
0x596301 emit_mem_initializers(tree_node*)
../../gcc-4.8.2/gcc/cp/init.c:1097
0x56e16c cp_parser_mem_initializer_list
../../gcc-4.8.2/gcc/cp/parser.c:11736
0x56e16c cp_parser_ctor_initializer_opt
../../gcc-4.8.2/gcc/cp/parser.c:11647
0x56e16c cp_parser_ctor_initializer_opt_and_function_body
../../gcc-4.8.2/gcc/cp/parser.c:17858
0x56e7bf cp_parser_function_definition_after_declarator
../../gcc-4.8.2/gcc/cp/parser.c:21853
0x56f3c3 cp_parser_function_definition_from_specifiers_and_declarator
../../gcc-4.8.2/gcc/cp/parser.c:21774
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59760] use_thunk internal error on default destructor declarations
2014-01-10 17:02 [Bug c++/59760] New: use_thunk internal error on default destructor declarations sshannin at gmail dot com
@ 2014-01-10 18:30 ` sshannin at gmail dot com
2014-01-13 10:01 ` rguenth at gcc dot gnu.org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: sshannin at gmail dot com @ 2014-01-10 18:30 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59760
--- Comment #1 from sshannin at gmail dot com ---
For a simpler example, see
https://lists.debian.org/debian-gcc/2013/12/msg00107.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59760] use_thunk internal error on default destructor declarations
2014-01-10 17:02 [Bug c++/59760] New: use_thunk internal error on default destructor declarations sshannin at gmail dot com
2014-01-10 18:30 ` [Bug c++/59760] " sshannin at gmail dot com
@ 2014-01-13 10:01 ` rguenth at gcc dot gnu.org
2014-01-13 14:31 ` sshannin at gmail dot com
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-01-13 10:01 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59760
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2014-01-13
Ever confirmed|0 |1
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Please provide preprocessed source.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59760] use_thunk internal error on default destructor declarations
2014-01-10 17:02 [Bug c++/59760] New: use_thunk internal error on default destructor declarations sshannin at gmail dot com
2014-01-10 18:30 ` [Bug c++/59760] " sshannin at gmail dot com
2014-01-13 10:01 ` rguenth at gcc dot gnu.org
@ 2014-01-13 14:31 ` sshannin at gmail dot com
2014-03-04 21:44 ` gaba at freemail dot hu
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: sshannin at gmail dot com @ 2014-01-13 14:31 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59760
--- Comment #3 from sshannin at gmail dot com ---
Created attachment 31821
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31821&action=edit
Preprocessed source
Preprocessed source of compilation from example in previous link.
Source (no includes):
template <class> struct A {
virtual ~A();
};
template <class... Ts> struct B : A<Ts>... {
~B() = default;
};
struct C : B<int, char> {
C() {}
};
int main( int , char **)
{
C c;
}
Compiled with:
g++-4.8.2 -std=c++0x -O0 -g3 -Wall -c -o sample.o sample.cpp
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59760] use_thunk internal error on default destructor declarations
2014-01-10 17:02 [Bug c++/59760] New: use_thunk internal error on default destructor declarations sshannin at gmail dot com
` (2 preceding siblings ...)
2014-01-13 14:31 ` sshannin at gmail dot com
@ 2014-03-04 21:44 ` gaba at freemail dot hu
2014-07-11 20:30 ` gaba at freemail dot hu
2015-03-19 8:46 ` paolo.carlini at oracle dot com
5 siblings, 0 replies; 7+ messages in thread
From: gaba at freemail dot hu @ 2014-03-04 21:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59760
gaba <gaba at freemail dot hu> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |gaba at freemail dot hu
--- Comment #4 from gaba <gaba at freemail dot hu> ---
Created attachment 32263
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32263&action=edit
Sample 2
Similar code and same error message:
struct A {
virtual ~A();
};
struct B {
virtual ~B();
};
template <int a = 1> struct C : A, B {
~C() = default;
};
struct D : C<> {
};
int main( int , char **)
{
D d;
}
Both samples working properly with GCC 4.9 (svn r208316).
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59760] use_thunk internal error on default destructor declarations
2014-01-10 17:02 [Bug c++/59760] New: use_thunk internal error on default destructor declarations sshannin at gmail dot com
` (3 preceding siblings ...)
2014-03-04 21:44 ` gaba at freemail dot hu
@ 2014-07-11 20:30 ` gaba at freemail dot hu
2015-03-19 8:46 ` paolo.carlini at oracle dot com
5 siblings, 0 replies; 7+ messages in thread
From: gaba at freemail dot hu @ 2014-07-11 20:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59760
--- Comment #5 from gaba <gaba at freemail dot hu> ---
This bug fixed in gcc 4.8.3, please close it.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/59760] use_thunk internal error on default destructor declarations
2014-01-10 17:02 [Bug c++/59760] New: use_thunk internal error on default destructor declarations sshannin at gmail dot com
` (4 preceding siblings ...)
2014-07-11 20:30 ` gaba at freemail dot hu
@ 2015-03-19 8:46 ` paolo.carlini at oracle dot com
5 siblings, 0 replies; 7+ messages in thread
From: paolo.carlini at oracle dot com @ 2015-03-19 8:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59760
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution|--- |DUPLICATE
--- Comment #6 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Dup.
*** This bug has been marked as a duplicate of bug 60595 ***
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-03-19 8:46 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-10 17:02 [Bug c++/59760] New: use_thunk internal error on default destructor declarations sshannin at gmail dot com
2014-01-10 18:30 ` [Bug c++/59760] " sshannin at gmail dot com
2014-01-13 10:01 ` rguenth at gcc dot gnu.org
2014-01-13 14:31 ` sshannin at gmail dot com
2014-03-04 21:44 ` gaba at freemail dot hu
2014-07-11 20:30 ` gaba at freemail dot hu
2015-03-19 8:46 ` paolo.carlini at oracle dot com
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).