steakhal added a comment.

Please add a test case where the class is trivial but the global variable of 
such is non-const, thus the initialized expression is not imported.



================
Comment at: clang/include/clang/CrossTU/CrossTranslationUnit.h:112
 
-// Returns true if the variable or any field of a record variable is const.
-bool containsConst(const VarDecl *VD, const ASTContext &ACtx);
+/// Returns true if it makes sense to import a foreign variable declaration.
+/// For instance, we don't want to import variables that have non-trivial types
----------------
definition


================
Comment at: clang/lib/CrossTU/CrossTranslationUnit.cpp:195
+bool shouldImport(const VarDecl *VD, const ASTContext &ACtx) {
+
   CanQualType CT = ACtx.getCanonicalType(VD->getType());
----------------
extra blank line


================
Comment at: clang/test/Analysis/Inputs/ctu-other.cpp:128
 SCNest extSCN = {.scn = {.a = 9}};
-SCNest::SCN extSubSCN = {.a = 1};
+extern SCNest::SCN const extSubSCN = {.a = 1};
 struct SCC {
----------------
AFAIK you don't need the `extern` here, since **this is** the definition of 
that global, not only a declaration.
Similarly applies to the rest of the cases.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D122805

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

Reply via email to