On Aug 27, 2013, at 1:20 PM, Reid Kleckner <[email protected]> wrote:
> On Tue, Aug 27, 2013 at 11:55 AM, John McCall <[email protected]> wrote:
> On Aug 20, 2013, at 4:59 PM, Reid Kleckner <[email protected]> wrote:
> > - Use MangleNumeringContext for the guard variable bit index.
>
> This mostly looks good.
>
> + virtual ~MangleNumberingContext();
> +
>
> You should leave this defined inline. No need to worry about anchoring the
> v-table because, as an abstract class, it’s likely that all references to the
> v-table will be dropped after optimization.
>
> OK. That was my concern. :)
>
> // -- the bodies of non-exported nonspecialized template functions
> // -- the bodies of inline functions
> + // -- the bodies of regular functions in the Microsoft ABI
> if ((IsInNonspecializedTemplate &&
> !(ManglingContextDecl && isa<ParmVarDecl>(ManglingContextDecl))) ||
> - isInInlineFunction(CurContext)) {
> + isInInlineFunction(CurContext) ||
> + (isa<FunctionDecl>(CurContext) &&
> + Context.getTargetInfo().getCXXABI().isMicrosoft())) {
> ManglingContextDecl = 0;
> return &Context.getManglingNumberContext(DC);
>
> You should just pull this entire decision into the AST CXXABI.
>
> The AST CXXABI interface isn't exposed to Sema. Currently, Sema asks the
> ASTContext for things like the default method calling convention, and the
> context forwards the call into CXXABI. I'll go this route for now.
>
> Should I move lib/AST/CXXABI.h up to include/clang/AST/CXXABI.h as a followup?
No, I would continue to hide the CXXABI interface. Querying the ASTContext is
the right thing to do.
John.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits