Stop crashing on empty asm input constraints

An empty string for an ASM input constraint is invalid, and will crash
during clang CodeGen.  Change TargetInfo::validateInputConstraint to
reject an empty string.

<rdar://problem/15552191>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197362 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Improve handling of raw string literals.

Especially try to keep existing line breaks before raw string literals,
as the code author might have aligned content to it.

Thereby, clang-format now keeps things like:

  parseStyle(R"(
      BasedOnStyle: Google,
      ColumnLimit: 100)");
  parseStyle(
      R"(BasedOnStyle: Google,
         ColumnLimit: 100)");

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197368 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix formatting of function type parameters.

Before:
  void f() { typedef void (*f)(int * a); }
After:
  void f() { typedef void (*f)(int *a); }

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197369 91177308-0d34-0410-b5e6-96231b3b80d8
Added -iregex for case-insensitive regex to filter file names.

Summary:
-regex and -iregex both mimic options of the find utility.
Made the default list of extensions case-insensitive, so that it's not only C
and CPP extensions are accepted in upper case.

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2415

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197378 91177308-0d34-0410-b5e6-96231b3b80d8
Always break before the colon in constructor initializers, when
BreakConstructorInitializersBeforeComma is true.

This option is used in WebKit style, so this also ensures initializer lists are
not put on a single line, as per the WebKit coding guidelines.

Patch by Florian Sowade!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197386 91177308-0d34-0410-b5e6-96231b3b80d8
Modules: Make missing headers in a module.map a warning not an error.

Instead, mark the module as unavailable so that clang errors as soon as
someone tries to build this module.

A better long-term strategy might be to not stat the header files at all
while reading the module map and instead read them only when the module
is being built (there is a corresponding FIXME in parseHeaderDecl()).
However, it seems non-trivial to get there and this would be a temporary
solution to unblock us.

Also changed the implementation to reuse the same DiagnosticsEngine as
otherwise warnings can't be enabled or disabled with command-line flags.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197388 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Modules: Make missing headers in a module.map a warning not an error."

This was committed accidentally.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197389 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Keep trailing annotations together.

Before:
  virtual void aaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaa aaaa, aaaaaaaaaaa aaaaa) const
      override;
  virtual void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa() const
      override;

After:
  virtual void aaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaa aaaa,
                     aaaaaaaaaaa aaaaa) const override;
  virtual void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
      const override;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197391 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] Introduce CLANG_RUNTIME_OUTPUT_INTDIR and CLANG_LIBRARY_OUTPUT_INTDIR.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197395 91177308-0d34-0410-b5e6-96231b3b80d8
Add bit_FXSAVE as an alias for bit_FXSR, for gcc compat.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197399 91177308-0d34-0410-b5e6-96231b3b80d8
[AArch64] Fix v1fx patterns for Floating-point Multiply Extend and Floating-point Compare to Zero.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197403 91177308-0d34-0410-b5e6-96231b3b80d8
GNUEABIHF is the same as GNUEABI for anything not float/double related,
so use the same exception size as GNUEABI does.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197404 91177308-0d34-0410-b5e6-96231b3b80d8
Support EABIHF environment on ARM.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197406 91177308-0d34-0410-b5e6-96231b3b80d8
Maybe add new warning for shadowing simple tag types

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197408 91177308-0d34-0410-b5e6-96231b3b80d8
Make Sema::BuildCXXNestedNameSpecifier correctly clear the previous
CXXScopeSpec when necessary while performing typo correction. This fixes
the crash reported in PR18213 (the problem existed since r185487, and
r193020 made it easier to hit).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197409 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Maybe add new warning for shadowing simple tag types"

This reverts commit 2b43f500cfea10a8c59c986dcfc24fd08eecc77d.

This was accidentally committed because I failed to notice my client
wasn't clean prior to submitting a fix for a crasher.

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

* tbaa-struct.cpp always has a 64 bit pointer.
* f32:32:32, f64:64:64 and f128:128:128 are defaults, don't assume they are
  printed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197415 91177308-0d34-0410-b5e6-96231b3b80d8
Clang DataLayout string cleanup: don't print the integer defaults.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197421 91177308-0d34-0410-b5e6-96231b3b80d8
Clang DataLayout string cleanup: don't print the FP defaults.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197422 91177308-0d34-0410-b5e6-96231b3b80d8
In a standalone Clang build, default to building tests, like LLVM does

LLVM_INCLUDE_TESTS is set in the top-level LLVM CMakeLists, which is not being
executed when Clang is built in a separate directory.


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