xref: /llvm-project/clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp (revision 5fa4cf82dfa075e7983ce92d0042480b7b8f4fbc)
1 // REQUIRES: aarch64-registered-target
2 ///
3 /// Check that using /hotpatch doesn't generate an error.
4 /// Binaries are always hotpatchable on ARM/ARM64.
5 ///
6 // RUN: %clang_cl --target=aarch64-pc-windows-msvc /c /hotpatch /Z7 -- %s 2>&1
7 ///
8 /// Ensure that we set the hotpatchable flag in the debug information.
9 ///
10 // RUN: %clang_cl --target=aarch64-pc-windows-msvc /c /Z7 -o %t.obj -- %s
11 // RUN: llvm-pdbutil dump -symbols %t.obj | FileCheck %s --check-prefix=HOTPATCH
12 // HOTPATCH: S_COMPILE3 [size = [[#]]]
13 // HOTPATCH: flags = hot patchable
14 ///
15 /// Unfortunately we need /Z7, Clang does not systematically generate S_COMPILE3.
16 ///
17 // RUN: %clang_cl --target=aarch64-pc-windows-msvc /c -o %t.obj -- %s
18 // RUN: llvm-pdbutil dump -symbols %t.obj | FileCheck %s --check-prefix=NO-HOTPATCH
19 // NO-HOTPATCH-NOT: flags = hot patchable
20 
main()21 int main() {
22   return 0;
23 }
24