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

            Bug ID: 69588
           Summary: ICE: tree check: expected ssa_name, have var_decl in
                    unlink_stmt_vdef, at tree-ssa-operands.c:1314
           Product: gcc
           Version: 4.9.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: moltonel at gmail dot com
  Target Milestone: ---

Originally filed downstream at https://bugs.gentoo.org/show_bug.cgi?id=568260

I did my best to check for duplicates but this is my first foray into the gcc
bugzilla and I'm a bit overwhelmed.


template <class, class T> class error_info {
public:
  typedef T value_type;
  error_info(value_type const &);
  ~error_info() throw();
};

template <class E, class Tag, class T> void operator<<(E, error_info<Tag, T>);
int a;
void vfork();
template <class Tag, class T>
error_info<Tag, T>::error_info(value_type const &) {}

template <class Tag, class T> error_info<Tag, T>::~error_info() throw() {}

void Run() {
  error_info<int, char *>("") << error_info<int, int>(a);
  vfork();
}



$ /usr/bin/x86_64-pc-linux-gnu-g++ -O2 -fPIC -c reduced.cpp -o reduced.o
reduced.cpp: In function ‘void Run()’:
reduced.cpp:17:29: warning: deprecated conversion from string constant to
‘error_info<int, char*>::value_type {aka char*}’ [-Wwrite-strings]
   error_info<int, char *>("") << error_info<int, int>(a);
                             ^
reduced.cpp:19:1: internal compiler error: tree check: expected ssa_name, have
var_decl in unlink_stmt_vdef, at tree-ssa-operands.c:1314
 }
 ^

Reply via email to