summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/addrsig.c
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2018-07-18 00:27:07 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2018-07-18 00:27:07 +0000
commit14b468bab620b1743435eb8560ff250a949430be (patch)
tree0aa601e927851b29f2379948bb5116063c3967f3 /clang/test/CodeGen/addrsig.c
parentfc50498ced7f85279b901fce302d01e558c74c7d (diff)
downloadbcm5719-llvm-14b468bab620b1743435eb8560ff250a949430be.tar.gz
bcm5719-llvm-14b468bab620b1743435eb8560ff250a949430be.zip
Re-land r337333, "Teach Clang to emit address-significance tables.",
which was reverted in r337336. The problem that required a revert was fixed in r337338. Also added a missing "REQUIRES: x86-registered-target" to one of the tests. Original commit message: > 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: 337339
Diffstat (limited to 'clang/test/CodeGen/addrsig.c')
-rw-r--r--clang/test/CodeGen/addrsig.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/test/CodeGen/addrsig.c b/clang/test/CodeGen/addrsig.c
new file mode 100644
index 00000000000..d7141092bb3
--- /dev/null
+++ b/clang/test/CodeGen/addrsig.c
@@ -0,0 +1,20 @@
+// REQUIRES: x86-registered-target
+
+// 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