Add a missing Invalid check to SubobjectDesignator::isOnePastEnd()

The class seems to have an invariant that Entries is non-empty if
Invalid is false.  It appears this method was previously private, and
all internal uses checked Invalid.  Now there is an external caller, so
check Invalid to avoid array OOB underflow.

Fixes PR20420.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213816 91177308-0d34-0410-b5e6-96231b3b80d8
Split -Winvalid-command-line-argument into -Wignored-optimization-argument

Reviewers: rsmith, nlewycky

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D4636

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213817 91177308-0d34-0410-b5e6-96231b3b80d8
Replace r213816's fix with a different one. It's not meaningful to call
isOnePastTheEnd on an invalid designator, so assert and push the check into the
one caller that wasn't already checking.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213820 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unused Prev pointer from MacroInfo chain.

Remove pointless MICache: it only ever contained up to 1 object, and was only
non-empty when recovering from an error. There's no performance or memory win
from maintaining this cache.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213825 91177308-0d34-0410-b5e6-96231b3b80d8
Take the canonical type when forming a canonical template argument with
'nullptr' value. Fixes profiling of such template arguments to always give the
same value.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213834 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Fixed DSA detecting for function parameters: by default they must be private.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213835 91177308-0d34-0410-b5e6-96231b3b80d8
Simplify MacroInfo lifetime management. We don't need three different functions
to destroy one of these.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213837 91177308-0d34-0410-b5e6-96231b3b80d8
[modules] Slightly expand module semantics documentation.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213838 91177308-0d34-0410-b5e6-96231b3b80d8
Add support for nullptr template arguments to template type diffing.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213840 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: -fno-rtti-data wasn't data-free enough

While -fno-rtti-data would correctly avoid referencing the RTTI complete
object locator in the VFTable itself, it would emit them anyway.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213841 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Initial parsing and sema analysis for clause 'capture' in 'atomic' directive.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213842 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Initial parsing and sema analysis for clause 'seq_cst' of 'atomic' directive.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213846 91177308-0d34-0410-b5e6-96231b3b80d8
MachO: use "arm64" as the triple name in modules.

Current versions of ld64 can't cope with "aarch64" being stored. I'm fixing
that, but in the transitionary period we'll need to still emit "arm64".

rdar://problem/17783765

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213852 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] LexTests: Prune redundant libdep(s).

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213853 91177308-0d34-0410-b5e6-96231b3b80d8
Setting the documentation heading for #pragma unroll, which should not be with the heading for #pragma clang loop.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213862 91177308-0d34-0410-b5e6-96231b3b80d8
Improving the "integer constant too large" diagnostics based on post-commit feedback from Richard Smith. Amends r213657.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213865 91177308-0d34-0410-b5e6-96231b3b80d8
Remove the last use of llvm::ExecutionEngine::create.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213869 91177308-0d34-0410-b5e6-96231b3b80d8
Use MCJIT.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213879 91177308-0d34-0410-b5e6-96231b3b80d8
Attempt at fixing the windows shared build.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@213881 91177308-0d34-0410-b5e6-96231b3b80d8
Add support for #pragma nounroll.

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