FileNameMatchTrie: Use StringRef instead of Twines where possible.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165412 91177308-0d34-0410-b5e6-96231b3b80d8
Hopefully appease Windows buildbot with Japanese (?) error message.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165414 91177308-0d34-0410-b5e6-96231b3b80d8
Don't emit double parentheses in __clang_version__.

PR14040.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165415 91177308-0d34-0410-b5e6-96231b3b80d8
CompilationDatabase: Use //net paths for tests, as they should be
considered absolute on all platforms.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165422 91177308-0d34-0410-b5e6-96231b3b80d8
CompilationDatabaseTest: Fix another Windows path issue.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165425 91177308-0d34-0410-b5e6-96231b3b80d8
Use a special path to place the .o files in.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165429 91177308-0d34-0410-b5e6-96231b3b80d8
Make Bitrig's clang understand -stdlib= correctly.
With this patch Bitrig can use a different c++ library without pain and
within the normal commandline parameters.

Original patch by David Hill, with lots of fixes and cleanup by me.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165430 91177308-0d34-0410-b5e6-96231b3b80d8
Sort the subgroups of the diagnostic group for -Wconversion. No
functionality changed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165439 91177308-0d34-0410-b5e6-96231b3b80d8
Actually add the -Wenum-conversion group to -Wconversion as r165361
seems to have intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165440 91177308-0d34-0410-b5e6-96231b3b80d8
In VarDecl::getSourceRange() make sure to check that the source location
of the initializer is valid before using it.

Fixes rdar://12455002&12449015 where local variables of objc objects in ARC mode
were not annotated because of the ImplicitValueInitExpr initializer having invalid
source range, resulting in the SourceRange of the VarDecl having invalid end location.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165456 91177308-0d34-0410-b5e6-96231b3b80d8
Add regression test to check if -Wenum-conversion is a subgroup of -Wconversion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165459 91177308-0d34-0410-b5e6-96231b3b80d8
Make sure we allow "#pragma options align=mac68k" in function-local contexts.  <rdar://problem/12453134>



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165462 91177308-0d34-0410-b5e6-96231b3b80d8
When storing the C++ overridden methods, store them once for the
canonical method; avoid storing them again for an out-of-line definition.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165472 91177308-0d34-0410-b5e6-96231b3b80d8
Move the logic that searches for overridden methods from libclang to
ASTContext so that it can be widely available.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165473 91177308-0d34-0410-b5e6-96231b3b80d8
CXXMethodDecl::isConst() and CXXMethodDecl::isVolatile() can be const methods

Patch by: Laszlo Nagy

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165486 91177308-0d34-0410-b5e6-96231b3b80d8
We use the enums to query whether an Attributes object has that attribute. The
opaque layer is responsible for knowing where that specific attribute is stored.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165489 91177308-0d34-0410-b5e6-96231b3b80d8
Add -fioc-{signed,shifts,strict-shifts} to check for undefined int behavior.

Requires corresponding compiler-rt change, IOC checks emit calls to
runtime functions to print diagnostic information about the checked behavior.
[ioc] Add option to abort on error, instead of resuming execution.

Note that we presently don't allow the runtime function to define
the value of the computation, but by default do allow the execution
to continue.

This change adds a flag that lets users specify that they want
the program to abort should a check fail.  This might simply
be preferred functionality, but hopefully also helps performance.

Includes lit test.
[ioc] Add -fioc-unsigned for catching and reporting unsigned int overflows.
[ioc] Add -fioc-{implicit,explicit}-conversion flags and tests.

These flags enable checking for implicit/explicit lossy casts.