[Bug target/98032] [9 Regression] ICE (segfault) on arm-linux-gnueabihf

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Nov 27 14:47:20 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98032

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:

$ cat vcldemo.ii
namespace osl {
class Thread {
public:
  virtual ~Thread();
  virtual void join();
};
} // namespace osl
class SimpleReferenceObject {
protected:
  virtual ~SimpleReferenceObject();
};
class Thread : SimpleReferenceObject, osl::Thread {
public:
  osl::Thread::join;
};
class RenderThread : Thread {
  RenderThread() { join(); }
};

and a nice backtrace:

$ /home/marxin/Programming/gcc2/objdir/gcc/xgcc -B
/home/marxin/Programming/gcc2/objdir/gcc -O0 -Wall -fstack-protector-strong -c
vcldemo.ii
vcldemo.ii:14:3: warning: access declarations are deprecated in favour of
using-declarations; suggestion: add the ‘using’ keyword [-Wdeprecated]
   14 |   osl::Thread::join;
      |   ^~~
vcldemo.ii: In constructor ‘RenderThread::RenderThread()’:
vcldemo.ii:17:25: internal compiler error: Segmentation fault
   17 |   RenderThread() { join(); }
      |                         ^
0xb2168f crash_signal
        /home/marxin/Programming/gcc2/gcc/toplev.c:326
0x5b05d1 lookup_vfn_in_binfo(tree_node*, tree_node*)
        /home/marxin/Programming/gcc2/gcc/cp/class.c:2405
0x5a36d5 build_over_call
        /home/marxin/Programming/gcc2/gcc/cp/call.c:8300
0x5a53ae build_new_method_call_1
        /home/marxin/Programming/gcc2/gcc/cp/call.c:9913
0x5a5dbf build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
        /home/marxin/Programming/gcc2/gcc/cp/call.c:9988
0x660cdd cp_parser_postfix_expression
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:7361
0x6480fa cp_parser_binary_expression
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:9461
0x648e17 cp_parser_assignment_expression
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:9759
0x649051 cp_parser_expression
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:9926
0x64bd25 cp_parser_expression_statement
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:11524
0x655d5d cp_parser_statement
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:11320
0x657488 cp_parser_statement_seq_opt
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:11667
0x657540 cp_parser_compound_statement
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:11621
0x66a3b0 cp_parser_function_body
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:22693
0x66a3b0 cp_parser_ctor_initializer_opt_and_function_body
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:22744
0x66d8dd cp_parser_function_definition_after_declarator
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:27873
0x66ea29 cp_parser_late_parsing_for_member
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:28760
0x6515e3 cp_parser_class_specifier_1
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:23693
0x6524cb cp_parser_class_specifier
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:23719
0x6524cb cp_parser_type_specifier
        /home/marxin/Programming/gcc2/gcc/cp/parser.c:17462
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.


More information about the Gcc-bugs mailing list