Calls to CheckConstructorAccess in SemaInit.cpp

I am trying to fix the purely-Clang-related regression tests failures for ConceptClang.
I am down to about 10 unexpected failures. But I’m not sure that I’m doing the right thing, since I am having to
actually modify clang code that ConceptClang never “touched”, and hence that it is not supposed
to modify the behavior of.
On the up side, I seem to be fixing some “FIXME” in some of those regression test files, e.g.
test/CXX/special/class.temporary/p1.cpp
and
test/SemaCXX/conversion-function.cpp

To do this, I simply added checks on the results of calls to CheckConstructorAccess()
in SemaInit.cpp as in:

Sema::AccessResult AcRes =

S.CheckConstructorAccess(Loc, Constructor, Entity,

Best->FoundDecl.getAccess(), IsExtraneousCopy);

if (AcRes == Sema::AR_inaccessible)
return ExprError();

So, my question(s) is(are):
1 - Is there any reason that I am overlooking why the implementation was left the way it was?
2 - Should the checks be stronger and for AcRes != Sema::AR_Accessible instead?
3 - Overall, am I doing the right thing at all? And if so, should I submit another patch?

Sorry if these questions are too basic. I’m still learning the whole framework… :slight_smile:

Thanks,
– Larisse.