Make 2 functions static, remove unneeded cast, rewrap. No behavior change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208247 91177308-0d34-0410-b5e6-96231b3b80d8
c-index-test: Don't leak the strings returned by makeClientContainer().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208249 91177308-0d34-0410-b5e6-96231b3b80d8
NSOrCFErrorDerefChecker: Don't leak bug type. Similar to r208110/r208155. Found by LSan.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208251 91177308-0d34-0410-b5e6-96231b3b80d8
Add an Extension warning for applying unary * to an operand of type 'void*' in
C++. This seems like a pointless (and indeed harmful) restriction to me, so
I've suggested removing it to -core and disabled this diagnostic by default.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208254 91177308-0d34-0410-b5e6-96231b3b80d8
CodeGen: Don't set hidden visibility on symbols with local linkage

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208258 91177308-0d34-0410-b5e6-96231b3b80d8
fmodules-search-all: Removed dead code and added some comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208259 91177308-0d34-0410-b5e6-96231b3b80d8
Enable alternative tokens by default for clang-format.

Patch by Bobby Moretti.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208269 91177308-0d34-0410-b5e6-96231b3b80d8
Fix latent bug. This can't actually manifest at the moment, but is a time-bomb
for the next time someone adds something to this function.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208270 91177308-0d34-0410-b5e6-96231b3b80d8
Driver: parse -mcmodel earlier

This addresses an existing FIXME item in the driver.  The code model flag was
parsed in the actual tool rather than in the driver.  This was problematic since
the value may be invalid.  In that case, we would silently treat it as a default
value in non-assert builds, and abort in assert builds.  Add a check in the
driver to validate that the value being passed is valid, and if not provide a
proper error message.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208275 91177308-0d34-0410-b5e6-96231b3b80d8
Let ASTReader optionally delete its ASTDeserializationListener.

Use this to fix the leak of DeserializedDeclsDumper and DeserializedDeclsChecker
in FrontendAction (found by LSan), PR19560.

The "delete this" bool is necessary because both PCHGenerator and ASTUnit
return the same object from both getDeserializationListener() and
getASTMutationListener(), so ASTReader can't just have a unique_ptr.

It's also not possible to just let FrontendAction (or CompilerInstance) own
these listeners due to lifetime issues (see comments on PR19560).

Finally, ASTDeserializationListener can't easily be refcounted, since several of
the current listeners are allocated on the stack.

Having this bool isn't ideal, but it's a pattern that's used in other places in
the codebase too, and it seems better than leaking.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208277 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Fix codegen test for msvc build


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208278 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Another one fix in test for msvc


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208279 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Use 'nullptr'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208280 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [JS] Initial support for regex literals.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208281 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [JS] Support regex literals after 'return'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208285 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix binary operator detection before lambdas.

Before:
  bool foo = true&& [] { return false; }();

After:
  bool foo = true && [] { return false; }();

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208288 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [JS] support closures in container literals.

Before:
  return {body: {setAttribute: function(key, val) {this[key] = val;
  }
  , getAttribute : function(key) { return this[key]; }
  , style : {
  direction:
    ''
  }
  }
  }
  ;

After:
  return {
    body: {
      setAttribute: function(key, val) { this[key] = val; },
      getAttribute: function(key) { return this[key]; },
      style: {direction: ''}
    }
  };

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208292 91177308-0d34-0410-b5e6-96231b3b80d8
Suggest fix-it ':' when '=' used in for-range-declaration

Fix for PR19176. Clang will suggest a fix-it hint for cases like:
  int arr[] = {1, 2, 3, 4};
  for (auto i = arr)
              ^
              :


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208299 91177308-0d34-0410-b5e6-96231b3b80d8
Explicitly keep track of temporaries during the consumed analysis.

This makes the consumed analysis less dependent on the CFG layout and fixes
a bug where we wouldn't warn on an unconsumed value.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208300 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Initial support for try-catch.

Most of this patch was created by Alexander Rojas in
http://reviews.llvm.org/D2555
Thank you!

Synced and addressed review comments.

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