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

--- Comment #9 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
trippels@gcc2-power8 llvm_build % cat AnalysisConsumer.ii
class A;
struct B {
  typedef A type;
};
template <typename> struct I : B {};
class C {
public:
  C(char *);
  int size();
};
template <typename> struct D;
template <typename _Tp, typename = D<_Tp>> class F {
  class G {
    template <typename> static _Tp *__test();
    typedef int _Del;

  public:
    typedef decltype(__test<_Del>()) type;
  };

public:
  typename I<_Tp>::type operator*() {
    typename G::type a = 0;
    return *a;
  }
};
class H {
  F<A> Out;
  H();
};
void fn1(void *, void *, int) __attribute__((__nonnull__));
class A {
  int OutBufEnd, OutBufCur;

public:
  void operator<<(C p1) {
    int b, c = p1.size();
    if (OutBufEnd)
      fn1(&OutBufCur, &b, c);
  }
};
char* a;
H::H() { *Out << a; }

trippels@gcc2-power8 llvm_build % g++ -O2 -c AnalysisConsumer.ii
AnalysisConsumer.ii: In constructor ‘H::H()’:
AnalysisConsumer.ii:43:1: internal compiler error: Segmentation fault
 H::H() { *Out << a; }
 ^
0x10a18c53 crash_signal
        ../../gcc/gcc/toplev.c:352
0x1072af0c infer_nonnull_range_by_attribute(gimple_statement_base*, tree_node*)
        ../../gcc/gcc/gimple.c:2682
0x110a881f find_explicit_erroneous_behaviour
        ../../gcc/gcc/gimple-ssa-isolate-paths.c:410
0x110a881f gimple_ssa_isolate_erroneous_paths
        ../../gcc/gcc/gimple-ssa-isolate-paths.c:526
0x110a881f execute
        ../../gcc/gcc/gimple-ssa-isolate-paths.c:577
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to