diff options
| author | Mingming Liu <mingmingl@google.com> | 2025-09-10 15:25:31 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-10 15:25:31 -0700 |
| commit | 1417dafa1db9cb1b2b09438aa9f53ea5ab6e36e2 (patch) | |
| tree | 57f4b1f313c8cf74eed8819870f39c36ea263c68 /clang/test/CodeGenCXX/destructor-attr.cpp | |
| parent | 898b813bc8a6d0276bf0f4769f5f2f64b34e632d (diff) | |
| parent | b8cefcb601ddaa18482555c4ff363c01a270c2fe (diff) | |
Merge branch 'main' into users/mingmingl-llvm/samplefdo-profile-formatusers/mingmingl-llvm/samplefdo-profile-format
Diffstat (limited to 'clang/test/CodeGenCXX/destructor-attr.cpp')
| -rw-r--r-- | clang/test/CodeGenCXX/destructor-attr.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/destructor-attr.cpp b/clang/test/CodeGenCXX/destructor-attr.cpp new file mode 100644 index 000000000000..f0500caed3cc --- /dev/null +++ b/clang/test/CodeGenCXX/destructor-attr.cpp @@ -0,0 +1,23 @@ +// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s + +// CHECK: @llvm.global_dtors +// CHECK-SAME: i32 65535, ptr @_ZN3Foo3fooEv +// CHECK-SAME: i32 101, ptr @_Z22template_dependent_cxxILi101EEvv +// CHECK-SAME: i32 104, ptr @_Z23template_dependent_nttpIiLi104EEvv + +// PR6521 +void bar(); +struct Foo { + // CHECK-LABEL: define linkonce_odr {{.*}}void @_ZN3Foo3fooEv + static void foo() __attribute__((destructor)) { + bar(); + } +}; + +template <int P> +[[gnu::destructor(P)]] void template_dependent_cxx() {} +template <typename T, int P = sizeof(T) * 26> +[[gnu::destructor(P)]] void template_dependent_nttp() {} + +template void template_dependent_cxx<101>(); +template void template_dependent_nttp<int>(); |
