blob: 20594d532e3370945c3b49d4375fd10e8a8e9f51 [file] [log] [blame]
Richard Smith7a614d82011-06-11 17:19:42 +00001// Test this without pch.
Richard Smith762bb9d2011-10-13 22:29:44 +00002// RUN: %clang_cc1 -x c++ -std=c++11 -DHEADER -DSOURCE -fsyntax-only -emit-llvm -o - %s
Richard Smith7a614d82011-06-11 17:19:42 +00003
4// Test with pch.
Richard Smith762bb9d2011-10-13 22:29:44 +00005// RUN: %clang_cc1 -x c++ -std=c++11 -DHEADER -emit-pch -o %t %s
6// RUN: %clang_cc1 -x c++ -std=c++11 -DHEADER -include-pch %t -fsyntax-only -emit-llvm -o - %s
Richard Smith7a614d82011-06-11 17:19:42 +00007
8#ifdef HEADER
9int n;
10struct S {
11 int *p = &m;
12 int &m = n;
13 S *that = this;
14};
Richard Smithca523302012-06-10 03:12:00 +000015template<typename T> struct X { T t {0}; };
Richard Smith7a614d82011-06-11 17:19:42 +000016#endif
17
18#ifdef SOURCE
19S s;
Richard Smithca523302012-06-10 03:12:00 +000020
21struct E { explicit E(int); };
22X<E> x;
Richard Smith7a614d82011-06-11 17:19:42 +000023#elif HEADER
24#undef HEADER
25#define SOURCE
26#endif