[cfe-dev] Calls to CheckConstructorAccess in SemaInit.cpp

Larisse Voufo lvoufo at gmail.com
Sun Aug 28 09:07:42 PDT 2011


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... :)

Thanks,
-- Larisse.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20110828/e8424078/attachment.html>


More information about the cfe-dev mailing list