Release notes: expand clang-cl blurb a little

git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196810 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r195495:
------------------------------------------------------------------------
r195495 | mren | 2013-11-22 11:42:45 -0800 (Fri, 22 Nov 2013) | 5 lines

Debug Info: add a "Debug Info Version" module flag to output the current debug
info version number.

Will error out when modules have different version numbers.

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196812 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r196143:
------------------------------------------------------------------------
r196143 | mren | 2013-12-02 11:37:35 -0800 (Mon, 02 Dec 2013) | 1 line

Expand comments for Debug Info Version.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196818 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r196145:
------------------------------------------------------------------------
r196145 | mren | 2013-12-02 12:10:37 -0800 (Mon, 02 Dec 2013) | 5 lines

Debug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h.

Suggested by Eric.
Paired commit with r196144.

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196820 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r196612:
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196868 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r196771:
------------------------------------------------------------------------
r196771 | majnemer | 2013-12-09 02:44:32 -0800 (Mon, 09 Dec 2013) | 17 lines

[-cxx-abi microsoft] Mangle large integral constants correctly

Testing has revealed that large integral constants (i.e. > INT64_MAX)
are always mangled as-if they are negative, even in places where it
would not make sense for them to be negative (like non-type template
parameters of type unsigned long long).

To address this, we change the way we model number mangling: always
mangle as-if our number is an int64_t.  This should result in correct
results when we have large unsigned numbers.

N.B.  Bizarrely, things that are 32-bit displacements like vbptr offsets
are mangled as-if they are unsigned 32-bit numbers.  This is a pretty
egregious waste of space, it would be a 4x savings if we could mangle it
like a signed 32-bit number.  Instead, we explicitly cast these
displacements to uint32_t and let the mangler proceed.

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196878 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r196852:
------------------------------------------------------------------------
r196852 | majnemer | 2013-12-09 16:40:58 -0800 (Mon, 09 Dec 2013) | 10 lines

Sema: Enforce C++11 pointer-to-member template arguments should rules

The standard is pretty clear on what it allows inside of template
arguments for non-type template parameters of pointer-to-member.

They must be of the form &qualified-id and cannot come from sources like
constexpr VarDecls or things of that nature.

This fixes PR18192.

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196885 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r196957:
------------------------------------------------------------------------
r196957 | smatveev | 2013-12-11 00:10:30 +0400 (Wed, 11 Dec 2013) | 1 line

Rewrite docs/LeakSanitizer.rst. Add it to index.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196958 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r196995:
------------------------------------------------------------------------
r196995 | rsmith | 2013-12-10 17:40:16 -0800 (Tue, 10 Dec 2013) | 5 lines

When performing an array new of a multidimensional array with an initializer
list, each element of the initializer list may provide more than one of the
base elements of the array. Be sure to initialize the right type and bump the
array pointer by the right amount.

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197005 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r197022:
------------------------------------------------------------------------
r197022 | smatveev | 2013-12-11 13:14:36 +0400 (Wed, 11 Dec 2013) | 1 line

Mention LeakSanitizer in AddressSanitizer docs.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197023 91177308-0d34-0410-b5e6-96231b3b80d8
Add release notes for clang-format.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197042 91177308-0d34-0410-b5e6-96231b3b80d8
Add information about C++1y support to Clang 3.4 release notes.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197115 91177308-0d34-0410-b5e6-96231b3b80d8
Fix RST syntax errors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197117 91177308-0d34-0410-b5e6-96231b3b80d8
Fix another formatting bug.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197118 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r197120:
------------------------------------------------------------------------
r197120 | rsmith | 2013-12-11 18:42:17 -0800 (Wed, 11 Dec 2013) | 2 lines

Update user manual to note that implementation for C++11 and C++1y is complete, and fix a bunch of other issues here.

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197127 91177308-0d34-0410-b5e6-96231b3b80d8
Improve the 3.4 release notes about the static analyzer new features

git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197225 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r197305:
------------------------------------------------------------------------
r197305 | rsmith | 2013-12-13 19:18:05 -0800 (Fri, 13 Dec 2013) | 7 lines

PR18246: When performing template argument deduction to decide which template
is specialized by an explicit specialization, start from the first declaration
in case we've got a member of a class template (redeclarations might not number
the template parameters the same way).

Our recover here is still far from ideal.

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197319 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r197298:
------------------------------------------------------------------------
r197298 | rsmith | 2013-12-13 17:04:22 -0800 (Fri, 13 Dec 2013) | 3 lines

PR18232: implement instantiation for class-scope explicit specializations of
class templates (a Microsoft extension).

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197320 91177308-0d34-0410-b5e6-96231b3b80d8
Merging r196212:
------------------------------------------------------------------------
r196212 | alp | 2013-12-02 22:13:01 -0800 (Mon, 02 Dec 2013) | 22 lines

Emit an extension warning when changing system header tokens

clang converts keywords to identifiers for compatibility with various system
headers such as GNU libc.

Implement a -Wkeyword-compat extension warning to diagnose those cases. The
warning is on by default but will generally be ignored in system headers. It
can however be enabled globally to aid standards conformance testing.

This also changes the __uptr keyword avoidance from r195710 to no longer
special-case system headers, bringing it in line with other similar workarounds
in clang.

Implementation returns bool for symmetry with token annotation functions.

Some examples:

warning: keyword '__is_pod' will be treated as an identifier for the remainder of the translation unit [-Wkeyword-compat]
struct __is_pod

warning: keyword '__uptr' will be treated as an identifier here [-Wkeyword-compat]
union w *__uptr;
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197359 91177308-0d34-0410-b5e6-96231b3b80d8
Rewrite the static analyzer changes description for the 3.4 release.

After chatting with Anna Zaks, she believes that my code samples were
more bugs in the previous releases of the static analyzer.



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