diff options
-rw-r--r-- | test/CFrontend/2007-06-15-AnnotateAttribute.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/CFrontend/2007-06-15-AnnotateAttribute.c b/test/CFrontend/2007-06-15-AnnotateAttribute.c new file mode 100644 index 0000000000..18ce69389d --- /dev/null +++ b/test/CFrontend/2007-06-15-AnnotateAttribute.c @@ -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; +} |