blob: 93ba203ae112ed5f232611a27d128f80dfdb74aa [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
Sebastian Redl5d484e82009-11-23 17:18:46 +00002
3struct s0; // expected-note {{forward declaration}}
4char ar[sizeof(s0&)]; // expected-error {{invalid application of 'sizeof' to an incomplete type}}
5void test() {
6 char &r = ar[0];
7 static_assert(alignof(r) == 1, "bad alignment");
8 static_assert(sizeof(r) == 1, "bad size");
9}
Douglas Gregor9ba6af82010-05-23 19:43:23 +000010
Douglas Gregordb2eae62011-03-16 19:16:25 +000011void f(); // expected-note{{candidate function}}
12void f(int); // expected-note{{candidate function}}
Douglas Gregor9ba6af82010-05-23 19:43:23 +000013void g() {
Douglas Gregordb2eae62011-03-16 19:16:25 +000014 sizeof(&f); // expected-error{{cannot resolve overloaded function 'f' from context}}
Douglas Gregor9ba6af82010-05-23 19:43:23 +000015}
Douglas Gregor4f0845e2011-06-22 23:21:00 +000016
17template<typename T> void f_template(); // expected-note{{candidate function}}
18template<typename T> void f_template(T*); // expected-note{{candidate function}}
19void rdar9659191() {
20 (void)alignof(f_template<int>); // expected-error{{cannot resolve overloaded function 'f_template' from context}}
21}