summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/addrsig.c
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2018-07-17 23:17:16 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2018-07-17 23:17:16 +0000
commit27242c0402f0cf5280ea5aba05d8f3a71e2e57fd (patch)
tree9bce1a1f356bccc1bb590792ff58c53c0f7c427a /clang/test/CodeGen/addrsig.c
parent4fd84c18df3e671e0a66fdf2abf9224b8868e0e4 (diff)
downloadbcm5719-llvm-27242c0402f0cf5280ea5aba05d8f3a71e2e57fd.tar.gz
bcm5719-llvm-27242c0402f0cf5280ea5aba05d8f3a71e2e57fd.zip
Teach Clang to emit address-significance tables.
By default, we emit an address-significance table on all ELF targets when the integrated assembler is enabled. The emission of an address-significance table can be controlled with the -faddrsig and -fno-addrsig flags. Differential Revision: https://reviews.llvm.org/D48155 llvm-svn: 337333
Diffstat (limited to 'clang/test/CodeGen/addrsig.c')
-rw-r--r--clang/test/CodeGen/addrsig.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/CodeGen/addrsig.c b/clang/test/CodeGen/addrsig.c
new file mode 100644
index 00000000000..2cbdb2b554b
--- /dev/null
+++ b/clang/test/CodeGen/addrsig.c
@@ -0,0 +1,18 @@
+// RUN: %clang_cc1 -triple=x86_64-unknown-linux -S %s -faddrsig -O -o - | FileCheck --check-prefix=ADDRSIG %s
+// RUN: %clang_cc1 -triple=x86_64-unknown-linux -S %s -O -o - | FileCheck --check-prefix=NO-ADDRSIG %s
+
+// ADDRSIG: .addrsig
+// ADDRSIG: .addrsig_sym g1
+// ADDRSIG-NOT: .addrsig_sym g2
+
+// NO-ADDRSIG-NOT: .addrsig
+
+extern const int g1[], g2[];
+
+const int *f1() {
+ return g1;
+}
+
+int f2() {
+ return g2[0];
+}
OpenPOWER on IntegriCloud