Closed martong closed 5 years ago
Actually we never reach that point to check the expressions. We return earlier here:
static bool IsEquivalentExceptionSpec(StructuralEquivalenceContext &Context, const FunctionProtoType *Proto1, const FunctionProtoType *Proto2) { auto Spec1 = Proto1->getExceptionSpecType(); auto Spec2 = Proto2->getExceptionSpecType(); if (isUnresolvedExceptionSpec(Spec1) || isUnresolvedExceptionSpec(Spec2)) return true; if (Spec1 != Spec2) return false; <<<<<<<< WE RETURN HERE. // ...
Spec1 and Spec2 are enum values, and they are different in this case:
Spec1
Spec2
(gdb) p Spec1 $1 = clang::EST_NoexceptFalse (gdb) p Spec2 $2 = clang::EST_NoexceptTrue (gdb)
https://reviews.llvm.org/D62066
Actually we never reach that point to check the expressions. We return earlier here:
Spec1
andSpec2
are enum values, and they are different in this case: