Sema: Simplify code a bit, plug a potential leak.

No intended functionality change.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191373 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Option to removing the space before assignment operators.

Patch contributed by Aaron Wishnick. Thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191375 91177308-0d34-0410-b5e6-96231b3b80d8
Don't pass -print-stats to the driver, it is a -cc1 option only.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191376 91177308-0d34-0410-b5e6-96231b3b80d8
Move --relocatable-pch to Options.td.

It is a valid driver option (we have tests for that), so it should not be
marked as NoDriverOption.

No functionality change other than it showing in --help.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191377 91177308-0d34-0410-b5e6-96231b3b80d8
Use -Xclang to pass -internal-isystem and -internal-externc-isystem to -cc1.

They are cc1 options only, so the driver was ignoring them.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191379 91177308-0d34-0410-b5e6-96231b3b80d8
Produce an error if a -cc1 only option is passed to the driver.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191380 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Handle destructors for the argument to C++ 'delete'.

Now that the CFG includes nodes for the destructors in a delete-expression,
process them in the analyzer using the same common destructor interface
currently used for local, member, and base destructors. Also, check for when
the value is known to be null, in which case no destructor is actually run.

This does not yet handle destructors for deleted /arrays/, which may need
more CFG work. It also causes a slight regression in the location of
double delete warnings; the double delete is detected at the destructor
call, which is implicit, and so is reported on the first access within the
destructor instead of at the 'delete' statement. This will be fixed soon.

Patch by Karthik Bhat!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191381 91177308-0d34-0410-b5e6-96231b3b80d8
PR17359: Fix off-by-one OOB on _Pragma("") and an unescaping bug

Previously the code would reduce a run of backslashes to a single
backslash, and now it will properly leave behind every other backslash.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191382 91177308-0d34-0410-b5e6-96231b3b80d8
Produce an error for unknown -f options.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191394 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC: Handle the case of qualifying protocols
declared in a typedef declaraton used as super
class of an ObjC class. Curretnly, these protocols
are dropped from the class hierarchy. Test shows that
it is now included. // rdar://15051465


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191395 91177308-0d34-0410-b5e6-96231b3b80d8
Update NumTypeBits on Type to match the actual number of used bits.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191404 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unused param from MicrosoftMangle::mangleCallingConvention()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191405 91177308-0d34-0410-b5e6-96231b3b80d8
Provide inline definitions of _Unwind_GetIP etc. for ARM in unwind.h

These symbols were showing up as undefined when trying to link programs on
Android. We should match libgcc's behaviour and provide inline definitions
of these on ARM.

It seems unwind.h on ARM/Darwin doesn't provide inline definitions, so we
just declare them for that platform.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191406 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Improved variable lookup procedure for threadprivate variables.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191416 91177308-0d34-0410-b5e6-96231b3b80d8
Implement C++1y digit separator proposal (' as a digit separator). This is not
yet approved by full committee, but was unanimously supported by EWG.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191417 91177308-0d34-0410-b5e6-96231b3b80d8
If a partial specialization of a member template is declared within a class
template and defined outside it, don't instantiate it twice when instantiating
the surrounding class template specialization. That would cause us to reject
the code because we think two partial specializations instantiated to produce
the same signature.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191418 91177308-0d34-0410-b5e6-96231b3b80d8
Replace a bool with an enum for clarity, based on review comment from James Dennett.


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


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