xref: /aosp_15_r20/external/clang/test/CodeGen/2007-06-15-AnnotateAttribute.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm %s -o - | grep llvm.global.annotations
2*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm %s -o - | grep llvm.var.annotation | count 3
3*67e74705SXin Li 
4*67e74705SXin Li /* Global variable with attribute */
5*67e74705SXin Li int X __attribute__((annotate("GlobalValAnnotation")));
6*67e74705SXin Li 
7*67e74705SXin Li /* Function with attribute */
8*67e74705SXin Li int foo(int y) __attribute__((annotate("GlobalValAnnotation")))
9*67e74705SXin Li                __attribute__((noinline));
10*67e74705SXin Li 
foo(int y)11*67e74705SXin Li int foo(int y __attribute__((annotate("LocalValAnnotation")))) {
12*67e74705SXin Li   int x __attribute__((annotate("LocalValAnnotation")));
13*67e74705SXin Li   x = 34;
14*67e74705SXin Li   return y + x;
15*67e74705SXin Li }
16*67e74705SXin Li 
main()17*67e74705SXin Li int main() {
18*67e74705SXin Li   static int a __attribute__((annotate("GlobalValAnnotation")));
19*67e74705SXin Li   a = foo(2);
20*67e74705SXin Li   return 0;
21*67e74705SXin Li }
22