|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| | // rdar://10033896
llvm-svn: 139041 | 
| | 
| 
| 
| | llvm-svn: 139029 | 
| | 
| 
| 
| 
| 
| | // rdar://10033896
llvm-svn: 139020 | 
| | 
| 
| 
| 
| 
| 
| 
| | builtin types (When requested). This is another step toward making
ASTUnit build the ASTContext as needed when loading an AST file,
rather than doing so after the fact. No actual functionality change (yet).
llvm-svn: 138985 | 
| | 
| 
| 
| 
| 
| 
| | and may very well be dependent-types, triggering an assertion in debug info
codegen.
llvm-svn: 138970 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | This makes the code duplication of implicit special member handling even worse,
but the cleanup will have to come later. For now, this works.
Follow-up with tests for explicit defaulting and enabling the __has_feature
flag to come.
llvm-svn: 138821 | 
| | 
| 
| 
| 
| 
| 
| | apparent general rule.  Just special-case it as appropriate.
PR10789.
llvm-svn: 138792 | 
| | 
| 
| 
| 
| 
| 
| | Doing this happens to disrupt the pattern that ARC was looking for
for move optimizations, so we need to fix that simultaneously.
llvm-svn: 138789 | 
| | 
| 
| 
| | llvm-svn: 138707 | 
| | 
| 
| 
| 
| 
| | emit all gl-value arguments as reference bindings.
llvm-svn: 138655 | 
| | 
| 
| 
| | llvm-svn: 138639 | 
| | 
| 
| 
| 
| 
| | better.
llvm-svn: 138628 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | really shouldn't be optional.  Fix the remaining place where a
temporary was being passed as potentially-aliased memory.
Fixes PR10756.
llvm-svn: 138627 | 
| | 
| 
| 
| | llvm-svn: 138624 | 
| | 
| 
| 
| | llvm-svn: 138615 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | enable/disable merging of
globals during codegen.
Fixes <rdar://problem/10017909>.
llvm-svn: 138612 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | emit call results into potentially aliased slots.  This allows us
to properly mark indirect return slots as noalias, at the cost
of requiring an extra memcpy when assigning an aggregate call
result into a l-value.  It also brings us into compliance with
the x86-64 ABI.
llvm-svn: 138599 | 
| | 
| 
| 
| 
| 
| 
| | creators to tell us whether something needs GC barriers.
No functionality change.
llvm-svn: 138581 | 
| | 
| 
| 
| 
| 
| 
| | statement initializer makes safe assumption when a substatement 
is encounterred (with a fix me).
llvm-svn: 138528 | 
| | 
| 
| 
| | llvm-svn: 138451 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | After talking with John making this the case for all of these is
the right way to go.
Fixes rdar://9804564 and PR10414
llvm-svn: 138418 | 
| | 
| 
| 
| | llvm-svn: 138413 | 
| | 
| 
| 
| | llvm-svn: 138404 | 
| | 
| 
| 
| | llvm-svn: 138369 | 
| | 
| 
| 
| 
| 
| 
| | stmt expression, recursively walk down all substatements 
of the stmt expression. // rdar://10001085
llvm-svn: 138334 | 
| | 
| 
| 
| 
| 
| | is captured by a given statement expression. // rdar://10001085
llvm-svn: 138314 | 
| | 
| 
| 
| 
| 
| | <rdar://problem/9973228>
llvm-svn: 138310 | 
| | 
| 
| 
| 
| 
| | 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 |