25 lines
		
	
	
		
			712 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			712 B
		
	
	
	
		
			C
		
	
	
	
// RUN: %llvmgcc -c -emit-llvm %s -o - | llvm-dis | grep llvm.global.annotations
 | 
						|
// RUN: %llvmgcc -c -emit-llvm %s -o - | llvm-dis | 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;
 | 
						|
}
 |