aaron.ballman added a comment.
Can you also add semantic tests that verify the attribute only works in C++,
only appertains to a record (as opposed to other kinds of declarations like
functions), and doesn't accept arguments. Some other tests that may be
interesting:
// Should test redeclaration behavior.
struct [[clang::standalone_debug]] redecl;
struct redecl {};
struct [[clang::standalone_debug]] S; // Does this make sense on forward
declare that's never defined?
struct foo {
struct [[clang::standalone_debug]] { // anonymous types?
int x;
};
};
union [[clang::standalone_debug]] U { // Non-struct record types?
int x;
float f;
};
union [[clang::standalone_debug]] Oof { // Non-struct record types with a
constructor?
Oof() {}
int x;
float f;
};
================
Comment at: clang/include/clang/Basic/Attr.td:1666
+ let Subjects = SubjectList<[CXXRecord]>;
+ let Documentation = [Undocumented];
+ let SimpleHandler = 1;
----------------
rnk wrote:
> I understand that this patch is mainly to open discussion, but we should
> document the attribute before landing the patch.
+1 to this (no new undocumented attributes, please).
================
Comment at: clang/test/CodeGenCXX/force-debug-attribute.cpp:1
+// RUN: %clang_cc1 -DSETATTR=0 -emit-llvm -std=c++14
-debug-info-kind=constructor %s -o - | FileCheck %s --check-prefix=DEBUG
+// RUN: %clang_cc1 -DSETATTR=1 -emit-llvm -std=c++14
-debug-info-kind=constructor %s -o - | FileCheck %s --check-prefix=WITHATTR
----------------
Is there something C++14 specific about the test, or should that be dropped?
Should we specify a triple? (I have no idea if debug info is target-specific.)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97411/new/
https://reviews.llvm.org/D97411
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits