r249336 - Re-introduce the unique_ptr removed in r249328 and just make

David Blaikie via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 5 13:07:32 PDT 2015


On Mon, Oct 5, 2015 at 11:54 AM, Adrian Prantl via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: adrian
> Date: Mon Oct  5 13:54:30 2015
> New Revision: 249336
>
> URL: http://llvm.org/viewvc/llvm-project?rev=249336&view=rev
> Log:
> Re-introduce the unique_ptr removed in r249328 and just make
> ~CodeGenABITypes out-of-line, which should have the same effect.
>
> Thanks to David Blaikie for pointing this out!
>
> Modified:
>     cfe/trunk/include/clang/CodeGen/CodeGenABITypes.h
>     cfe/trunk/lib/CodeGen/CodeGenABITypes.cpp
>
> Modified: cfe/trunk/include/clang/CodeGen/CodeGenABITypes.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/CodeGen/CodeGenABITypes.h?rev=249336&r1=249335&r2=249336&view=diff
>
> ==============================================================================
> --- cfe/trunk/include/clang/CodeGen/CodeGenABITypes.h (original)
> +++ cfe/trunk/include/clang/CodeGen/CodeGenABITypes.h Mon Oct  5 13:54:30
> 2015
> @@ -80,7 +80,7 @@ private:
>    std::unique_ptr<PreprocessorOptions> PPO;
>
>    /// The CodeGenModule we use get to the CodeGenTypes object.
> -  CodeGen::CodeGenModule *CGM;
> +  std::unique_ptr<CodeGen::CodeGenModule> CGM;
>  };
>
>  }  // end namespace CodeGen
>
> Modified: cfe/trunk/lib/CodeGen/CodeGenABITypes.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenABITypes.cpp?rev=249336&r1=249335&r2=249336&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CodeGenABITypes.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CodeGenABITypes.cpp Mon Oct  5 13:54:30 2015
> @@ -33,10 +33,9 @@ CodeGenABITypes::CodeGenABITypes(ASTCont
>        CGM(new CodeGen::CodeGenModule(C, *HSO, *PPO, *CGO, M,
> C.getDiagnostics(),
>                                       CoverageInfo)) {}
>
> -CodeGenABITypes::~CodeGenABITypes()
> -{
> -  delete CGM;
> -}
> +// Explicitly out-of-line because ~CodeGenModule() is private but
>

Maybe "internal" might be a better term here. (if it were private, in the
C++ sense, it wouldn't be any more callable here than it would be in the
header) & probably just describe the whole type as internal, rather than
just the dtor. Maybe. Not sure.


> +// CodeGenABITypes.h is part of clang's API.
> +CodeGenABITypes::~CodeGenABITypes() = default;
>
>  const CGFunctionInfo &
>  CodeGenABITypes::arrangeObjCMessageSendSignature(const ObjCMethodDecl *MD,
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151005/12a95187/attachment.html>


More information about the cfe-commits mailing list