Update for LLVM API change

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222303 91177308-0d34-0410-b5e6-96231b3b80d8
Standardize on StringMap::insert, removing uses of StringMap::GetOrCreateValue.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222306 91177308-0d34-0410-b5e6-96231b3b80d8
Wrap to 80 columns, no behavior change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222315 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format a recent commit I made

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222317 91177308-0d34-0410-b5e6-96231b3b80d8
Add the exception for strings in logical and expressions to -Wstring-conversion
for C code.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222327 91177308-0d34-0410-b5e6-96231b3b80d8
Update for LLVM API change to make Small(Ptr)Set::insert return pair<iterator, bool> as per the C++ standard's associative container concept.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222335 91177308-0d34-0410-b5e6-96231b3b80d8
Allow EmitVAArg() to promote types and use this to fix some N32/N64 vararg issues for Mips.

Summary:
With this patch, passing a va_list to another function and reading 10 int's from
it works correctly on a big-endian target.

Based on a pair of patches by David Chisnall, one of which I've reworked
for the current trunk.

Reviewers: theraven, atanasyan

Reviewed By: theraven, atanasyan

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222339 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [Java] Ignore C++-specific keywords

Before:
  public void union
  (Object o);
  public void struct
  (Object o);
  public void delete (Object o);

After:
  public void union(Object o);
  public void struct(Object o);
  public void delete(Object o);

Patch by Harry Terkelsen, thank you!

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

Fix a typo in the search path identified by Justin Bogner.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222371 91177308-0d34-0410-b5e6-96231b3b80d8
Fix a temporary MDNode leak.

While emitting debug information for function forward decalrations, we
create DISubprogram objects that aran't stored in the AllSubprograms
list, and thus won't get finalized by the DIBuilder. During the DIBuilder
finalize(), the temporary MDNode allocated for the DISubprogram
Variables field gets RAUWd with a non temporary DIArray. For the forward
declarations, simply delete that temporary node before we delete the
parent node, so that it doesn't leak.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222373 91177308-0d34-0410-b5e6-96231b3b80d8
DebugInfo: Don't emit a 'global variable' when a static member declaration is referenced without a definition, just ensure the enclosing class (with the static member declaration) is emitted.

Addresses PR21511 by emitting appropriate metadata rather than
faux-global definitions for a variable that doesn't have a definition.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222377 91177308-0d34-0410-b5e6-96231b3b80d8
Fix bug where a trivial constexpr copy/move operation couldn't copy from an
empty non-constexpr object. Such a copy doesn't break any of the constexpr
rules.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222387 91177308-0d34-0410-b5e6-96231b3b80d8
Constify a few IdentifierInfo * parameters.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222392 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] Always include the Clang repo version, just like the autoconf build.

Now that LLVM's helper script GetSVN.cmake actually works consistently,
there's no reason not to use it. We avoid having to regenerate SVNVersion.inc
every time by marking it as dependent on Git's reflog or SVN's entries file.

This should end most of the issues of the AST format changing and breaking
old module files: CMake-Clang should now detect that the version changed just
like Autoconf-Clang has.

Based on r190557. Depends on LLVM r222391.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222393 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [Java] Accept generic types in enum declaration

Before:
  enum Foo implements Bar<X, Y> {
    ABC {
      ...
    }
    , CDE {
      ...
    };
  }

After:
  enum Foo implements Bar<X, Y> {
    ABC {
      ...
    },
    CDE {
      ...
    };
  }

Patch by Harry Terkelsen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222394 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "[Reassociate] Update test cases due to r222142."

This reverts commit r222144.  Commit r222142 is being reverted due to
a spec2006/gcc execution-time regression.

Update mips-varargs test as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222397 91177308-0d34-0410-b5e6-96231b3b80d8
PR21531: fix crash on invalid with unexpanded pack in case value.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222400 91177308-0d34-0410-b5e6-96231b3b80d8
Remove support for undocumented SpecialCaseList entries.

"global-init", "global-init-src" and "global-init-type" were originally
used to blacklist entities in ASan init-order checker. However, they
were never documented, and later were replaced by "=init" category.

Old blacklist entries should be converted as follows:
  * global-init:foo -> global:foo=init
  * global-init-src:bar -> src:bar=init
  * global-init-type:baz -> type:baz=init



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222401 91177308-0d34-0410-b5e6-96231b3b80d8
When mangling member-expressions, skip implicit accesses of anonymous union
objects. This is consistent with GCC's behavior. Patch by Tomasz Miąsko!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222402 91177308-0d34-0410-b5e6-96231b3b80d8
Avoid earlier test interfering with later one.


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