13519960f16dda7107e66bc66d5c6d02c2f1e8233Rafael Espindola// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s
23883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher
33883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// There should not be an unresolved reference to func here.  Believe it or not,
43519960f16dda7107e66bc66d5c6d02c2f1e8233Rafael Espindola// the "expected result" is a function named 'func' which is internal and
53883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// referenced by bar().
63883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher
73883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// This is PR244
83883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher
993ab6bf534fb6c26563c00f28a8fc5581bb71dfdStephen Lin// CHECK-LABEL: define void @bar(
103519960f16dda7107e66bc66d5c6d02c2f1e8233Rafael Espindola// CHECK: call {{.*}} @func
113c7511a44d20d0fd9e287747eb58a00215c57533Rafael Espindola// CHECK: define internal {{.*}}i32 @func(
123883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherstatic int func();
133883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christophervoid bar() {
143883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher  int func();
153883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher  foo(func);
163883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher}
173883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherstatic int func(char** A, char ** B) {}
18