blob: a1ddd249f7fe0e9f1fa1a60a3326c94a76d5b7ba [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}
John McCall9b4b9d62010-11-30 02:05:44 +000055
56namespace test5 {
57 template <typename T> class chained_map {
58 int k;
59 void lookup() const {
60 int &v = (int &)k;
61 }
62 };
63}
Douglas Gregor14af91a2010-12-21 07:22:56 +000064
65namespace PR8795 {
66 template <class _CharT> int test(_CharT t)
67 {
68 int data [] = {
69 sizeof(_CharT) > sizeof(char)
70 };
71 return data[0];
72 }
73}