Typo fix in comments: definintion -> definition


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215764 91177308-0d34-0410-b5e6-96231b3b80d8
DebugInfo: Fix PR19864 better - attribute the jump at the end of a range-for loop, to the start of the loop.

This avoids debuggers stepping to strange places (like the last
statement in the loop body, or the first statement in the if).

This is not the whole answer, though - similar bugs no doubt exist in
other loops (patches to follow) and attributing exception handling code
to the correct line is also tricky (based on the previous fix to
PR19864, exception handling is still erroneously attributed to the 'if'
line).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215766 91177308-0d34-0410-b5e6-96231b3b80d8
Rename this function to better reflect its purpose

Thanks to dblaikie for the impetus to look for a better name.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215767 91177308-0d34-0410-b5e6-96231b3b80d8
DebugInfo: While loop backedge should be attribute to the start of the while statement.

A little test case simplification - this could be simplified further,
though there are certainly interesting connections to the if/else
construct so I'm hesitant to remove that entirely though it does appear
somewhat unrelated.

(similar fix to r215766, related to PR19864)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215768 91177308-0d34-0410-b5e6-96231b3b80d8
ArrayRef'ize

I've shied away from ArrayRef'izing CompilerInvocation::CreateFromArgs
in this commit because that is a less localized change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215773 91177308-0d34-0410-b5e6-96231b3b80d8
Rename as suggested by dblaikie

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215774 91177308-0d34-0410-b5e6-96231b3b80d8
Wrap to 80 columns, no behavior change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215776 91177308-0d34-0410-b5e6-96231b3b80d8
Add a RAII class for saving and restoring instantiations and uses. No behavior change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215780 91177308-0d34-0410-b5e6-96231b3b80d8
Update for LLVM change (StringSaver)

There is more cleanup to be done here. Once
llvm::sys::Process::GetArgumentVector is switched over to StringSaver,
we can simplify this code a fair amount.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215785 91177308-0d34-0410-b5e6-96231b3b80d8
Make sure that vtables referenced from delay-parsed templates get referenced.

This fixes PR20671, see the bug for details. In short, ActOnTranslationUnit()
calls DefineUsedVTables() and only then PerformPendingInstantiations(). But
PerformPendingInstantiations() is what does delayed template parsing, so
vtables only references from late-parsed templates weren't marked used.

As a fix, move the SavePendingInstantiationsAndVTableUsesRAII in
PerformPendingInstantiations() up above the delayed template parsing code.
That way, vtables referenced from templates end up in the RAII object, and the
call to DefineUsedVTables() in PerformPendingInstantiations() marks them used.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215786 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Update for LLVM change (StringSaver)"

This reverts commit r215785 / 170ebf4f19459ae51a9561d0e65c87ee4c9b2c97.

LLD has some StringSavers that need to be updated. One of which takes a
lock and I need to investigate that more closely.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215791 91177308-0d34-0410-b5e6-96231b3b80d8
[libclang] Introduce clang_File_isEqual for comparing CXFile handles.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215796 91177308-0d34-0410-b5e6-96231b3b80d8
Document what's experimental about __attribute__((enable_if)). PR20392


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215806 91177308-0d34-0410-b5e6-96231b3b80d8
Try indenting to put all the text inside the block.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215807 91177308-0d34-0410-b5e6-96231b3b80d8
Clarify.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215808 91177308-0d34-0410-b5e6-96231b3b80d8
When loading a module with no local entities, still bump the size of the

tables that correspond to ContinuousRangeMaps, since the keys to those
maps need to be unique, or we may map to the wrong offset.

This fixes a crash + malformed AST file seen when loading some modules
that import Cocoa on Darwin, which is a module with no contents except
imports of other modules. Unfortunately I have not been able to find a
reduced test case that reproduces this problem.

Also add an assert that we aren't mapping one key to multiple values
in CRM.  We ought to be able to say there are no duplicate keys at all,
but there are a bunch of 0 -> 0 mappings that are showing up, probably
coming from the source location table.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215810 91177308-0d34-0410-b5e6-96231b3b80d8
Uniformed parsing of GNU attributes at line beginnning and added GNU attributes parsing FIXMEs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215814 91177308-0d34-0410-b5e6-96231b3b80d8