lex: improve include handling on Linux for Windows

Normalise the path separator character on non-windows platforms.  Although this
would work on Windows as well (most newer versions of Windows support either '/'
or '\' as a path separator character), it could potentially cause problems with
full UNC paths.  This change enables the use of the Windows SDK on Linux which
will not accept '\' as a path separator.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203614 91177308-0d34-0410-b5e6-96231b3b80d8
PGO: appease the bots after r203592

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203618 91177308-0d34-0410-b5e6-96231b3b80d8
DebugInfo: Fix test for LLVM change r203619

I'll fix this to not test assembly in a moment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203623 91177308-0d34-0410-b5e6-96231b3b80d8
Be case sensitive when determining driver mode based on argv[0] except on Windows

This narrows the impact of r188833 after Dimitry pointed out that it's good to be
able to tell the difference between 'cc' and 'CC'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203624 91177308-0d34-0410-b5e6-96231b3b80d8
DebugInfo: Remove debug-info-pubtypes.ccp - pubnames/pubtypes are adequately tested in LLVM now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203625 91177308-0d34-0410-b5e6-96231b3b80d8
Allow GNU-style attributes on lambda expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203628 91177308-0d34-0410-b5e6-96231b3b80d8
Add an option -fmodules-validate-system-headers

When enabled, always validate the system headers when loading a module.
The end result of this is that when these headers change, we will notice
and rebuild the module.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203630 91177308-0d34-0410-b5e6-96231b3b80d8
Lex: reduce buffer size, add a test

Reduce the stack usage as hopefully include paths are usually not too long.  Add
a test case for the path normalisation behaviour.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203632 91177308-0d34-0410-b5e6-96231b3b80d8
Lexer: split test into separate files

Unfortunately, XFAIL applies to the entire file.  Split the test into two
different units, enabling the proper application of XFAIL on the test which is
expected to fail on Windows.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203633 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Add 'override' keyword to virtual methods that override their base class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203640 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Add 'override' keyword to virtual methods that override their base class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203641 91177308-0d34-0410-b5e6-96231b3b80d8
Disable cross-windows-on-linux.cpp for now. It may or may not fail. :/

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203642 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Add 'override' keyword to virtual methods that override their base class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203643 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix crasher.

Caused by unknown tokens (e.g. "\n") not properly updating the state.

Example:
  const char* c = STRINGIFY(
  \na : b);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203645 91177308-0d34-0410-b5e6-96231b3b80d8
ARM: Correct alignment of structs passed as byval pointer

When a struct has bitfields overlapping with other members
(as required by the AAPCS), clang uses a packed struct to
represent this. If such a struct is large enough for clang to
pass it as a byval pointer (>64 bytes), we need to set the
alignment of the argument to match the original type.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203660 91177308-0d34-0410-b5e6-96231b3b80d8
Use vector<T>::data() to simplify code


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203665 91177308-0d34-0410-b5e6-96231b3b80d8
Check for LLVM_ON_WIN32 instead of _WIN32.

This is a follow-up to r203624 to address Anton's comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203668 91177308-0d34-0410-b5e6-96231b3b80d8
Don't recompute inlining threshold - use new overload provided by LLVM

Follow-up on LLVM r203669


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