ms-intrin.cpp: add -Werror to the test

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199450 91177308-0d34-0410-b5e6-96231b3b80d8
Split out -verify into two distinct option flags

Instead of dual-purposing a single flag, rename the driver option to
--verify-debug-info.

The frontend -verify option that enables diagnostic verification remains
unchanged except that it's now a pure CC1Option.

Both have been given proper help text.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199451 91177308-0d34-0410-b5e6-96231b3b80d8
Issue a warning if a throwing operator new or operator new[] returns a null
pointer, since this invokes undefined behavior. Based on a patch by Artyom
Skrobov! Handling of dependent exception specifications and some additional
testcases by me.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199452 91177308-0d34-0410-b5e6-96231b3b80d8
PR18477: Create a function scope representing the constructor call when
handling C++11 default initializers. Without this, other parts of Sema (such as
lambda capture) would think the default initializer is part of the surrounding
function scope.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199453 91177308-0d34-0410-b5e6-96231b3b80d8
Driver: Stub -Wa,-compress-debug-sections support for integrated-as with a suppressable warning

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199454 91177308-0d34-0410-b5e6-96231b3b80d8
Make -verify a -cc1 NoDriverOption

'%clang -verify' will now issue an error instead of succeeding without
verification. This should catch flawed tests like r199347.

Followup to r199451.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199455 91177308-0d34-0410-b5e6-96231b3b80d8
Tweak test run line for readability

Matching up the argument order in r199455's two RUN lines better demonstrates
what's going on.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199456 91177308-0d34-0410-b5e6-96231b3b80d8
Updating the minimum version information for Visual Studio.

Patch thanks to Nikola Smiljanic!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199457 91177308-0d34-0410-b5e6-96231b3b80d8
Make -cl-kernel-arg-info a cc1-only option like the others

The driver wasn't doing anything with it. Also rephrase the help text.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199458 91177308-0d34-0410-b5e6-96231b3b80d8
Kill off obsolete err_target_unknown_cxxabi diag

Unused since r199250.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199459 91177308-0d34-0410-b5e6-96231b3b80d8
Refine diagnostic: attribute 'nonnull' applies to both functions and methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199460 91177308-0d34-0410-b5e6-96231b3b80d8
Make 'CheckNonNullArguments' a static function.  No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199464 91177308-0d34-0410-b5e6-96231b3b80d8
Push NonNullAttr inspection loop into CheckNonNullArguments.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199465 91177308-0d34-0410-b5e6-96231b3b80d8
Add ArrayRef<> interface to get the parameters of a FunctionDecl/ObjCMethodDecl.

This is an alternate interface to the separate iterator interfaces
provided by FunctionDecl and ObjCMethodDecl, which precede ArrayRef.

Providing this new interface is more convenient for some uses, and
likely the old interfaces should be removed.  I have not undertaken
that effort in this change because this API introduction may
solicit commentary and that was a larger change than I wanted
to introduce all at once to serve a direct purpose.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199466 91177308-0d34-0410-b5e6-96231b3b80d8
Enhance attribute 'nonnull' to be applicable to parameters directly (infix).

This allows the following syntax:

  void baz(__attribute__((nonnull)) const char *str);

instead of:

  void baz(const char *str) __attribute__((nonnull(1)));

This also extends to Objective-C methods.

The checking logic in Sema is not as clean as I would like.  Effectively
now we need to check both the FunctionDecl/ObjCMethodDecl and the parameters,
so the point of truth is spread in two places, but the logic isn't that
cumbersome.

Implements <rdar://problem/14691443>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199467 91177308-0d34-0410-b5e6-96231b3b80d8
Tweak clang/test/PCH/modified-module-dependency.m for win32 hosts.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199469 91177308-0d34-0410-b5e6-96231b3b80d8
Add ArrayRef<> interface to get the formal parameters of a BlockDecl.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199471 91177308-0d34-0410-b5e6-96231b3b80d8
Change CallEvent to use ArrayRef<> interface to get formal parameters of callee.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199472 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Teach NonNullParamChecker about 'nonnull' attributes on parameters.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199473 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r199416, "MS ABI: Improve selection of an inheritance model"

It broke tests for targeting x86_64-pc-win32:

    Clang Tools :: clang-modernize/LoopConvert/array.cpp
    Clang :: CodeGenCXX/2010-05-10-Var-DbgInfo.cpp
    Clang :: CodeGenCXX/member-call-parens.cpp
    Clang :: CodeGenCXX/ptr-to-datamember.cpp
    Clang :: SemaTemplate/instantiate-function-1.cpp

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