https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70590
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-04-08
   Target Milestone|---                         |6.0
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
trippels@gcc2-power8 xslt % cat txMozillaXMLOutput.ii
struct nsCycleCollectionParticipant;
struct A {
  void incr(void *, nsCycleCollectionParticipant *);
  void decr(void *, nsCycleCollectionParticipant *);
};
template <class T> struct B {
  T *assign_with_AddRef_aRawPtr;
  T *assign_assuming_AddRef_oldPtr;
  void operator=(T *) {
    assign_with_AddRef_aRawPtr->AddRef();
    assign_assuming_AddRef_oldPtr->Release();
  }
};
struct nsCycleCollectionParticipant {};
struct C {
  struct cycleCollection : nsCycleCollectionParticipant {
    static constexpr nsCycleCollectionParticipant *GetParticipant() {
      return &_cycleCollectorGlobal;
    }
  } static _cycleCollectorGlobal;
  void AddRef() { mRefCnt.incr(0, cycleCollection::GetParticipant()); }
  void Release() { mRefCnt.decr(0, cycleCollection::GetParticipant()); }
  A mRefCnt;
};
struct D {
  D(bool);
  B<C> mNodeInfoManager;
};
D::D(bool) { mNodeInfoManager = 0; }

trippels@gcc2-power8 xslt % c++ -c -O2 txMozillaXMLOutput.ii
txMozillaXMLOutput.ii: In member function ‘void C::AddRef()’:
txMozillaXMLOutput.ii:29:36: error: location references block not in block tree
 D::D(bool) { mNodeInfoManager = 0; }
                                    ^
&_cycleCollectorGlobal
A::incr (D.2923, 0B, &_cycleCollectorGlobal);
txMozillaXMLOutput.ii:29:36: internal compiler error: verify_gimple failed
0x10b189e3 verify_gimple_in_cfg(function*, bool)
        ../../gcc/gcc/tree-cfg.c:5125
0x109ba45f execute_function_todo
        ../../gcc/gcc/passes.c:1958
0x109bb223 do_per_function
        ../../gcc/gcc/passes.c:1652
0x109bb42f execute_todo
        ../../gcc/gcc/passes.c:2010

Reply via email to