1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang -emit-llvm -S -o %t %s
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: not grep '@f0' %t
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: not grep 'call ' %t
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang -mllvm -disable-llvm-optzns -emit-llvm -S -o %t %s
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: grep '@f0' %t | count 2
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao//static int f0() {
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostatic int __attribute__((always_inline)) f0() {
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  return 1;
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint f1() {
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  return f0();
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// PR4372
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoinline int f2() __attribute__((always_inline));
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint f2() { return 7; }
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint f3(void) { return f2(); }
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
21