[PCH/test] Make test/PCH/cxx-typeid.cpp self-contained by including the relevant...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 15 Apr 2013 16:52:57 +0000 (16:52 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 15 Apr 2013 16:52:57 +0000 (16:52 +0000)
instead of depending on a system header inclusion.

llvm-svn: 179537

clang/test/PCH/cxx-typeid.cpp
clang/test/PCH/cxx-typeid.h

index d1ad8a3..c6a41a1 100644 (file)
@@ -1,9 +1,9 @@
 // XFAIL: hexagon
 // Test this without pch.
-// RUN: %clang -include %S/cxx-typeid.h -fsyntax-only -Xclang -verify %s
+// RUN: %clang_cc1 -include %S/cxx-typeid.h -fsyntax-only -verify %s
 
-// RUN: %clang -ccc-pch-is-pch -x c++-header -o %t.gch %S/cxx-typeid.h
-// RUN: %clang -ccc-pch-is-pch -include %t -fsyntax-only -Xclang -verify %s 
+// RUN: %clang_cc1 -x c++-header -emit-pch -o %t.pch %S/cxx-typeid.h
+// RUN: %clang_cc1 -include-pch %t.pch -fsyntax-only -verify %s
 
 // expected-no-diagnostics
 
index aa3b16a..f10f4de 100644 (file)
@@ -1,3 +1,44 @@
 // Header for PCH test cxx-typeid.cpp
 
-#include <typeinfo>
+#ifndef CXX_TYPEID_H
+#define CXX_TYPEID_H
+
+namespace std {
+
+class type_info
+{
+public:
+    virtual ~type_info();
+
+    bool operator==(const type_info& rhs) const;
+    bool operator!=(const type_info& rhs) const;
+
+    bool before(const type_info& rhs) const;
+    unsigned long hash_code() const;
+    const char* name() const;
+
+    type_info(const type_info& rhs);
+    type_info& operator=(const type_info& rhs);
+};
+
+class bad_cast
+{
+public:
+    bad_cast();
+    bad_cast(const bad_cast&);
+    bad_cast& operator=(const bad_cast&);
+    virtual const char* what() const;
+};
+
+class bad_typeid
+{
+public:
+    bad_typeid();
+    bad_typeid(const bad_typeid&);
+    bad_typeid& operator=(const bad_typeid&);
+    virtual const char* what() const;
+};
+
+}  // std
+
+#endif