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.