|  | // RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s | 
|  |  | 
|  | // Test annotation attributes are still emitted when the function is used before | 
|  | // it is defined with annotations. | 
|  |  | 
|  | void foo(void); | 
|  | void *xxx = (void*)foo; | 
|  | void __attribute__((annotate("bar"))) foo(); | 
|  |  | 
|  | // CHECK: target triple | 
|  | // CHECK-DAG: private unnamed_addr constant [4 x i8] c"bar\00", section "llvm.metadata" | 
|  |  | 
|  | // CHECK: @llvm.global.annotations = appending global [1 x { ptr, ptr, ptr, i32, ptr }] [{ | 
|  | // CHECK-SAME: { ptr @foo, | 
|  | // CHECK-SAME: }], section "llvm.metadata" | 
|  |  |