summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-04-15 16:52:57 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-04-15 16:52:57 +0000
commit7134bb4531e8e6cb5b86928973340363788f044c (patch)
treedcc72fe3b84bcda419c2672b540b4dcd66941049
parent732dc415fb9547ec8aa5415687fb560aac43c05b (diff)
downloadbcm5719-llvm-7134bb4531e8e6cb5b86928973340363788f044c.tar.gz
bcm5719-llvm-7134bb4531e8e6cb5b86928973340363788f044c.zip
[PCH/test] Make test/PCH/cxx-typeid.cpp self-contained by including the relevant standard library declarations
instead of depending on a system header inclusion. llvm-svn: 179537
-rw-r--r--clang/test/PCH/cxx-typeid.cpp6
-rw-r--r--clang/test/PCH/cxx-typeid.h43
2 files changed, 45 insertions, 4 deletions
diff --git a/clang/test/PCH/cxx-typeid.cpp b/clang/test/PCH/cxx-typeid.cpp
index d1ad8a33ee6..c6a41a15ccb 100644
--- a/clang/test/PCH/cxx-typeid.cpp
+++ b/clang/test/PCH/cxx-typeid.cpp
@@ -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
diff --git a/clang/test/PCH/cxx-typeid.h b/clang/test/PCH/cxx-typeid.h
index aa3b16aa0b4..f10f4de87c0 100644
--- a/clang/test/PCH/cxx-typeid.h
+++ b/clang/test/PCH/cxx-typeid.h
@@ -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
OpenPOWER on IntegriCloud