Browse Source

Removed outdated patches.

pull/330/head
triton 11 years ago
parent
commit
7f9c05f6a8
  1. 36
      patches/Fixed the getting of names and look-up entries of DLL imports.patch
  2. 255
      patches/type_traits_MSVC_12.patch

36
patches/Fixed the getting of names and look-up entries of DLL imports.patch

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
From 03423a19f71a0d7d30ca26b1d3b0bfbf7d58c6e1 Mon Sep 17 00:00:00 2001
From: Dimitar Dobrev <dpldobrev@yahoo.com>
Date: Wed, 30 Jul 2014 21:22:39 +0300
Subject: [PATCH] Fixed the getting of names and look-up entries of DLL
imports.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
---
lib/Object/COFFObjectFile.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Object/COFFObjectFile.cpp b/lib/Object/COFFObjectFile.cpp
index 46ef87d..9b5e954 100644
--- a/lib/Object/COFFObjectFile.cpp
+++ b/lib/Object/COFFObjectFile.cpp
@@ -1022,7 +1022,7 @@ std::error_code ImportDirectoryEntryRef::getImportTableEntry(
std::error_code ImportDirectoryEntryRef::getName(StringRef &Result) const {
uintptr_t IntPtr = 0;
if (std::error_code EC =
- OwningObject->getRvaPtr(ImportTable->NameRVA, IntPtr))
+ OwningObject->getRvaPtr((ImportTable + Index)->NameRVA, IntPtr))
return EC;
Result = StringRef(reinterpret_cast<const char *>(IntPtr));
return object_error::success;
@@ -1032,7 +1032,7 @@ std::error_code ImportDirectoryEntryRef::getImportLookupEntry(
const import_lookup_table_entry32 *&Result) const {
uintptr_t IntPtr = 0;
if (std::error_code EC =
- OwningObject->getRvaPtr(ImportTable->ImportLookupTableRVA, IntPtr))
+ OwningObject->getRvaPtr((ImportTable + Index)->ImportLookupTableRVA, IntPtr))
return EC;
Result = reinterpret_cast<const import_lookup_table_entry32 *>(IntPtr);
return object_error::success;
--
1.9.0.msysgit.0

255
patches/type_traits_MSVC_12.patch

@ -1,255 +0,0 @@ @@ -1,255 +0,0 @@
Index: include/clang/Basic/TokenKinds.def
===================================================================
--- include/clang/Basic/TokenKinds.def (revision 195759)
+++ include/clang/Basic/TokenKinds.def (working copy)
@@ -369,10 +369,15 @@
KEYWORD(__is_abstract , KEYCXX)
KEYWORD(__is_base_of , KEYCXX)
KEYWORD(__is_class , KEYCXX)
+KEYWORD(__is_constructible , KEYCXX)
KEYWORD(__is_convertible_to , KEYCXX)
+KEYWORD(__is_destructible , KEYCXX)
KEYWORD(__is_empty , KEYCXX)
KEYWORD(__is_enum , KEYCXX)
KEYWORD(__is_final , KEYCXX)
+KEYWORD(__is_nothrow_assignable , KEYCXX)
+KEYWORD(__is_nothrow_constructible , KEYCXX)
+KEYWORD(__is_nothrow_destructible , KEYCXX)
// Tentative name - there's no implementation of std::is_literal_type yet.
KEYWORD(__is_literal , KEYCXX)
// Name for GCC 4.6 compatibility - people have already written libraries using
Index: include/clang/Basic/TypeTraits.h
===================================================================
--- include/clang/Basic/TypeTraits.h (revision 195759)
+++ include/clang/Basic/TypeTraits.h (working copy)
@@ -37,6 +37,7 @@
UTT_IsCompleteType,
UTT_IsCompound,
UTT_IsConst,
+ UTT_IsDestructible,
UTT_IsEmpty,
UTT_IsEnum,
UTT_IsFinal,
@@ -50,6 +51,7 @@
UTT_IsMemberFunctionPointer,
UTT_IsMemberObjectPointer,
UTT_IsMemberPointer,
+ UTT_IsNothrowDestructible,
UTT_IsObject,
UTT_IsPOD,
UTT_IsPointer,
@@ -73,6 +75,7 @@
BTT_IsBaseOf,
BTT_IsConvertible,
BTT_IsConvertibleTo,
+ BTT_IsNothrowAssignable,
BTT_IsSame,
BTT_TypeCompatible,
BTT_IsTriviallyAssignable
@@ -93,6 +96,8 @@
/// \brief Names for type traits that operate specifically on types.
enum TypeTrait {
+ TT_IsConstructible,
+ TT_IsNothrowConstructible,
TT_IsTriviallyConstructible
};
Index: lib/AST/StmtPrinter.cpp
===================================================================
--- lib/AST/StmtPrinter.cpp (revision 195759)
+++ lib/AST/StmtPrinter.cpp (working copy)
@@ -1695,6 +1695,7 @@
case UTT_IsCompleteType: return "__is_complete_type";
case UTT_IsCompound: return "__is_compound";
case UTT_IsConst: return "__is_const";
+ case UTT_IsDestructible: return "__is_destructible";
case UTT_IsEmpty: return "__is_empty";
case UTT_IsEnum: return "__is_enum";
case UTT_IsFinal: return "__is_final";
@@ -1708,6 +1709,7 @@
case UTT_IsMemberFunctionPointer: return "__is_member_function_pointer";
case UTT_IsMemberObjectPointer: return "__is_member_object_pointer";
case UTT_IsMemberPointer: return "__is_member_pointer";
+ case UTT_IsNothrowDestructible: return "__is_nothrow_destructible";
case UTT_IsObject: return "__is_object";
case UTT_IsPOD: return "__is_pod";
case UTT_IsPointer: return "__is_pointer";
@@ -1735,6 +1737,7 @@
case BTT_IsSame: return "__is_same";
case BTT_TypeCompatible: return "__builtin_types_compatible_p";
case BTT_IsConvertibleTo: return "__is_convertible_to";
+ case BTT_IsNothrowAssignable: return "__is_nothrow_assignable";
case BTT_IsTriviallyAssignable: return "__is_trivially_assignable";
}
llvm_unreachable("Binary type trait not covered by switch");
@@ -1742,6 +1745,8 @@
static const char *getTypeTraitName(TypeTrait TT) {
switch (TT) {
+ case clang::TT_IsConstructible: return "__is_constructible";
+ case clang::TT_IsNothrowConstructible: return "__is_nothrow_constructible";
case clang::TT_IsTriviallyConstructible:return "__is_trivially_constructible";
}
llvm_unreachable("Type trait not covered by switch");
Index: lib/Parse/ParseExpr.cpp
===================================================================
--- lib/Parse/ParseExpr.cpp (revision 195759)
+++ lib/Parse/ParseExpr.cpp (working copy)
@@ -1205,6 +1205,8 @@
case tok::kw___is_union:
case tok::kw___is_final:
case tok::kw___is_sealed:
+ case tok::kw___is_destructible:
+ case tok::kw___is_nothrow_destructible:
case tok::kw___has_trivial_constructor:
case tok::kw___has_trivial_move_constructor:
case tok::kw___has_trivial_copy:
@@ -1223,9 +1225,12 @@
case tok::kw___is_same:
case tok::kw___is_convertible:
case tok::kw___is_convertible_to:
+ case tok::kw___is_nothrow_assignable:
case tok::kw___is_trivially_assignable:
return ParseBinaryTypeTrait();
+ case tok::kw___is_constructible:
+ case tok::kw___is_nothrow_constructible:
case tok::kw___is_trivially_constructible:
return ParseTypeTrait();
Index: lib/Parse/ParseExprCXX.cpp
===================================================================
--- lib/Parse/ParseExprCXX.cpp (revision 195759)
+++ lib/Parse/ParseExprCXX.cpp (working copy)
@@ -2648,6 +2648,7 @@
case tok::kw___is_complete_type: return UTT_IsCompleteType;
case tok::kw___is_compound: return UTT_IsCompound;
case tok::kw___is_const: return UTT_IsConst;
+ case tok::kw___is_destructible: return UTT_IsDestructible;
case tok::kw___is_empty: return UTT_IsEmpty;
case tok::kw___is_enum: return UTT_IsEnum;
case tok::kw___is_final: return UTT_IsFinal;
@@ -2660,6 +2661,7 @@
case tok::kw___is_member_function_pointer: return UTT_IsMemberFunctionPointer;
case tok::kw___is_member_object_pointer: return UTT_IsMemberObjectPointer;
case tok::kw___is_member_pointer: return UTT_IsMemberPointer;
+ case tok::kw___is_nothrow_destructible: return UTT_IsNothrowDestructible;
case tok::kw___is_object: return UTT_IsObject;
case tok::kw___is_literal: return UTT_IsLiteral;
case tok::kw___is_literal_type: return UTT_IsLiteral;
@@ -2689,6 +2691,7 @@
case tok::kw___is_same: return BTT_IsSame;
case tok::kw___builtin_types_compatible_p: return BTT_TypeCompatible;
case tok::kw___is_convertible_to: return BTT_IsConvertibleTo;
+ case tok::kw___is_nothrow_assignable: return BTT_IsNothrowAssignable;
case tok::kw___is_trivially_assignable: return BTT_IsTriviallyAssignable;
}
}
@@ -2696,6 +2699,10 @@
static TypeTrait TypeTraitFromTokKind(tok::TokenKind kind) {
switch (kind) {
default: llvm_unreachable("Not a known type trait");
+ case tok::kw___is_constructible:
+ return TT_IsConstructible;
+ case tok::kw___is_nothrow_constructible:
+ return TT_IsNothrowConstructible;
case tok::kw___is_trivially_constructible:
return TT_IsTriviallyConstructible;
}
Index: lib/Sema/SemaExprCXX.cpp
===================================================================
--- lib/Sema/SemaExprCXX.cpp (revision 195759)
+++ lib/Sema/SemaExprCXX.cpp (working copy)
@@ -3088,6 +3088,12 @@
// these class templates. We also try to follow any GCC documented behavior
// in these expressions to ensure portability of standard libraries.
switch (UTT) {
+ case UTT_IsDestructible:
+ // TODO: stubbed
+ return true;
+ case UTT_IsNothrowDestructible:
+ // TODO: stubbed
+ return true;
// is_complete_type somewhat obviously cannot require a complete type.
case UTT_IsCompleteType:
// Fall-through
@@ -3219,6 +3225,12 @@
ASTContext &C = Self.Context;
switch(UTT) {
+ case UTT_IsDestructible:
+ // TODO: stubbed
+ return false;
+ case UTT_IsNothrowDestructible:
+ // TODO: stubbed
+ return false;
// Type trait expressions corresponding to the primary type category
// predicates in C++0x [meta.unary.cat].
case UTT_IsVoid:
@@ -3610,6 +3622,14 @@
ArrayRef<TypeSourceInfo *> Args,
SourceLocation RParenLoc) {
switch (Kind) {
+ case clang::TT_IsConstructible: {
+ // TODO: stubbed
+ return false;
+ }
+ case clang::TT_IsNothrowConstructible: {
+ // TODO: stubbed
+ return false;
+ }
case clang::TT_IsTriviallyConstructible: {
// C++11 [meta.unary.prop]:
// is_trivially_constructible is defined as:
@@ -3834,6 +3854,10 @@
ExprResult Result = Init.Perform(Self, To, Kind, FromPtr);
return !Result.isInvalid() && !SFINAE.hasErrorOccurred();
}
+ case BTT_IsNothrowAssignable: {
+ // TODO: stubbed
+ return false;
+ }
case BTT_IsTriviallyAssignable: {
// C++11 [meta.unary.prop]p3:
@@ -3920,6 +3944,8 @@
case BTT_IsSame: ResultType = Context.BoolTy; break;
case BTT_TypeCompatible: ResultType = Context.IntTy; break;
case BTT_IsConvertibleTo: ResultType = Context.BoolTy; break;
+ // TODO: stubbed
+ case BTT_IsNothrowAssignable: ResultType = Context.BoolTy; break;
case BTT_IsTriviallyAssignable: ResultType = Context.BoolTy;
}
Index: test/SemaCXX/type-traits.cpp
===================================================================
--- test/SemaCXX/type-traits.cpp (revision 195759)
+++ test/SemaCXX/type-traits.cpp (working copy)
@@ -1594,7 +1594,26 @@
{ int arr[F(__has_virtual_destructor(AllPrivate))]; }
}
+void is_constructible() {
+ // TODO: stubbed
+}
+void is_destructible() {
+ // TODO: stubbed
+}
+
+void is_nothrow_assignable() {
+ // TODO: stubbed
+}
+
+void is_nothrow_constructible() {
+ // TODO: stubbed
+}
+
+void is_nothrow_destructible() {
+ // TODO: stubbed
+}
+
class Base {};
class Derived : Base {};
class Derived2a : Derived {};
Loading…
Cancel
Save