balazske marked an inline comment as done.
balazske added inline comments.

================
Comment at: clang/lib/AST/ASTImporter.cpp:2600
+          EnumDecl *FoundDef = FoundEnum->getDefinition();
+          if (D->isThisDeclarationADefinition() && FoundDef)
+            return Importer.MapImported(D, FoundDef);
----------------
martong wrote:
> shafik wrote:
> > Can you explain why we need to check `D->isThisDeclarationADefinition()` 
> > 
> > Does the test added hit all the combination of cases?
> By the time of this check, we already know that D and the existing (found) 
> decl are structurally equivalent. If they are both definitions then they must 
> be the same, so we keep on with the existing. Actually, this is not 
> unorthodox with enums, this is the pattern that we follow with all kind of 
> declarations. 
Good observation: The `enum class` case could be added to the generic redecl 
and ODR tests. This makes the single test in **ASTImporterTest.cpp** 
unnecessary, this case should be covered by the tests in 
**ASTImporterGenericRedeclTest.cpp**.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74554/new/

https://reviews.llvm.org/D74554



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to