1*67e74705SXin Li // Test this without pch. 2*67e74705SXin Li // RUN: %clang_cc1 -include %S/Inputs/chain-decls1.h -include %S/Inputs/chain-decls2.h -fsyntax-only -verify %s 3*67e74705SXin Li 4*67e74705SXin Li // Test with pch. 5*67e74705SXin Li // RUN: %clang_cc1 -emit-pch -o %t1 %S/Inputs/chain-decls1.h 6*67e74705SXin Li // RUN: %clang_cc1 -emit-pch -o %t2 %S/Inputs/chain-decls2.h -include-pch %t1 7*67e74705SXin Li // RUN: %clang_cc1 -include-pch %t2 -fsyntax-only -verify %s 8*67e74705SXin Li // RUN: %clang_cc1 -ast-print -include-pch %t2 %s | FileCheck %s 9*67e74705SXin Li 10*67e74705SXin Li // expected-no-diagnostics 11*67e74705SXin Li 12*67e74705SXin Li // CHECK: void f(); 13*67e74705SXin Li // CHECK: void g(); 14*67e74705SXin Li h()15*67e74705SXin Liint h() { 16*67e74705SXin Li f(); 17*67e74705SXin Li g(); 18*67e74705SXin Li 19*67e74705SXin Li struct one x; 20*67e74705SXin Li one(); 21*67e74705SXin Li struct two y; 22*67e74705SXin Li two(); 23*67e74705SXin Li struct three z; 24*67e74705SXin Li 25*67e74705SXin Li many(0); 26*67e74705SXin Li struct many m; 27*67e74705SXin Li 28*67e74705SXin Li noret(); 29*67e74705SXin Li } 30