| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
bunch of others I haven't touched.
llvm-svn: 137867
|
| |
|
|
|
|
|
|
| |
user-declared) as implicit.
This results in libclang ignoring such methods.
llvm-svn: 137852
|
| |
|
|
| |
llvm-svn: 137750
|
| |
|
|
|
|
| |
a translation unit.
llvm-svn: 137674
|
| |
|
|
|
|
|
| |
test over from llvm/test/FrontendC++ and update others to account for
the change.
llvm-svn: 137669
|
| |
|
|
| |
llvm-svn: 137574
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Microsoft mode. A new AST node is introduced: ClassScopeFunctionSpecialization. This node holds a FunctionDecl that is not yet specialized; then during the class template instantiation the ClassScopeFunctionSpecialization will spawn the actual function specialization.
Example:
template <class T>
class A {
public:
template <class U> void f(U p) { }
template <> void f(int p) { } // <== class scope specialization
};
This extension is necessary to parse MSVC standard C++ headers, MFC and ATL code.
BTW, with this feature in, clang can parse (-fsyntax-only) all the MSVC 2010 standard header files without any error.
llvm-svn: 137573
|
| |
|
|
|
|
|
|
|
| |
Unlike most of the other Neon intrinsics, these are not overloaded and do not
have the extra argument that specifies the vector type. This has not been
fatal because the lane number operand is supposed to be an ICE and so that
value has harmlessly been used as the type identifier. Radar 9901281.
llvm-svn: 137550
|
| |
|
|
| |
llvm-svn: 137472
|
| |
|
|
| |
llvm-svn: 137420
|
| |
|
|
| |
llvm-svn: 137411
|
| |
|
|
|
|
|
|
|
| |
ASTContext with accessors/mutators. The only functional change is that
the AST writer won't bother writing the id/Class/SEL redefinition type
if it hasn't been explicitly set; previously, it ended up being
written as a synonym for the built-in id/Class/SEL.
llvm-svn: 137349
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hierarchy of delegation, and that EH selector values are meaningful
function-wide (good thing, too, or inlining wouldn't work).
2,3d
1a
hierarchy of delegation and that EH selector values have the same
meaning everywhere in the function instead of being meaningful only
in the context of a specific selector.
This removes the need for routing edges through EH cleanups,
since a cleanup simply always branches to its enclosing scope.
llvm-svn: 137293
|
| |
|
|
| |
llvm-svn: 137200
|
| |
|
|
| |
llvm-svn: 137132
|
| |
|
|
| |
llvm-svn: 137126
|
| |
|
|
|
|
|
|
| |
enumerations from the ASTContext into CodeGen, so that we don't need
to serialize it to AST files. This appears to be the last of the
low-hanging fruit for SpecialTypes.
llvm-svn: 137124
|
| |
|
|
|
|
|
|
| |
layout of a constant NSString from the ASTContext over to CodeGen,
since this is solely CodeGen's responsibility. Eliminates one of the
unnecessary "special" types that we serialize.
llvm-svn: 137121
|
| |
|
|
|
|
| |
expression. Fxies PR10592.
llvm-svn: 137086
|
| |
|
|
|
|
| |
(GNU runtimes)
llvm-svn: 137052
|
| |
|
|
|
|
| |
otherwise required.
llvm-svn: 137029
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
aren't actually going to make a normal cleanup for. Sometimes
we optimistically create branches to such blocks for fixups,
and then we resolve the fixup to somewhere within the cleanup's
scope, and then the cleanup is actually not reachable for some
reason. The process of resolving the fixup leaves us with
switches whose default edge leads to the cleanup; we can
replace that with unreachable, then (in many cases) turn
the switch into an unconditional branch.
Fixes PR10467.
llvm-svn: 137011
|
| |
|
|
|
|
| |
releasing the collection.
llvm-svn: 136949
|
| |
|
|
|
|
| |
Patch by Craig Topper and Sundeep!
llvm-svn: 136856
|
| |
|
|
|
|
| |
own, incorrectly, for releasing objects at the end of a full-expression.
llvm-svn: 136823
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A homogeneous aggregate is an aggregate data structure where after flattening
any nesting there are 1 to 4 elements of the same base type that is either a
float, double, or Neon vector. All Neon vectors of the same size, either 64
or 128 bits, are treated as equivalent for this purpose. When using the
AAPCS-VFP ABI, check for homogeneous aggregates and pass them as arguments by
expanding them into a sequence of their base types. This requires extending
the existing support for expanded arguments to handle not only structs, but
also constant arrays and complex types.
llvm-svn: 136767
|
| |
|
|
|
|
|
| |
function, be sure to drop parameter attributes when dropping their
associated arguments. Patch by Aaron Landwehr!
llvm-svn: 136753
|
| |
|
|
|
|
| |
Patch by Jim (Ningjie) Chen.
llvm-svn: 136734
|
| |
|
|
| |
llvm-svn: 136728
|
| |
|
|
|
|
| |
actually works.
llvm-svn: 136703
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 67d097e1232b7d66f58989c16a45b8a11721f76e.
We found a miscompile with ARM byval, which is still being investigated.
In the meantime, this works around the problem by disabling ARM byval.
Conflicts:
lib/CodeGen/TargetInfo.cpp
llvm-svn: 136662
|
| |
|
|
|
|
|
|
|
|
| |
without bailing out when va_arg is an aggregate expression. However,
alignment checking needs to be added in isSafeToEliminateVarargsCast in
InstCombineCalls.cpp in order to produce correct mips code (see link below).
http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-July/042047.html
llvm-svn: 136647
|
| |
|
|
| |
llvm-svn: 136630
|
| |
|
|
|
|
| |
runtime)
llvm-svn: 136628
|
| |
|
|
| |
llvm-svn: 136461
|
| |
|
|
|
|
|
| |
instruction is tied to an output operand which is a pointer, and
the input operand is narrower than the output operand.
llvm-svn: 136438
|
| |
|
|
|
|
|
|
|
|
|
| |
__block variables where the act of initialization/assignment
itself causes the __block variable to be copied to the heap
because the variable is of block type and is being assigned
a block literal which captures the variable.
rdar://problem/9814099
llvm-svn: 136337
|
| |
|
|
|
|
|
| |
supposed to be a full-expression; make it so. In ARC, make sure
we retain the lock for the entire protected block.
llvm-svn: 136271
|
| |
|
|
| |
llvm-svn: 136254
|
| |
|
|
|
|
| |
crashing. Should fix regression on g++.dg/init/delete1.C.
llvm-svn: 136241
|
| |
|
|
| |
llvm-svn: 136210
|
| |
|
|
|
|
|
|
|
|
|
| |
for-in statements; specifically, make sure to close over any
temporaries or cleanups it might require. In ARC, this has
implications for the lifetime of the collection, so emit it
with a retain and release it upon exit from the loop.
rdar://problem/9817306
llvm-svn: 136204
|
| |
|
|
|
|
|
|
|
| |
destructors of abstract classes. It's undefined behavior to actually
call the destructor (e.g., via delete), but the presence of code that
calls this destructor doesn't make the program
ill-formed. Fixes <rdar://problem/9819242>.
llvm-svn: 136180
|
| |
|
|
|
|
| |
SourceManager and FullSourceLoc.
llvm-svn: 135969
|
| |
|
|
|
|
|
|
| |
FullSourceLoc::getInstantiationLoc to ...::getExpansionLoc. This is part
of the API and documentation update from 'instantiation' as the term for
macros to 'expansion'.
llvm-svn: 135914
|
| |
|
|
| |
llvm-svn: 135910
|
| |
|
|
|
|
| |
to avoid extraneous \n's.
llvm-svn: 135862
|
| |
|
|
|
|
| |
Mulder!
llvm-svn: 135855
|
| |
|
|
|
|
|
|
| |
LLVM.h imports
them into the clang namespace.
llvm-svn: 135852
|
| |
|
|
|
|
| |
patch by Jon Mulder!
llvm-svn: 135851
|