aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.
LGTM!
================
Comment at: clang/test/CodeGenCXX/trivial-auto-var-init-attribute.cpp:38-50
+// UNINIT-LABEL: test_pragma_attribute_uninitialized_f2(
+// UNINIT: alloca
+// UNINIT-NEXT: call void
+// ZERO-LABEL: test_pragma_attribute_uninitialized_f2(
+// ZERO: alloca
+// ZERO-NEXT: call void
+// PATTERN-LABEL: test_pragma_attribute_uninitialized_f2(
----------------
I think you can remove this test case as it's basically identical to the
previous one.
================
Comment at: clang/test/Parser/pragma-attribute.cpp:190
+#pragma clang attribute pop
+#pragma clang attribute push([[clang::uninitialized]], apply_to = variable) //
expected-error {{attribute 'uninitialized' can't be applied to 'variable'}}
+#pragma clang attribute pop
----------------
jfb wrote:
> Should variable work? Since it’s a superset of local it seems like maybe? But
> then again only local works, so ok not sure.
I think this is correct. Requiring an explicit `is_local` here is a
conservative approach. It means we can start supporting
`[[clang::uninitialized]]` in other contexts without breaking code that uses
`#pragma clang attribute` to apply it to more entities unexpectedly.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D78693/new/
https://reviews.llvm.org/D78693
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits