author | Stefan Teleman <stefan.teleman@oracle.com> |
Thu, 28 Jul 2016 16:25:34 -0700 | |
changeset 6512 | 92717ce71105 |
permissions | -rw-r--r-- |
6512
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
# 22902355 clang CodeGen is affected by 22902339 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
# 3.9.X upstream. |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
--- tools/clang/include/clang/Sema/AttributeList.h 2015-12-02 12:07:30.000000000 -0500 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
+++ tools/clang/include/clang/Sema/AttributeList.h 2016-05-08 23:19:20.555431312 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
@@ -475,6 +475,27 @@ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
unsigned getSemanticSpelling() const; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
}; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
+static_assert( |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
+ llvm::AlignOf<AttributeList>::Alignment >= |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
+ llvm::AlignOf<ArgsUnion>::Alignment, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
+ "Alignment is insufficient for objects appended to AttributeList"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
+static_assert( |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
+ llvm::AlignOf<ArgsUnion>::Alignment >= |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
+ llvm::AlignOf<AvailabilityChange>::Alignment, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
+ "Alignment is insufficient for objects appended to AttributeList"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
+static_assert( |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
+ llvm::AlignOf<ArgsUnion>::Alignment >= |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
+ llvm::AlignOf<AttributeList::TypeTagForDatatypeData>::Alignment, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
+ "Alignment is insufficient for objects appended to AttributeList"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
+static_assert( |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
+ llvm::AlignOf<AttributeList>::Alignment >= |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
+ llvm::AlignOf<ParsedType>::Alignment, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
+ "Alignment is insufficient for objects appended to AttributeList"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
+static_assert( |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
+ llvm::AlignOf<AttributeList>::Alignment >= |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
+ llvm::AlignOf<AttributeList::PropertyData>::Alignment, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
+ "Alignment is insufficient for objects appended to AttributeList"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
+ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
/// A factory, from which one makes pools, from which one creates |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
/// individual attributes which are deallocated with the pool. |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
/// |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
--- tools/clang/include/clang/Sema/CodeCompleteConsumer.h 2015-07-07 02:20:19.000000000 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
+++ tools/clang/include/clang/Sema/CodeCompleteConsumer.h 2016-05-08 23:19:20.555431312 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
@@ -494,6 +494,14 @@ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
/// which is mainly useful for debugging. |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
std::string getAsString() const; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
}; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
+static_assert( |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
+ llvm::AlignOf<CodeCompletionString>::Alignment >= |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
+ llvm::AlignOf<CodeCompletionString::Chunk>::Alignment, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
+ "Alignment is insufficient for objects appended to CodeCompletionString"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
+static_assert( |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
+ llvm::AlignOf<CodeCompletionString::Chunk>::Alignment >= |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
+ llvm::AlignOf<const char *>::Alignment, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
+ "Alignment is insufficient for objects appended to CodeCompletionString"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
/// \brief An allocator used specifically for the purpose of code completion. |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
class CodeCompletionAllocator : public llvm::BumpPtrAllocator { |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
--- tools/clang/include/clang/Sema/ParsedTemplate.h 2015-06-22 19:07:51.000000000 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
+++ tools/clang/include/clang/Sema/ParsedTemplate.h 2016-05-08 23:19:20.555431312 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
@@ -205,6 +205,10 @@ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
free(this); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
} |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
}; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
+ static_assert( |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
+ llvm::AlignOf<TemplateIdAnnotation>::Alignment >= |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
+ llvm::AlignOf<ParsedTemplateArgument>::Alignment, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
+ "Alignment is insufficient for objects appended to TemplateIdAnnotation"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
/// Retrieves the range of the given template parameter lists. |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
SourceRange getTemplateParamsRange(TemplateParameterList const *const *Params, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
--- tools/clang/lib/Sema/SemaExceptionSpec.cpp 2015-12-18 16:45:41.000000000 -0500 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
+++ tools/clang/lib/Sema/SemaExceptionSpec.cpp 2016-05-08 23:19:20.576431823 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
@@ -998,9 +998,8 @@ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
case Expr::LambdaExprClass: { |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
const LambdaExpr *Lambda = cast<LambdaExpr>(E); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
CanThrowResult CT = CT_Cannot; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
- for (LambdaExpr::const_capture_init_iterator |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
- Cap = Lambda->capture_init_begin(), |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
- CapEnd = Lambda->capture_init_end(); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
+ for (LambdaExpr::const_capture_init_iterator Cap = |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
+ Lambda->capture_init_begin(), CapEnd = Lambda->capture_init_end(); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
Cap != CapEnd; ++Cap) |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
CT = mergeCanThrow(CT, canThrow(*Cap)); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
return CT; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
--- tools/clang/lib/Sema/TypeLocBuilder.cpp 2014-05-26 02:22:03.000000000 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
+++ tools/clang/lib/Sema/TypeLocBuilder.cpp 2016-05-08 23:19:20.576431823 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
@@ -13,6 +13,8 @@ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
//===----------------------------------------------------------------------===// |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
#include "TypeLocBuilder.h" |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
+#include <cstring> |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
+#include <stdlib.h> |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
using namespace clang; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
@@ -46,14 +48,35 @@ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
assert(NewCapacity > Capacity); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
90 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
// Allocate the new buffer and copy the old data into it. |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
- char *NewBuffer = new char[NewCapacity]; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
93 |
+ char *NewBuffer; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
+ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
+#if defined(_MSC_VER) |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
96 |
+ NewBuffer = _aligned_malloc(NewCapacity, (size_t) BufferMaxAlignment); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
97 |
+ assert(NewBuffer && "_aligned_malloc failed!"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
98 |
+ if (!NewBuffer) { |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
+ llvm::errs() << __PRETTY_FUNCTION__ << ": _aligned_malloc failed!\n"; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
100 |
+ abort(); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
+ } |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
102 |
+#else |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
103 |
+ int R = posix_memalign((void**) &NewBuffer, |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
104 |
+ (size_t) BufferMaxAlignment, NewCapacity); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
105 |
+ assert((R == 0) && "posix_memalign failed!"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
106 |
+ assert(NewBuffer && "posix_memalign failed!"); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
107 |
+ if ((R != 0) || (!NewBuffer)) { |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
108 |
+ llvm::errs() << __PRETTY_FUNCTION__ << ": posix_memalign failed!\n"; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
109 |
+ abort(); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
110 |
+ } |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
111 |
+#endif |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
112 |
+ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
113 |
+ (void) std::memset(NewBuffer, 0, NewCapacity); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
114 |
+ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
115 |
unsigned NewIndex = Index + NewCapacity - Capacity; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
116 |
- memcpy(&NewBuffer[NewIndex], |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
117 |
- &Buffer[Index], |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
118 |
- Capacity - Index); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
119 |
+ (void) std::memcpy(&NewBuffer[NewIndex], |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
120 |
+ &Buffer[Index], |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
121 |
+ Capacity - Index); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
122 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
123 |
if (Buffer != InlineBuffer.buffer) |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
124 |
- delete[] Buffer; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
125 |
+ std::free(Buffer); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
126 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
127 |
Buffer = NewBuffer; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
128 |
Capacity = NewCapacity; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
129 |
--- tools/clang/lib/Sema/TypeLocBuilder.h 2015-06-22 19:07:51.000000000 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
130 |
+++ tools/clang/lib/Sema/TypeLocBuilder.h 2016-05-08 23:19:20.577431847 -0400 |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
131 |
@@ -39,7 +39,7 @@ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
132 |
#endif |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
133 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
134 |
/// The inline buffer. |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
135 |
- enum { BufferMaxAlignment = llvm::AlignOf<void*>::Alignment }; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
136 |
+ enum { BufferMaxAlignment = llvm::AlignOf<uint64_t>::Alignment }; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
137 |
llvm::AlignedCharArray<BufferMaxAlignment, InlineCapacity> InlineBuffer; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
138 |
unsigned NumBytesAtAlign4, NumBytesAtAlign8; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
139 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
140 |
@@ -52,7 +52,7 @@ |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
141 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
142 |
~TypeLocBuilder() { |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
143 |
if (Buffer != InlineBuffer.buffer) |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
144 |
- delete[] Buffer; |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
145 |
+ std::free(Buffer); |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
146 |
} |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
147 |
|
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
148 |
/// Ensures that this buffer has at least as much capacity as described. |
92717ce71105
24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
149 |