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

            Bug ID: 79783
           Summary: [7 Regression] ICE on valid C++ with
                    -fsanitize=address
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: sanitizer
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
                    jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
  Target Milestone: ---

Ok, after creating many issues for others, I've just found one mine:

$ cat ~/Programming/testcases/ice.C
struct a
{
  static void
  b (const char &)
  {
  }
};
class c
{
  struct C
  {
    C (char);
  } e;

public:
  c () : e (0) { a::b (char()); }
};
template <typename d> class f
{
  virtual d h () const;
};
template <typename d>
d
f<d>::h () const
{
  c g;
}
main () { f<int> i; }

./xg++ -B. -O2 -fsanitize=address -c -fno-tree-dce
~/Programming/testcases/ice.C -c
/home/marxin/Programming/testcases/ice.C: In member function ‘d f<d>::h() const
[with d = int]’:
/home/marxin/Programming/testcases/ice.C:24:1: internal compiler error:
Segmentation fault
 f<d>::h () const
 ^~~~
0x11ceeee crash_signal
        ../../gcc/toplev.c:337
0x1524b0b copy_node_stat(tree_node*)
        ../../gcc/tree.c:1136
0x11f3dc4 create_asan_shadow_var
        ../../gcc/asan.c:3082
0x11f3fa9 asan_expand_poison_ifn(gimple_stmt_iterator*, bool*,
hash_map<tree_node*, tree_node*,
simple_hashmap_traits<default_hash_traits<tree_node*>, tree_node*> >&)
        ../../gcc/asan.c:3116
0x12074f1 execute
        ../../gcc/sanopt.c:939

Reply via email to