blob: f3970d1d71062b61bc60e84bf0336ddd9c8f7310 [file] [log] [blame]
Eli Friedman4df6ec12009-12-30 00:20:14 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
2
3// PR5908
4template <typename Iterator>
5void Test(Iterator it) {
6 *(it += 1);
7}
Douglas Gregor501edb62010-01-15 16:21:02 +00008
9namespace PR6045 {
10 template<unsigned int r>
11 class A
12 {
13 static const unsigned int member = r;
14 void f();
15 };
16
17 template<unsigned int r>
18 const unsigned int A<r>::member;
19
20 template<unsigned int r>
21 void A<r>::f()
22 {
23 unsigned k;
24 (void)(k % member);
25 }
26}
Douglas Gregorfb2db462010-05-22 17:12:29 +000027
28namespace PR7198 {
29 struct A
30 {
31 ~A() { }
32 };
33
34 template<typename T>
35 struct B {
36 struct C : A {};
37 void f()
38 {
39 C c = C();
40 }
41 };
42}
Eli Friedman787b0942010-07-27 19:14:53 +000043
44namespace PR7724 {
45 template<typename OT> int myMethod()
46 { return 2 && sizeof(OT); }
47}
John McCalla21e06c2010-11-26 10:57:22 +000048
49namespace test4 {
50 template <typename T> T *addressof(T &v) {
51 return reinterpret_cast<T*>(
52 &const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
53 }
54}