1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/test/FrontendC/2007-06-15-AnnotateAttribute.c
Duncan Sands 020f241883 Remove explicit uses of -emit-llvm, the test infrastructure adds it
automatically.  Use -S with llvm-gcc rather than -c, so tests can
work when llvm-gcc is really dragonegg (which can output IR with -S
but not -c).

llvm-svn: 120158
2010-11-25 21:24:35 +00:00

25 lines
668 B
C

// RUN: %llvmgcc -S %s -o - | grep llvm.global.annotations
// RUN: %llvmgcc -S %s -o - | grep llvm.var.annotation | count 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;
}