test case for annotate attribute
authorTanya Lattner <tonic@nondot.org>
Fri, 15 Jun 2007 20:52:47 +0000 (20:52 +0000)
committerTanya Lattner <tonic@nondot.org>
Fri, 15 Jun 2007 20:52:47 +0000 (20:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37604 91177308-0d34-0410-b5e6-96231b3b80d8

test/CFrontend/2007-06-15-AnnotateAttribute.c [new file with mode: 0644]

diff --git a/test/CFrontend/2007-06-15-AnnotateAttribute.c b/test/CFrontend/2007-06-15-AnnotateAttribute.c
new file mode 100644 (file)
index 0000000..18ce693
--- /dev/null
@@ -0,0 +1,25 @@
+// RUN: %llvmgxx -c -emit-llvm %s -o - | llvm-dis | grep llvm.global.annotations | grep foo \ 
+// RUN: | grep @X | grep @a
+// RUN: %llvmgxx -c -emit-llvm %s -o - | llvm-dis | grep -c llvm.var.annotation | grep 3 
+
+#include <stdio.h>
+
+/* Global variable with attribute */
+int X __attribute__((annotate("GlobalValAnnotation")));
+
+/* Function with attribute */
+int foo(int y) __attribute__((annotate("GlobalValAnnotation"))) 
+               __attribute__((noinline));
+
+int foo(int y __attribute__((annotate("LocalValAnnotation")))) {
+  int x __attribute__((annotate("LocalValAnnotation")));
+  x = 34;
+  return y + x;
+} 
+
+int main() {
+  static int a __attribute__((annotate("GlobalValAnnotation")));
+  a = foo(2);
+  printf("hello world%d\n", a);
+  return 0;
+}