================ @@ -70,3 +70,266 @@ DelegatingWithZeroing::DelegatingWithZeroing(int) : DelegatingWithZeroing() {} // OGCG: store i32 %[[I_ARG]], ptr %[[I_ADDR]] // OGCG: %[[THIS:.*]] = load ptr, ptr %[[THIS_ADDR]] // OGCG: call void @llvm.memset.p0.i64(ptr align 4 %[[THIS]], i8 0, i64 4, i1 false) + +void other(); + +class Base { +public: + Base() { squawk(); } + + virtual void squawk(); +}; + +class Derived : public virtual Base { +public: + Derived(); + Derived(const void *inVoid); + + virtual void squawk(); +}; + +Derived::Derived() : Derived(nullptr) { other(); } +Derived::Derived(const void *inVoid) { squawk(); } + +// Note: OGCG emits the constructors in a different order. ---------------- andykaylor wrote:
I tried CHECK-DAG, CHECK-DAG with CHECK-NEXT, and CHECK-LABEL. None worked. I found an [old discussion](https://groups.google.com/g/llvm-dev/c/q1TDIf6urDI/m/2Fcny3xADgAJ) where someone asked for CHECK-LABEL-DAG to do exactly this and even had a [patch to implement it](https://reviews.llvm.org/D22348), but I guess it was ultimately judged to be unwanted. ☹️ https://github.com/llvm/llvm-project/pull/156970 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits