r350143 - Add vtable anchor to classes.

David Blaikie via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 31 16:50:12 PST 2018


While I realize it's in the coding standard - is there any particular other
motivation for this? (Given you've been doing layering cleanup - I'm
wondering fi this is an interesting workaround for some layering problems,
for instance?)

On Sat, Dec 29, 2018 at 1:05 PM Richard Trieu via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: rtrieu
> Date: Fri Dec 28 18:02:30 2018
> New Revision: 350143
>
> URL: http://llvm.org/viewvc/llvm-project?rev=350143&view=rev
> Log:
> Add vtable anchor to classes.
>
> Modified:
>     cfe/trunk/include/clang/AST/DeclCXX.h
>     cfe/trunk/include/clang/AST/DeclTemplate.h
>     cfe/trunk/include/clang/Lex/ModuleMap.h
>     cfe/trunk/lib/AST/DeclCXX.cpp
>     cfe/trunk/lib/AST/DeclTemplate.cpp
>     cfe/trunk/lib/Lex/ModuleMap.cpp
>
> Modified: cfe/trunk/include/clang/AST/DeclCXX.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclCXX.h?rev=350143&r1=350142&r2=350143&view=diff
>
> ==============================================================================
> --- cfe/trunk/include/clang/AST/DeclCXX.h (original)
> +++ cfe/trunk/include/clang/AST/DeclCXX.h Fri Dec 28 18:02:30 2018
> @@ -3918,6 +3918,7 @@ class MSPropertyDecl : public Declarator
>        : DeclaratorDecl(MSProperty, DC, L, N, T, TInfo, StartL),
>          GetterId(Getter), SetterId(Setter) {}
>
> +  void anchor() override;
>  public:
>    friend class ASTDeclReader;
>
>
> Modified: cfe/trunk/include/clang/AST/DeclTemplate.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclTemplate.h?rev=350143&r1=350142&r2=350143&view=diff
>
> ==============================================================================
> --- cfe/trunk/include/clang/AST/DeclTemplate.h (original)
> +++ cfe/trunk/include/clang/AST/DeclTemplate.h Fri Dec 28 18:02:30 2018
> @@ -751,6 +751,7 @@ class RedeclarableTemplateDecl : public
>      return getMostRecentDecl();
>    }
>
> +  void anchor() override;
>  protected:
>    template <typename EntryType> struct SpecEntryTraits {
>      using DeclType = EntryType;
>
> Modified: cfe/trunk/include/clang/Lex/ModuleMap.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/ModuleMap.h?rev=350143&r1=350142&r2=350143&view=diff
>
> ==============================================================================
> --- cfe/trunk/include/clang/Lex/ModuleMap.h (original)
> +++ cfe/trunk/include/clang/Lex/ModuleMap.h Fri Dec 28 18:02:30 2018
> @@ -45,6 +45,8 @@ class SourceManager;
>  /// A mechanism to observe the actions of the module map parser as it
>  /// reads module map files.
>  class ModuleMapCallbacks {
> +  virtual void anchor();
> +
>  public:
>    virtual ~ModuleMapCallbacks() = default;
>
>
> Modified: cfe/trunk/lib/AST/DeclCXX.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclCXX.cpp?rev=350143&r1=350142&r2=350143&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/AST/DeclCXX.cpp (original)
> +++ cfe/trunk/lib/AST/DeclCXX.cpp Fri Dec 28 18:02:30 2018
> @@ -2910,6 +2910,8 @@ void DecompositionDecl::printName(llvm::
>    os << ']';
>  }
>
> +void MSPropertyDecl::anchor() {}
> +
>  MSPropertyDecl *MSPropertyDecl::Create(ASTContext &C, DeclContext *DC,
>                                         SourceLocation L, DeclarationName
> N,
>                                         QualType T, TypeSourceInfo *TInfo,
>
> Modified: cfe/trunk/lib/AST/DeclTemplate.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclTemplate.cpp?rev=350143&r1=350142&r2=350143&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/AST/DeclTemplate.cpp (original)
> +++ cfe/trunk/lib/AST/DeclTemplate.cpp Fri Dec 28 18:02:30 2018
> @@ -149,6 +149,8 @@ void *allocateDefaultArgStorageChain(con
>  // RedeclarableTemplateDecl Implementation
>
>  //===----------------------------------------------------------------------===//
>
> +void RedeclarableTemplateDecl::anchor() {}
> +
>  RedeclarableTemplateDecl::CommonBase
> *RedeclarableTemplateDecl::getCommonPtr() const {
>    if (Common)
>      return Common;
>
> Modified: cfe/trunk/lib/Lex/ModuleMap.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/ModuleMap.cpp?rev=350143&r1=350142&r2=350143&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Lex/ModuleMap.cpp (original)
> +++ cfe/trunk/lib/Lex/ModuleMap.cpp Fri Dec 28 18:02:30 2018
> @@ -54,6 +54,8 @@
>
>  using namespace clang;
>
> +void ModuleMapCallbacks::anchor() {}
> +
>  void ModuleMap::resolveLinkAsDependencies(Module *Mod) {
>    auto PendingLinkAs = PendingLinkAsModule.find(Mod->Name);
>    if (PendingLinkAs != PendingLinkAsModule.end()) {
>
>
> _______________________________________________
> 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/20190101/4bfdbbaf/attachment.html>


More information about the cfe-commits mailing list