public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "sshannin at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/59760] New: use_thunk internal error on default destructor declarations
Date: Fri, 10 Jan 2014 17:02:00 -0000	[thread overview]
Message-ID: <bug-59760-4@http.gcc.gnu.org/bugzilla/> (raw)

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


             reply	other threads:[~2014-01-10 17:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-10 17:02 sshannin at gmail dot com [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-59760-4@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).