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

Reply via email to