]> granicus.if.org Git - clang/log
clang
10 years agoMake clang's rewrite engine a core feature
Alp Toker [Wed, 16 Jul 2014 16:48:33 +0000 (16:48 +0000)]
Make clang's rewrite engine a core feature

The rewrite facility's footprint is small so it's not worth going to these
lengths to support disabling at configure time, particularly since key compiler
features now depend on it.

Meanwhile the Objective-C rewriters have been moved under the
ENABLE_CLANG_ARCMT umbrella for now as they're comparatively heavy and still
potentially worth excluding from lightweight builds.

Tests are now passing with any combination of feature flags. The flags
historically haven't been tested by LLVM's build servers so caveat emptor.

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

10 years agoclang-cl: expand test coverage for "core" options
Hans Wennborg [Wed, 16 Jul 2014 16:29:00 +0000 (16:29 +0000)]
clang-cl: expand test coverage for "core" options

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

10 years agoObjective-C. Introducing __attribute__((objc_runtime_name("runtimename"))
Fariborz Jahanian [Wed, 16 Jul 2014 16:16:04 +0000 (16:16 +0000)]
Objective-C. Introducing __attribute__((objc_runtime_name("runtimename"))
to be applied to class or protocols. This will direct IRGen
for Objective-C metadata to use the new name in various places
where class and protocol names are needed.
rdar:// 17631257

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

10 years agoExpand the wildcard expansion test to also cover '?'
Hans Wennborg [Wed, 16 Jul 2014 16:14:09 +0000 (16:14 +0000)]
Expand the wildcard expansion test to also cover '?'

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

10 years agoclang-cl: make sure we still parse -fms-version= after r213119
Hans Wennborg [Wed, 16 Jul 2014 16:03:56 +0000 (16:03 +0000)]
clang-cl: make sure we still parse -fms-version= after r213119

The CoreOption flag got lost in the changes.

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

10 years agoRevert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includ...
Alp Toker [Wed, 16 Jul 2014 15:12:48 +0000 (15:12 +0000)]
Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]"

We've decided to make the core rewriter class and PP rewriters mandatory.
They're only a few hundred lines of code in total and not worth supporting as a
distinct build configuration, especially since doing so disables key compiler
features.

This reverts commit r213150.

Revert "clang/test: Introduce the feature "rewriter" for --enable-clang-rewriter."

This reverts commit r213148.

Revert "Move clang/test/Frontend/rewrite-*.c to clang/test/Frontend/Rewriter/"

This reverts commit r213146.

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

10 years ago[ASTMatchers] Add a usingDirectiveDecl matcher.
Benjamin Kramer [Wed, 16 Jul 2014 14:14:51 +0000 (14:14 +0000)]
[ASTMatchers] Add a usingDirectiveDecl matcher.

This matches 'using namespace' declarations.

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

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

10 years agoclang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes....
NAKAMURA Takumi [Wed, 16 Jul 2014 13:42:43 +0000 (13:42 +0000)]
clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]

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

10 years agoclang/test: Introduce the feature "rewriter" for --enable-clang-rewriter.
NAKAMURA Takumi [Wed, 16 Jul 2014 13:36:39 +0000 (13:36 +0000)]
clang/test: Introduce the feature "rewriter" for --enable-clang-rewriter.

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

10 years agoMove clang/test/Frontend/rewrite-*.c to clang/test/Frontend/Rewriter/
NAKAMURA Takumi [Wed, 16 Jul 2014 13:23:13 +0000 (13:23 +0000)]
Move clang/test/Frontend/rewrite-*.c to clang/test/Frontend/Rewriter/

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

10 years agoTrailing linefeed.
NAKAMURA Takumi [Wed, 16 Jul 2014 13:21:58 +0000 (13:21 +0000)]
Trailing linefeed.

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

10 years ago[Driver][Mips] Reduce code duplication - use existing function
Simon Atanasyan [Wed, 16 Jul 2014 12:29:22 +0000 (12:29 +0000)]
[Driver][Mips] Reduce code duplication - use existing function
getMipsCPUAndABI() to get MIPS ABI name during multi-library selection.

No functional changes.

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

10 years ago[Driver][Mips] Remove flags which is not used in multi-library selection.
Simon Atanasyan [Wed, 16 Jul 2014 12:29:05 +0000 (12:29 +0000)]
[Driver][Mips] Remove flags which is not used in multi-library selection.

No functional changes.

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

10 years ago[Driver][Mips] Reduce code duplication. Remove static isMipsNan2008() function.
Simon Atanasyan [Wed, 16 Jul 2014 12:24:48 +0000 (12:24 +0000)]
[Driver][Mips] Reduce code duplication. Remove static isMipsNan2008() function.
Use the tools::mips::isNaN2008() routine instead.

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

10 years agoclang/test: Introduce the feature "staticanalyzer" for --enable-clang-static-analyzer.
NAKAMURA Takumi [Wed, 16 Jul 2014 12:05:45 +0000 (12:05 +0000)]
clang/test: Introduce the feature "staticanalyzer" for --enable-clang-static-analyzer.

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

10 years agoclang/test/Sema/warn-documentation-almost-trailing.c: Rewrite checks with @LINE.
NAKAMURA Takumi [Wed, 16 Jul 2014 12:05:24 +0000 (12:05 +0000)]
clang/test/Sema/warn-documentation-almost-trailing.c: Rewrite checks with @LINE.

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

10 years ago[mips] Correct the invocation of GAS in several cases.
Daniel Sanders [Wed, 16 Jul 2014 11:52:23 +0000 (11:52 +0000)]
[mips] Correct the invocation of GAS in several cases.

Summary:
As a result of this patch, assembling an empty file with GCC and Clang (using
GAS as the assembler) now produces identical objects.

-mfp32/-mfpxx/-mfp64 now form a trinity of options. -mfpxx is the default
when the triple vendor is 'img' or 'mti', the ABI is O32, and the CPU is
between mips2 and mips32r2/mips64r2 (inclusive).

-mno-shared is always given to the assembler to match the effect of
-mabicalls (currently unimplemented but Clang acts as if it is given).
Similarly, -call_nonpic is always given to match the effect of -mplt (also
unimplemented and acts as if given) except when the ABI is 64 in which case
-mplt has no effect so -KPIC is given instead.

-mhard-float/-msoft-float are now passed on.

-modd-spreg/-mno-odd-spreg are now passed on.

-mno-mips16 is correctly passed on. The assembler option is -no-mips16 not
-mno-mips16

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

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

10 years ago[mips] Add support for -mfpxx and -mno-fpxx.
Daniel Sanders [Wed, 16 Jul 2014 09:57:54 +0000 (09:57 +0000)]
[mips] Add support for -mfpxx and -mno-fpxx.

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

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

10 years agoDon't add -Bsymbolic by default on Android.
Evgeniy Stepanov [Wed, 16 Jul 2014 08:46:35 +0000 (08:46 +0000)]
Don't add -Bsymbolic by default on Android.

-Bsymbolic is not a platform requirement and should not
be added unconditionally.

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

10 years agoMS ABI: Up the required alignment after inserting padding between vbases
David Majnemer [Wed, 16 Jul 2014 07:16:58 +0000 (07:16 +0000)]
MS ABI: Up the required alignment after inserting padding between vbases

We would correctly insert sufficiently aligned padding between vbases
when our leading base was empty, however we would neglect to increase
the required alignment of the most derived class.

This fixes PR20315.

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

10 years agoAST: Convert a SmallPtrSet to a SmallPtrSetImpl in RecordLayoutBuilder
David Majnemer [Wed, 16 Jul 2014 06:30:31 +0000 (06:30 +0000)]
AST: Convert a SmallPtrSet to a SmallPtrSetImpl in RecordLayoutBuilder

No functionality changed, it just makes the code a little less brittle.

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

10 years agoAST: Cleanup RecordLayoutBuilder
David Majnemer [Wed, 16 Jul 2014 06:04:00 +0000 (06:04 +0000)]
AST: Cleanup RecordLayoutBuilder

No functionality changed, just some cleanups:
- Switch some loops to range-based for.
- Name some iterators with a more creative name than "I".
- Reduce dependence on auto. Does RD->bases() give you a list of
  CXXBaseSpecifiers or CXXRecordDecls? It's more clear to just say which
  upfront.

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

10 years agoImprove error recovery around colon.
Serge Pavlov [Wed, 16 Jul 2014 05:16:52 +0000 (05:16 +0000)]
Improve error recovery around colon.

Recognize additional cases, when '::' is mistyped as ':'.
This is a fix to RP18587 - colons have too much protection in member-declarations
Review is tracked by http://reviews.llvm.org/D3653.

This is an attempt to recommit the fix, initially committed as r212957 but then
reverted in r212965 as it broke self-build. In the updated patch ParseDirectDeclarator
turns on colon protection in for context as well.

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

10 years agoDriver: bifurcate extended and basic MSC versioning
Saleem Abdulrasool [Wed, 16 Jul 2014 03:13:50 +0000 (03:13 +0000)]
Driver: bifurcate extended and basic MSC versioning

This restores the original behaviour of -fmsc-version. The older option
remains as a mechanism for specifying the basic version information. A
secondary option, -fms-compatibility-version permits the user to specify an
extended version to the driver.

The new version takes the value as a dot-separated value rather than the
major * 100 + minor format that -fmsc-version format. This makes it easier to
specify the value as well as a more flexible manner for specifying the value.

Specifying both values is considered an error.

The older parameter is left solely as a driver option, which is normalised into
the newer parameter. This allows us to retain a single code path in the
compiler itself whilst preserving the semantics of the old parameter as well as
avoid having to determine which of two formats are being used by the invocation.

The test changes are due to the fact that the compiler no longer supports the
old option, and is a direct conversion to the new option.

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

10 years agoAdd a test for wildcard expansion on Windows
Hans Wennborg [Wed, 16 Jul 2014 00:55:31 +0000 (00:55 +0000)]
Add a test for wildcard expansion on Windows

This depends on LLVM r213114

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

10 years agoHandle diagnostic warnings in Frontend diagnostic handler.
Tyler Nowicki [Wed, 16 Jul 2014 00:40:42 +0000 (00:40 +0000)]
Handle diagnostic warnings in Frontend diagnostic handler.

Clang uses a diagnostic handler to grab diagnostic messages so it can print them
with the line of source code they refer to. This patch extends this to handle
diagnostic warnings that were added to llvm to produce a warning when
loop vectorization is explicitly specified (using a pragma clang loop directive)
but fails.

Reviewed by: Aaron Ballman

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

10 years agoAvoid referencing the vtable when calling the ctor without emitting it
Reid Kleckner [Wed, 16 Jul 2014 00:30:59 +0000 (00:30 +0000)]
Avoid referencing the vtable when calling the ctor without emitting it

This fixes compilation errors about incomplete types used with WebKit's
RefPtr template.  Simply calling an out of line constructor should not
instantiate all inline and defaulted virtual methods.

Tested by building and testing several big piles of code on Linux.

Reviewers: rsmith

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

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

10 years agoUse the integrated assembler by default on OpenBSD/sparc.
Brad Smith [Tue, 15 Jul 2014 23:07:10 +0000 (23:07 +0000)]
Use the integrated assembler by default on OpenBSD/sparc.

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

10 years agoSwitching some iterator-based for loops to use range-based for loops. No functional...
Aaron Ballman [Tue, 15 Jul 2014 22:03:49 +0000 (22:03 +0000)]
Switching some iterator-based for loops to use range-based for loops. No functional changes intended.

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

10 years agoAdd __INTMAX_C_SUFFIX__ and __UINTMAX_C_SUFFIX__.
Joerg Sonnenberger [Tue, 15 Jul 2014 21:58:11 +0000 (21:58 +0000)]
Add __INTMAX_C_SUFFIX__ and __UINTMAX_C_SUFFIX__.

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

10 years agoAdded the pack_elements range accessor. Refactoring some for loops to use range-based...
Aaron Ballman [Tue, 15 Jul 2014 21:32:31 +0000 (21:32 +0000)]
Added the pack_elements range accessor. Refactoring some for loops to use range-based for loops instead. No functional changes intended.

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

10 years agoclang-cl: Implement the -arch flag
Ehsan Akhgari [Tue, 15 Jul 2014 18:27:51 +0000 (18:27 +0000)]
clang-cl: Implement the -arch flag

Summary:
This implements the -arch flag for both x86 and x86-64 by letting
them affect the default target features we pass to cc1.  -m machine
flags will override the features set by -arch.

Reviewers: hansw

Subscribers: cfe-commits

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

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

10 years agoImprove test of my previous patch. rdar://17633301
Fariborz Jahanian [Tue, 15 Jul 2014 17:47:58 +0000 (17:47 +0000)]
Improve test of my previous patch. rdar://17633301

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

10 years agoAdd codegen for more R600 builtins
Matt Arsenault [Tue, 15 Jul 2014 17:23:46 +0000 (17:23 +0000)]
Add codegen for more R600 builtins

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

10 years agoObjective-C IRGen. Fixes an inconsistant linkage of
Fariborz Jahanian [Tue, 15 Jul 2014 17:14:34 +0000 (17:14 +0000)]
Objective-C IRGen. Fixes an inconsistant linkage of
ObC's metaclass metadata with its class metadata which
results in an assert. rdar://17633301

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

10 years agoDon't create non-temporary twines.
Joerg Sonnenberger [Tue, 15 Jul 2014 12:18:40 +0000 (12:18 +0000)]
Don't create non-temporary twines.

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

10 years agoMake sure int64_t and uint64_t are consistent.
Joerg Sonnenberger [Tue, 15 Jul 2014 11:51:38 +0000 (11:51 +0000)]
Make sure int64_t and uint64_t are consistent.

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

10 years agoPrune Redundant libdeps in CMake's target_link_libraries and LLVMBuild.txt.
NAKAMURA Takumi [Tue, 15 Jul 2014 11:37:03 +0000 (11:37 +0000)]
Prune Redundant libdeps in CMake's target_link_libraries and LLVMBuild.txt.

I checked this with Release+Asserts on x86_64-mingw32. Please restore partially if this were overkill.

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

10 years agoProvide builtin macros as template for PRIab and SCNab, matching the
Joerg Sonnenberger [Tue, 15 Jul 2014 11:30:00 +0000 (11:30 +0000)]
Provide builtin macros as template for PRIab and SCNab, matching the
underlaying types.

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

10 years agoclang-format: Improve heuristic around avoiding bad line breaks.
Daniel Jasper [Tue, 15 Jul 2014 09:00:34 +0000 (09:00 +0000)]
clang-format: Improve heuristic around avoiding bad line breaks.

Now, this can be properly formatted:
  static_cast<A< //
      B> *>(     //
      );

Before, clang-format could end up, not formatting the code at all.

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

10 years agoAST: Don't walk all redeclarations when looking for a uuid attr
David Majnemer [Tue, 15 Jul 2014 04:30:17 +0000 (04:30 +0000)]
AST: Don't walk all redeclarations when looking for a uuid attr

No funcionality changed, just a simplification of the existing code.

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

10 years ago[modules] Rearrange and unify the way we determine if we need to pull in
Richard Smith [Tue, 15 Jul 2014 03:37:06 +0000 (03:37 +0000)]
[modules] Rearrange and unify the way we determine if we need to pull in
redeclaration chains when pulling in a declaration. We need the redecl chain
unless we know some other declaration will trigger it to be pulled in; that
happens if our originally-canonical declaration had all the knowledge that
we have (and isn't us).

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

10 years ago[OPENMP] Several cosmetic fixes in comments, tests and the code for '#pragma omp...
Alexey Bataev [Tue, 15 Jul 2014 02:55:09 +0000 (02:55 +0000)]
[OPENMP] Several cosmetic fixes in comments, tests and the code for '#pragma omp single'.

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

10 years agoDon't get confused on the number of braces when braces start after the first __asm
Ehsan Akhgari [Tue, 15 Jul 2014 02:21:41 +0000 (02:21 +0000)]
Don't get confused on the number of braces when braces start after the first __asm

Summary:
Without this, we would not consume the closing brace which would cause
the parser to start consuming C++ and bad things would happen.

Reviewers: majnemer

Subscribers: cfe-commits

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

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

10 years agoVirtualFileSystem: Correctly generate the mapping for an empty VFS
Justin Bogner [Tue, 15 Jul 2014 01:24:35 +0000 (01:24 +0000)]
VirtualFileSystem: Correctly generate the mapping for an empty VFS

In r209332 I accidentally broke generation of empty VFS maps. This
fixes the issue and adds a test.

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

10 years agoPR19751: (T())++ is not a cast-expression.
Richard Smith [Tue, 15 Jul 2014 00:11:48 +0000 (00:11 +0000)]
PR19751: (T())++ is not a cast-expression.

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

10 years agoAST: Fix __uuidof for template specializations
David Majnemer [Mon, 14 Jul 2014 23:40:24 +0000 (23:40 +0000)]
AST: Fix __uuidof for template specializations

While we previously supported __uuidof applied to a template
specialization, we would only find the uuid attribute if it was applied
to the template argument.  We would erroneously ignore the uuid
attribute on the specialization itself.

This is required to parse Windows Runtime C++ Template Library headers.

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

10 years agoRevert "Revert "Move clang feature flags settings out of LLVM core and into cfe""
Alp Toker [Mon, 14 Jul 2014 23:28:38 +0000 (23:28 +0000)]
Revert "Revert "Move clang feature flags settings out of LLVM core and into cfe""

It turns out this commit was fine. The problem was in the legacy build system (fixed r213010).

This reverts commit r213008.

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

10 years agoRemove dead code.
Richard Smith [Mon, 14 Jul 2014 23:25:30 +0000 (23:25 +0000)]
Remove dead code.

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

10 years agoDefine ENABLE_CLANG_ARCMT in the legacy build system too
Alp Toker [Mon, 14 Jul 2014 23:15:48 +0000 (23:15 +0000)]
Define ENABLE_CLANG_ARCMT in the legacy build system too

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

10 years agoAST: Cleanup __uuidof related code
David Majnemer [Mon, 14 Jul 2014 23:12:54 +0000 (23:12 +0000)]
AST: Cleanup __uuidof related code

Switch some things to use range-based for loops.
Change CXXUuidofExpr::GetUuidAttrOfType's return type to be const.
No functionality changed.

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

10 years agoRevert "Move clang feature flags settings out of LLVM core and into cfe"
Alp Toker [Mon, 14 Jul 2014 23:10:07 +0000 (23:10 +0000)]
Revert "Move clang feature flags settings out of LLVM core and into cfe"

Prospectively revert to get one of the many build configurations back working
(presumably the side-by-side+modular CMake config).

This reverts commit r212997.

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

10 years agoContinue parsing an expression list even after an error is encountered.
Kaelyn Takata [Mon, 14 Jul 2014 22:48:10 +0000 (22:48 +0000)]
Continue parsing an expression list even after an error is encountered.

Otherwise, multiple errors such as having unknown identifiers for two
arguments won't be diagnosed properly (e.g. only the first one would
have a diagnostic message if typo correction fails even though both
would be diagnosed if typo correction suggests a replacement).

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

10 years agoMove clang feature flags settings out of LLVM core and into cfe
Alp Toker [Mon, 14 Jul 2014 22:17:26 +0000 (22:17 +0000)]
Move clang feature flags settings out of LLVM core and into cfe

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

10 years agoFix build with various feature flag combinations
Alp Toker [Mon, 14 Jul 2014 22:17:22 +0000 (22:17 +0000)]
Fix build with various feature flag combinations

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

10 years agoFix the !CLANG_ENABLE_ARCMT build
Alp Toker [Mon, 14 Jul 2014 22:17:16 +0000 (22:17 +0000)]
Fix the !CLANG_ENABLE_ARCMT build

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

10 years agoTry harder to supress the test from r212975 on Windows
Ben Langmuir [Mon, 14 Jul 2014 21:14:28 +0000 (21:14 +0000)]
Try harder to supress the test from r212975 on Windows

The attempt in r212980 was broken because we might not fail if
LLVM_ON_UNIX is enabled for cross compiling to Windows, and it didn't
consider mingw either.

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

10 years agoDrop separate UIntMaxType and just derive it from IntMaxType.
Joerg Sonnenberger [Mon, 14 Jul 2014 21:00:38 +0000 (21:00 +0000)]
Drop separate UIntMaxType and just derive it from IntMaxType.

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

10 years agoIntroduce getCorrespondingUnsignedType() in TargetInfo to work like the
Joerg Sonnenberger [Mon, 14 Jul 2014 20:40:56 +0000 (20:40 +0000)]
Introduce getCorrespondingUnsignedType() in TargetInfo to work like the
corresponding AST context function, only restricted to basic integer
types. Use this to ensure getUIntPtrType() gives types consistent with
getIntPtrType(). Fix NVPTX backend to give signed intptr_t.

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

10 years agoXFAIL test that doesn't work on Windows yet
Ben Langmuir [Mon, 14 Jul 2014 20:36:40 +0000 (20:36 +0000)]
XFAIL test that doesn't work on Windows yet

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

10 years agoIn C++98, if an rvalue reference binds to a function lvalue (or an xvalue or an
Richard Smith [Mon, 14 Jul 2014 19:54:05 +0000 (19:54 +0000)]
In C++98, if an rvalue reference binds to a function lvalue (or an xvalue or an
array prvalue), treat that as a direct binding. Only the class prvalue case
needs to be excluded here; the rest are extensions anyway, so we can treat them
as we would in C++11.

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

10 years agoFix case-sensitivity of inferred framework modules
Ben Langmuir [Mon, 14 Jul 2014 19:45:12 +0000 (19:45 +0000)]
Fix case-sensitivity of inferred framework modules

Just because we can open a directory named "COcoa.framework" doesn't
mean we should provide a "COcoa" module on a case-insensitive filesystem.

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

10 years agoFix typos
Alp Toker [Mon, 14 Jul 2014 19:42:55 +0000 (19:42 +0000)]
Fix typos

Also consolidate 'backward compatibility'

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

10 years agoAvoid non-attributive uses of 'unsupported' in diagnostics
Alp Toker [Mon, 14 Jul 2014 19:16:22 +0000 (19:16 +0000)]
Avoid non-attributive uses of 'unsupported' in diagnostics

We don't have a style guide for diagnostic messages, but convention strongly
favours the forms:

  'attribute is not supported', 'unsupported attribute'

We generally avoid:

  'attribute is unsupported', 'non-supported attribute'

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

10 years agoDocument the forward of the -u option (r211756)
Sylvestre Ledru [Mon, 14 Jul 2014 18:34:37 +0000 (18:34 +0000)]
Document the forward of the -u option (r211756)

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

10 years agoDocument the warning triggered by the unsupported gcc optimization flags (r212805)
Sylvestre Ledru [Mon, 14 Jul 2014 18:30:23 +0000 (18:30 +0000)]
Document the warning triggered by the unsupported gcc optimization flags (r212805)

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

10 years agoRevert "Improve error recovery around colon."
Reid Kleckner [Mon, 14 Jul 2014 18:19:58 +0000 (18:19 +0000)]
Revert "Improve error recovery around colon."

This reverts commit r212957.  It broke the self-host on code like this
from LLVM's option library:
  for (auto Arg: filtered(Id0, Id1, Id2))

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

10 years agoChange the diagnostic group for unsupported gcc optimizations added r212805
Alp Toker [Mon, 14 Jul 2014 18:11:38 +0000 (18:11 +0000)]
Change the diagnostic group for unsupported gcc optimizations added r212805

Use -Winvalid-command-line-argument here to align with existing gcc opt
diagnostics. Meanwhile -Wunused-command-line-argument is for flags that we
support but were, say, fed into the wrong invocation.

Also tweak wording to make sense with -Werror.

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

10 years agoImprove error recovery around colon.
Serge Pavlov [Mon, 14 Jul 2014 16:42:20 +0000 (16:42 +0000)]
Improve error recovery around colon.

Recognize additional cases, when '::' is mistyped as ':'.
This is a fix to RP18587 - colons have too much protection in member-declarations.

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

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

10 years agoCodeGen: Let arrays be inputs to inline asm
David Majnemer [Mon, 14 Jul 2014 16:27:53 +0000 (16:27 +0000)]
CodeGen: Let arrays be inputs to inline asm

An array showing up in an inline assembly input is accepted in ICC and
GCC 4.8

This fixes PR20201.

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

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

10 years agoARM: Add NOP intrinsic mapping in arm_acle.h
Yi Kong [Mon, 14 Jul 2014 15:32:29 +0000 (15:32 +0000)]
ARM: Add NOP intrinsic mapping in arm_acle.h

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

10 years agoARM: Implement __builtin_arm_nop intrinsic
Yi Kong [Mon, 14 Jul 2014 15:20:09 +0000 (15:20 +0000)]
ARM: Implement __builtin_arm_nop intrinsic

This patch implements __builtin_arm_nop intrinsic for AArch32 and AArch64,
which generates hint 0x0, the alias of NOP instruction.

This intrinsic is necessary to implement ACLE __nop intrinsic.

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

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

10 years ago[ASTMatchers] Make hasOverloadedOperatorName also match freestanding overloads.
Benjamin Kramer [Mon, 14 Jul 2014 14:05:02 +0000 (14:05 +0000)]
[ASTMatchers] Make hasOverloadedOperatorName also match freestanding overloads.

Freestanding overloads are represented as FunctionDecls in the AST, make
the matcher also match them.

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

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

10 years agoclang-format: Improve cast detection (fix false positive).
Daniel Jasper [Mon, 14 Jul 2014 12:38:38 +0000 (12:38 +0000)]
clang-format: Improve cast detection (fix false positive).

Before:
  fn(a)(b)+1;

After:
  fn(a)(b) + 1;

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

10 years ago[x32] Add __ILP32__ macro for ILP32 platforms
Pavel Chupin [Mon, 14 Jul 2014 09:58:10 +0000 (09:58 +0000)]
[x32] Add __ILP32__ macro for ILP32 platforms

Summary:
Add __ILP32__ and _ILP32 macro for corresponding platforms.
Cover x86_64-*-*-gnux32 with test.

Test Plan: test added

Reviewers: chandlerc, atanasyan

Subscribers: cfe-commits, dschuff, zinovy.nis

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

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

10 years ago[CMake] Update libdeps.
NAKAMURA Takumi [Mon, 14 Jul 2014 05:01:53 +0000 (05:01 +0000)]
[CMake] Update libdeps.

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

10 years ago[CMake] Reorder libdeps by alphabetical order.
NAKAMURA Takumi [Mon, 14 Jul 2014 04:59:27 +0000 (04:59 +0000)]
[CMake] Reorder libdeps by alphabetical order.

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

10 years agoSuperficial fix for PR20218: binding a function lvalue to a const reference to
Richard Smith [Mon, 14 Jul 2014 02:28:44 +0000 (02:28 +0000)]
Superficial fix for PR20218: binding a function lvalue to a const reference to
a function pointer is neither better nor worse than binding a function lvalue
to a function rvalue reference. Don't get confused and think that both bindings
are binding to a function lvalue (which would make the lvalue form win); the
const reference is binding to an rvalue.

The "real" bug in PR20218 is still present: we're getting the wrong answer from
template argument deduction, and that's what leads us to this weird overload
set.

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

10 years agoRemove trailing spaces
Pavel Chupin [Sun, 13 Jul 2014 17:11:45 +0000 (17:11 +0000)]
Remove trailing spaces

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

10 years agoAdd test cases for AArch64 hints codegen
Yi Kong [Sun, 13 Jul 2014 16:17:30 +0000 (16:17 +0000)]
Add test cases for AArch64 hints codegen

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

10 years ago[CMake] Give explicit dependencies to a couple of modules, PrintFunctionNames and...
NAKAMURA Takumi [Sun, 13 Jul 2014 13:40:23 +0000 (13:40 +0000)]
[CMake] Give explicit dependencies to a couple of modules, PrintFunctionNames and SampleAnalyzerPlugin, for Win32.DLL.

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

10 years agoPrintFunctionNames/CMakeLists.txt: Fix a comment.
NAKAMURA Takumi [Sun, 13 Jul 2014 13:38:55 +0000 (13:38 +0000)]
PrintFunctionNames/CMakeLists.txt: Fix a comment.

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

10 years agoMS ABI: Stick internal vftables in a comdat if they have RTTI data
David Majnemer [Sun, 13 Jul 2014 05:19:56 +0000 (05:19 +0000)]
MS ABI: Stick internal vftables in a comdat if they have RTTI data

Previously, we would have a private backing variable and an internal
alias pointing at it.

However, -fdata-sections only fires if a global variable has non-private
linkage.  This means that an unreferenced vftable wouldn't get
discarded, bloating the object file.

Instead, stick the backing variable in a comdat even if the alias has
internal linkage.  This will allow the linker to drop the vftable if it
is unused.

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

10 years agotests: use a more precise target for tests
Saleem Abdulrasool [Sat, 12 Jul 2014 23:40:53 +0000 (23:40 +0000)]
tests: use a more precise target for tests

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

10 years agoHeaders: add hint intrinsics to arm_acle.h
Saleem Abdulrasool [Sat, 12 Jul 2014 23:27:26 +0000 (23:27 +0000)]
Headers: add hint intrinsics to arm_acle.h

This adds the ARM ACLE hint intrinsic wrappers to arm_acle.h.  These need to be
protected with a !defined(_MSC_VER) since MSVC (and thus clang in compatibility
mode) provide these wrappers as proper builtin intrinsics.

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

10 years agoCodeGen: support hint intrinsics from ACLE on AArch64
Saleem Abdulrasool [Sat, 12 Jul 2014 23:27:22 +0000 (23:27 +0000)]
CodeGen: support hint intrinsics from ACLE on AArch64

This adds support for the ACLE hint intrinsics on AArch64 similar to ARM.  This
is required to properly support ACLE on AArch64.

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

10 years agoImprove comments of ARM ACLE header file and tests
Yi Kong [Sat, 12 Jul 2014 22:48:13 +0000 (22:48 +0000)]
Improve comments of ARM ACLE header file and tests

Include section number in ARM ACLE specification for easier navigation.

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

10 years agoAdd nonnull in CodeGen for __attribute__((returns_nonnull))
Hal Finkel [Sat, 12 Jul 2014 04:51:04 +0000 (04:51 +0000)]
Add nonnull in CodeGen for __attribute__((returns_nonnull))

As a follow-up to r212835, also add the LLVM nonnull function attribute when
__attribute__((returns_nonnull)) is provided.

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

10 years ago[ASan] Collect unmangled names of global variables in Clang to print them in error...
Alexey Samsonov [Sat, 12 Jul 2014 00:42:52 +0000 (00:42 +0000)]
[ASan] Collect unmangled names of global variables in Clang to print them in error reports.

Currently ASan instrumentation pass creates a string with global name
for each instrumented global (to include global names in the error report). Global
name is already mangled at this point, and we may not be able to demangle it
at runtime (e.g. there is no __cxa_demangle on Android).

Instead, create a string with fully qualified global name in Clang, and pass it
to ASan instrumentation pass in llvm.asan.globals metadata. If there is no metadata
for some global, ASan will use the original algorithm.

This fixes https://code.google.com/p/address-sanitizer/issues/detail?id=264.

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

10 years agoRequire an x86 registered target for this test by splitting it out
Reid Kleckner [Sat, 12 Jul 2014 00:40:59 +0000 (00:40 +0000)]
Require an x86 registered target for this test by splitting it out

This is a shot in the dark to fix the hexagon bot, so I'm not 100% sure
this is the issue.

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

10 years agoclang-cl: Make all x86 CPU feature flags available, such as -msse3
Reid Kleckner [Sat, 12 Jul 2014 00:29:05 +0000 (00:29 +0000)]
clang-cl: Make all x86 CPU feature flags available, such as -msse3

Ideally, we would use the /arch cl.exe flag for this stuff.
Unfortunately, MSVC supports only 5 /arch flag values, which isn't
nearly enough to cover all the CPU features that LLVM cares about.  At
the very least, we need to know about SSE3 and SSE4.1 in addition to
SSE, SSE2, AVX, and AVX2.

In the future we should add the relevant /arch mappings in addition to
these gcc-style -m flags.

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

10 years agoForm a CallExpr from __noop without parens
Reid Kleckner [Fri, 11 Jul 2014 23:54:29 +0000 (23:54 +0000)]
Form a CallExpr from __noop without parens

MSVC accepts __noop without any trailing parens and treats it like a
literal zero.  We don't treat __noop as an integer literal, but now at
least we can parse a naked __noop expression.

Reviewers: rsmith

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

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

10 years ago[Driver] clang::driver::getARMCPUForMArch() moved to llvm::Triple::getARMCPUForArch().
Argyrios Kyrtzidis [Fri, 11 Jul 2014 23:47:48 +0000 (23:47 +0000)]
[Driver] clang::driver::getARMCPUForMArch() moved to llvm::Triple::getARMCPUForArch().

Depends on llvm r212846.
Suggested by Eric Christopher.

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

10 years agoConsolidate header inclusion diagnostics
Alp Toker [Fri, 11 Jul 2014 20:53:51 +0000 (20:53 +0000)]
Consolidate header inclusion diagnostics

Make argument orders match, unify diagnostic IDs and reword the message to be a
little less saccharine.

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

10 years agoCodeGen: Don't emit a thread-wrapper if we can't touch the backing variable
David Majnemer [Fri, 11 Jul 2014 20:28:10 +0000 (20:28 +0000)]
CodeGen: Don't emit a thread-wrapper if we can't touch the backing variable

OS X TLS has all accesses going through the thread-wrapper function and
gives the backing thread-local variable internal linkage.  This means
that thread-wrappers must have WeakAnyLinkage so that references to the
internal thread-local variables do not get propagated to other code.

It also means that translation units which do not provide a definition
for the thread-local variable cannot attempt to emit a thread-wrapper
because the thread wrapper will attempt to reference the backing
variable.

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

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

10 years agooops. correct the prefix.
Brad Smith [Fri, 11 Jul 2014 20:27:39 +0000 (20:27 +0000)]
oops. correct the prefix.

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

10 years agoMS extension: Make __noop be the integer zero, not void
Reid Kleckner [Fri, 11 Jul 2014 20:22:55 +0000 (20:22 +0000)]
MS extension: Make __noop be the integer zero, not void

We still don't accept '__noop;', and we don't consider __noop to be the
integer literal zero.  More work is needed.

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

10 years agoHandle SPARC float command line parameters for SPARCv9.
Brad Smith [Fri, 11 Jul 2014 20:12:08 +0000 (20:12 +0000)]
Handle SPARC float command line parameters for SPARCv9.

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

10 years ago[modules] When merging a class template, also merge the definition of its pattern.
Richard Smith [Fri, 11 Jul 2014 18:22:58 +0000 (18:22 +0000)]
[modules] When merging a class template, also merge the definition of its pattern.

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

10 years agoAdd nonnull in CodeGen for __attribute__((nonnull))
Hal Finkel [Fri, 11 Jul 2014 17:35:21 +0000 (17:35 +0000)]
Add nonnull in CodeGen for __attribute__((nonnull))

We now have an LLVM-level nonnull attribute that can be applied to function
parameters, and we emit it for reference types (as of r209723), but did not
emit it when an __attribute__((nonnull)) was provided. Now we will.

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