[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
This commit is contained in:
Argyrios Kyrtzidis 2013-04-15 16:52:57 +00:00
parent 732dc415fb
commit 7134bb4531
2 changed files with 45 additions and 4 deletions

View 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

View 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