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

David Binderman <dcb314 at hotmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dcb314 at hotmail dot com

--- Comment #2 from David Binderman <dcb314 at hotmail dot com> ---
This C++ code seems to do something similar:

class a {
  virtual long b() const;
};
class c : a {
public:
  long b() const;
};
class d : c {
  long e();
};
long d::e() { b(); }

$ /home/dcb/gcc/results/bin/g++ -c -w -fsanitize=undefined -std=c++11 
bug616.cc
bug616.cc: In member function ‘long int d::e()’:
bug616.cc:11:20: internal compiler error: tree check: expected class
‘expression
’, have ‘declaration’ (parm_decl) in tree_operand_check, at tree.h:3794
   11 | long d::e() { b(); }
      |                    ^
0x124fe0a tree_class_check_failed(tree_node const*, tree_code_class, char
const*
, int, char const*)
        ../../trunk.git/gcc/tree.c:9755
0x6b915d cp_ubsan_maybe_instrument_member_call(tree_node*)
        ../../trunk.git/gcc/cp/cp-ubsan.c:0

Reply via email to