llvm-6502/test/FrontendC/2007-06-15-AnnotateAttribute.c
Duncan Sands bb8f59003c 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).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120158 91177308-0d34-0410-b5e6-96231b3b80d8
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;
}