blob: 98d962ad0998f8dba99a893fad51d8989f4e6159 [file] [log] [blame]
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only %s
Chris Lattner3e30f7c2007-01-23 06:12:15 +00002
3char *const_cast_test(const char *var)
4{
5 return const_cast<char*>(var);
6}
7
Chris Lattner3e30f7c2007-01-23 06:12:15 +00008struct A {
9 virtual ~A() {}
10};
11
12struct B : public A {
13};
14
15struct B *dynamic_cast_test(struct A *a)
16{
17 return dynamic_cast<struct B*>(a);
18}
Chris Lattner3e30f7c2007-01-23 06:12:15 +000019
20char *reinterpret_cast_test()
21{
22 return reinterpret_cast<char*>(0xdeadbeef);
23}
24
25double static_cast_test(int i)
26{
27 return static_cast<double>(i);
28}
Argyrios Kyrtzidis16d63a72008-08-16 19:45:32 +000029
30char postfix_expr_test()
31{
32 return reinterpret_cast<char*>(0xdeadbeef)[0];
Daniel Dunbara45cf5b2009-03-24 02:24:46 +000033}
John McCalle7db86d2010-04-30 03:11:01 +000034
35// This was being incorrectly tentatively parsed.
36namespace test1 {
37 template <class T> class A {};
38 void foo() { A<int>(*(A<int>*)0); }
39}