summaryrefslogtreecommitdiff
path: root/test/FrontendC/2007-06-15-AnnotateAttribute.c
blob: 115c3f73b90b854339509d52e2c185d7339c4c1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 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;
}