aaron.ballman added inline comments.

================
Comment at: clang/lib/Sema/SemaDecl.cpp:2718
+      // attribute then there are two different definitions.
+      // In C++, prefer the standard diagnostics
+      if (!S.getLangOpts().CPlusPlus) {
----------------
Missing a full stop at the end of the sentence. The comment can probably be 
re-flowed with the preceding sentence too.


================
Comment at: clang/lib/Sema/SemaDecl.cpp:11949
 
+  // The LoaderUninitialized attribute acts as a definition (of undef)
+  if (VDecl->hasAttr<LoaderUninitializedAttr>()) {
----------------
Missing full stop.


================
Comment at: clang/lib/Sema/SemaDecl.cpp:12377
+      }
+      if (Var->getStorageClass() == SC_Extern) {
+        Diag(Var->getLocation(), diag::err_loader_uninitialized_extern);
----------------
Should this either be calling `VarDecl::hasExternalStorage()` or looking at the 
linkage of the variable, rather than at the storage class written in the source?


================
Comment at: clang/test/CodeGen/attr-loader-uninitialized.c:4
+// CHECK: @tentative_attr_first = weak global i32 undef, align 4
+int tentative_attr_first __attribute__((loader_uninitialized));
+int tentative_attr_first;
----------------
I thought `err_loader_uninitialized_extern` says that the variable cannot have 
external linkage?


================
Comment at: clang/test/CodeGenCXX/attr-loader-uninitialized.cpp:4
+// CHECK: @defn = global i32 undef
+int defn  [[clang::loader_uninitialized]];
+
----------------
I thought `err_loader_uninitialized_extern` says that the variable cannot have 
external linkage?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74361



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

Reply via email to