ReleaseNotes: mention basic debug info and ASan support in the Windows blurb

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214882 91177308-0d34-0410-b5e6-96231b3b80d8
ReleaseNotes: try to fix links

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214883 91177308-0d34-0410-b5e6-96231b3b80d8
[AVX512] Add intrinsic for valignd/q

Note that similar to palingr, we could further optimize these to emit
shufflevector when the shift count is <=64.  This however does not
change the overall design that unlike palignr we would still need the LLVM
intrinsic corresponding to this intruction to handle the >64 cases.  (palignr
uses the psrldq intrinsic in this case.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214891 91177308-0d34-0410-b5e6-96231b3b80d8
[PR19983] SBPO_Always not covering all the cases.
Patch by "Roman Kashitsyn" <romankashicin@gmail.com>.
Phabricator revision: http://reviews.llvm.org/D4788

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214904 91177308-0d34-0410-b5e6-96231b3b80d8
Added flags that should be ignored for compatibility. These flags will display
a warning. Revision for this patch is here: http://reviews.llvm.org/D4565. This
patch will help with the rebuild of Debian with clang and many other projects
that wish to use clang. Here is a link to the errors that Debian is experiencing:
http://clang.debian.net/status.php?version=3.4.2&key=UNKNOWN_ARG


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214906 91177308-0d34-0410-b5e6-96231b3b80d8
Added f and m flags to be ignored. These will not display a warning. The revision
for this patch is here: http://reviews.llvm.org/D4570. This will help with the
rebuild of Debian with clang. Here is a link to the errors that Debian is
experiencing: http://clang.debian.net/status.php?version=3.4.2&key=UNKNOWN_ARG


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214907 91177308-0d34-0410-b5e6-96231b3b80d8
[Analyzer] fix for PR19102

Newly-created unconsumed instance is now assumed escaped if an invoked constructor has an argument of a pointer-to-record type.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214909 91177308-0d34-0410-b5e6-96231b3b80d8
Introduce f[no-]max-unknown-pointer-align=[number] option
to instruct the code generator to not enforce a higher alignment 
than the given number (of bytes) when accessing memory via an opaque 
pointer or reference. Patch reviewed by John McCall (with post-commit
review pending). rdar://16254558


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214911 91177308-0d34-0410-b5e6-96231b3b80d8
Make crash diagnostics on Windows the tiniest bit more useful

This escapes any backslashes in the executable path and fixes an issue
with a trailing quote when the main file name had to be quoted during
printing.

It's impossible to test this without putting backslashes or quotes into
the executable path, so I didn't add automated tests.

The crash diagnostics are still only useful if you're using bash on
Windows, though.  This should probably be writing a batch file instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214924 91177308-0d34-0410-b5e6-96231b3b80d8
Expose the name mangling C API to Python bindings.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214930 91177308-0d34-0410-b5e6-96231b3b80d8
Fix Driver tests that I broke on Windows in r214924

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214931 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: Mangle empty type parameter packs compatibly

The MS mangling scheme apparently has separate manglings for type and
non-type parameter packs when they are empty.  Match template arguments
with parameters during mangling; check the parameter to see if it was
destined to hold type-ish things or nontype-ish things.

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

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214935 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: Mangle lambdas which are given the same mangling number

It is possible for lambdas to get the same mangling number because they
may exist in different mangling contexts.  To handle this correctly,
mangle the context into the name as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214947 91177308-0d34-0410-b5e6-96231b3b80d8
[Driver] Move information about toolchain specific include directories
from the common driver code to the corresponding `MultilibSet` declarations.

Now the `MultilibSet` can hold an optional callback function which is
responsible to return a set of include directories specific for the toolchain.
That allows to remove MIPS toolchain specific directories from
`Linux::AddClangSystemIncludeArgs` method and simplify adding new directories
in the future.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214949 91177308-0d34-0410-b5e6-96231b3b80d8
[Driver] Add missed include header.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214950 91177308-0d34-0410-b5e6-96231b3b80d8
Fix modelling of non-lifetime-extended temporary destructors in the analyzer.

1. Changes to the CFG:
When creating the CFG for temporary destructors, we create a structure
that mirrors the branch structure of the conditionally executed
temporary constructors in a full expression.
The branches we create use a CXXBindTemporaryExpr as terminator which
corresponds to the temporary constructor which must have been executed
to enter the destruction branch.

2. Changes to the Analyzer:
When we visit a CXXBindTemporaryExpr we mark the CXXBindTemporaryExpr as
executed in the state; when we reach a branch that contains the
corresponding CXXBindTemporaryExpr as terminator, we branch out
depending on whether the corresponding CXXBindTemporaryExpr was marked
as executed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214962 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix indentation in multi-line placement new.

Before:
  auto aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =
      new (aaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaa))
      typename aaaaaaaaaaaaaaaaaaaaaaaa();

After:
  auto aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =
      new (aaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaa))
          typename aaaaaaaaaaaaaaaaaaaaaaaa();

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214964 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Add special comments to disable formatting.

With this patch:
  int ThisWillBeFormatted;
  // clang-format off
  int   ThisWontBeFormatted;
  // clang-format on
  int Formatted;

This is for regions where a significantly nicer code layout can be found
knowing the content of the code.

This fixes llvm.org/PR20463.

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

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