diff options
| author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-04-15 16:52:57 +0000 |
|---|---|---|
| committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-04-15 16:52:57 +0000 |
| commit | 7134bb4531e8e6cb5b86928973340363788f044c (patch) | |
| tree | dcc72fe3b84bcda419c2672b540b4dcd66941049 | |
| parent | 732dc415fb9547ec8aa5415687fb560aac43c05b (diff) | |
| download | bcm5719-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.cpp | 6 | ||||
| -rw-r--r-- | clang/test/PCH/cxx-typeid.h | 43 |
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 |

