summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Module debugging: Add a testcase for standalone forward declarations.Adrian Prantl2016-01-092-0/+6
| | | | llvm-svn: 257241
* Only take NULL macros instead of all macros into account for -Wnull-conversion.Richard Trieu2016-01-092-2/+26
| | | | llvm-svn: 257240
* Exclude function calls for functions which have return type nullptr_t fromRichard Trieu2016-01-082-0/+15
| | | | | | | | | -Wnull-conversion warning. These functions are basically equivalent to other pointer returning fuctions which are already excluded by -Wnull-conversion. llvm-svn: 257231
* [modules] Make sure we always include the contents of private headers whenRichard Smith2016-01-084-12/+16
| | | | | | | | | | building a module. Prior to this change, the private header's content would only be included if the header were included by another header in the same module. If not (if the private header is only used by the .cc files of the module, or is included from outside the module via -Wno-private-header), a #include of that file would be silently ignored. llvm-svn: 257222
* [MS ABI] Complete and base constructor GlobalDecls must have the same nameDavid Majnemer2016-01-082-1/+39
| | | | | | | | | | | | | | | | | Clang got itself into the situation where we mangled the same constructor twice with two different constructor types. After one of the constructors were utilized, the tag used for one of the types changed from class to struct because a class template became complete. This resulted in one of the constructor types varying from the other constructor. Instead, force "base" constructor types to "complete" if the ABI doesn't have constructor variants. This will ensure that GlobalDecls for both variants will get the same mangled name. This fixes PR26029. llvm-svn: 257205
* Fix incorrectly line-broken comment in Driver.h.Justin Lebar2016-01-081-3/+3
| | | | | | Also sort includes. llvm-svn: 257197
* Update code in buildCudaActions and BuildActions to latest idiom.Justin Lebar2016-01-081-18/+14
| | | | | | | | | | | | | | | Summary: Use llvm::any_of, llvm::find, etc. No functional changes. Reviewers: tra Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15936 llvm-svn: 257190
* [ThinLTO] Leverage new in-place renaming supportTeresa Johnson2016-01-083-57/+38
| | | | | | | | | | | | Due to the new in-place renaming support added in r257174, we no longer need to invoke ThinLTO global renaming from clang. It will be invoked on the module in the FunctionImport pass (by an immediately following llvm commit). As a result, we don't need to load the FunctionInfoIndex as early, so that is moved down into EmitAssemblyHelper::EmitAssembly. llvm-svn: 257179
* Driver: Use the new ELF lld linker for AMDGPUTom Stellard2016-01-083-6/+2
| | | | | | | | | | | | Summary: 'gnu-old' has been deprecated in favor or 'gnu'. Reviewers: arsenm, ruiu, rafael Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15953 llvm-svn: 257175
* clang-format: [JS] Prefer wrapping before the TypeScript return typeDaniel Jasper2016-01-082-1/+4
| | | | | | | | | | | | | | over wrapping before parameters. Before: function someFunc( args: string[]): {longReturnValue: string[]} {} After: function someFunc(args: string[]): {longReturnValue: string[]} {} llvm-svn: 257162
* clang-format: [JS] Add some Closure Compiler JSDoc tags to the defaultDaniel Jasper2016-01-082-0/+11
| | | | | | Google configuration so that they aren't line-wrapped. llvm-svn: 257159
* clang-format: [JS] Support more ES6 classes.Daniel Jasper2016-01-082-0/+8
| | | | | | | | | | | | | | | Before: foo = class { constructor() {} } ; After: foo = class { constructor() {} }; llvm-svn: 257154
* [CUDA] Split out tests for unused-arg warnings from cuda-options.cu.Justin Lebar2016-01-082-18/+23
| | | | | | | | | | | | Summary: Trying to make this test a bit more manageable. Reviewers: tra Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15974 llvm-svn: 257142
* [PPC] Add long long/double support for vec_cts, vec_ctu and vec_ctfKyle Butt2016-01-082-4/+81
| | | | | | | | | | | Add long long/double support for vec_cts, vec_ctu and vec_ctf. Similar to this change in GCC: https://gcc.gnu.org/ml/gcc-patches/2014-08/msg02653.html Patch by Tim Shen. llvm-svn: 257135
* Turn off lldb debug tuning by default for FreeBSDDimitry Andric2016-01-072-4/+1
| | | | | | | | | | | | | | | Summary: This is the clang part of D15966. In rL256104, debugger tuning was added to the clang driver, and again the default for FreeBSD was set to lldb. The default needs to be gdb instead. Reviewers: emaste, probinson Subscribers: cfe-commits, emaste Differential Revision: http://reviews.llvm.org/D15967 llvm-svn: 257104
* Properly track that a character literal is UTF-8, and pretty print the ↵Aaron Ballman2016-01-0711-2/+55
| | | | | | prefix properly. llvm-svn: 257097
* [PGO] Simplify coverage mapping loweringXinliang David Li2016-01-073-5/+21
| | | | | | | | | | | | | | | | Coverage mapping data may reference names of functions that are skipped by FE (e.g, unused inline functions). Since those functions are skipped, normal instr-prof function lowering pass won't put those names in the right section, so special handling is needed to walk through coverage mapping structure and recollect the references. With this patch, only names that are skipped are processed. This simplifies the lowering code and it no longer needs to make assumptions coverage mapping data layout. It should also be more efficient. llvm-svn: 257092
* Remove extraneous "Note t" in comment.Justin Lebar2016-01-071-1/+1
| | | | | | Added in r167571. llvm-svn: 257090
* Correcting the comment in a header file; NFC.Aaron Ballman2016-01-071-1/+1
| | | | llvm-svn: 257085
* clang-format: Fix corner case in one-per-line formatting.Daniel Jasper2016-01-073-1/+14
| | | | | | | | | | | | | | | | | | | Before (example is JS, but also applies to C++): return [ aaaa() .bbbbbbbb('A'), aaaa().bbbbbbbb('B'), aaaa().bbbbbbbb('C'), ]; After: return [ aaaa().bbbbbbbb('A'), aaaa().bbbbbbbb('B'), aaaa().bbbbbbbb('C'), ]; llvm-svn: 257079
* [OpenMP] Fix issue in the offloading metadata testing.Samuel Antao2016-01-072-28/+28
| | | | | | | | | - Allow device ID to be signed. - Add missing semicolon to some of the CHECK directives. Thanks to Amjad Aboud for detecting the issue. llvm-svn: 257065
* clang-format: Support weird lambda macros.Daniel Jasper2016-01-072-0/+13
| | | | | | | | | | Before: MACRO((AA & a) { return 1; }); After: MACRO((AA &a) { return 1; }); llvm-svn: 257062
* Add missing -no-canonical-prefixes.Daniel Jasper2016-01-071-1/+1
| | | | llvm-svn: 257057
* [libclang] Handle AutoType in clang_getTypeDeclarationSergey Kalinichev2016-01-073-0/+38
| | | | | | Differential Revision: http://reviews.llvm.org/D13001 llvm-svn: 257043
* ARM: allow __thread on OS versions that have the required runtime support.Tim Northover2016-01-072-1/+35
| | | | llvm-svn: 257041
* Make sure we claim arguments that are going to be passed to a gcc tool,Eric Christopher2016-01-072-5/+12
| | | | | | even if they're not going to be used to avoid unused option warnings. llvm-svn: 257040
* clang-format: [JS] Support more ES6 imports.Daniel Jasper2016-01-072-8/+8
| | | | | | | | | | | Before: import a, {X, Y} from 'some/module.js'; After: import a, {X, Y} from 'some/module.js'; llvm-svn: 257038
* [WebAssembly] Add -m:e to the target triple.Dan Gohman2016-01-072-4/+4
| | | | llvm-svn: 257021
* [Sema] Teach overload resolution about unaddressable functions.George Burgess IV2016-01-077-9/+84
| | | | | | | | | | | | Given an expression like `(&Foo)();`, we perform overload resolution as if we are calling `Foo` directly. This causes problems if `Foo` is a function that can't have its address taken. This patch teaches overload resolution to ignore functions that can't have their address taken in such cases. Differential Revision: http://reviews.llvm.org/D15590 llvm-svn: 257016
* Replace a loop with the call that does the same thing.Eric Christopher2016-01-071-2/+1
| | | | llvm-svn: 257014
* Remove leading space added in r227312.Eric Christopher2016-01-071-1/+0
| | | | llvm-svn: 257011
* Use an actual real architecture and massage a couple of comments.Eric Christopher2016-01-071-3/+4
| | | | llvm-svn: 257010
* Test that we're not forwarding on -g options to the non integrated assembler.Eric Christopher2016-01-071-0/+6
| | | | | | This is adding a test for an old fixed PR to make sure we don't regress. llvm-svn: 257009
* Improve documentation comments for IdentifierNamespace values.Richard Smith2016-01-071-2/+7
| | | | llvm-svn: 257008
* [WebAssembly] Add a test to ensure that -fvisibility=default works.Dan Gohman2016-01-071-0/+6
| | | | | | It should override the default of -fvisibility=hidden. llvm-svn: 257007
* [WebAssembly] Enable -fvisibility=hidden by default.Dan Gohman2016-01-075-23/+43
| | | | | | | This, along with many things in the WebAssembly target, is experimental. Feedback is welcome. llvm-svn: 257006
* [WebAssembly] Enable -ffunction-sections and -fdata-sections by default.Dan Gohman2016-01-072-4/+21
| | | | | | | These remain user-overridable with -fno-function-sections and -fno-data-sections. llvm-svn: 257005
* [WebAssembly] Only enable --gc-sections when optimizations are enabled.Dan Gohman2016-01-072-4/+25
| | | | | | | Also, revamp the wasm-toolchain.c test and add a test to ensure that a user-supplied --no-gc-sections comes after --gc-sections. llvm-svn: 257004
* Properly bind up any cleanups in an ExprWithCleanups afterJohn McCall2016-01-061-6/+5
| | | | | | | | | | instantiating a default argument expression. This was previously just working implicitly by reinstantiating in the current context, but caching means that we weren't registering cleanups in subsequent uses. llvm-svn: 256996
* PR26048, PR26050: put non-type template parameters and indirect field declsRichard Smith2016-01-065-11/+88
| | | | | | | | into IDNS_Tag in C++, because they conflict with redeclarations of tags. (This doesn't affect elaborated-type-specifier lookup, which looks for IDNS_Type in C++). llvm-svn: 256985
* Only instantiate a default argument once.John McCall2016-01-0614-63/+129
| | | | | | | | | | | | | | | | | | | By storing the instantiated expression back in the ParmVarDecl, we remove the last need for separately storing the sub-expression of a CXXDefaultArgExpr. This makes PCH/Modules merging quite simple: CXXDefaultArgExpr records are serialized as references to the ParmVarDecl, and we ignore redundant attempts to overwrite the instantiated expression. This has some extremely marginal impact on user-facing semantics. However, the major effect is that it avoids IRGen errors about conflicting definitions due to lambdas in the argument being instantiated multiple times while sharing the same mangling. It should also slightly improve memory usage and module file size. rdar://23810407 llvm-svn: 256983
* Fix half of PR26048. We don't yet diagnose the case where the anonymous ↵Richard Smith2016-01-065-12/+37
| | | | | | union member is declared first and the tag name is declared second. llvm-svn: 256979
* [Hexagon] Expand -mvN to -mcpu=hexagonvNKrzysztof Parzyszek2016-01-061-4/+4
| | | | llvm-svn: 256978
* [Hexagon] Treat -march and -mcpu as equivalentKrzysztof Parzyszek2016-01-061-7/+2
| | | | llvm-svn: 256977
* Improve conditional checking during template instantiation.Richard Trieu2016-01-062-27/+70
| | | | | | | | | | | | | When the condition in an if statement, while statement, or for loop is created during template instantiation, it calls MakeFullExpr with only the condition expression. However, when these conditions are created for non-templated code in the Parser, an additional SourceLocation is passed to MakeFullExpr. The impact of this was that non-dependent templated code could produce diagnostics that the same code outside templates would not. Adding the missing SourceLocation makes diagnostics consistent between templated and non-templated code. llvm-svn: 256976
* Add -Wfor-loop-analysis to -Wall.Nico Weber2016-01-061-0/+1
| | | | | | | | This warning seems to have 0 false positives and some true positives in practice, without a measurable compile time cost. It should be in -Wall, and possibly even become a default warning at some point. llvm-svn: 256975
* [WebAssembly] Add --gc-sections to the link line.Dan Gohman2016-01-062-1/+6
| | | | | | | | This will eventually be accompanied with a change to enable -ffunction-sections and -fdata-sections by default, which is currently delayed by some development process issues. llvm-svn: 256967
* Fix a typo.Adrian Prantl2016-01-061-1/+1
| | | | llvm-svn: 256963
* Module debugging: Defer emitting tag types until their definitionAdrian Prantl2016-01-063-9/+36
| | | | | | | | | was visited and all decls have been merged. We only get a single chance to emit the types for virtual classes because CGDebugInfo::completeRequiredType() categorically doesn't complete them. llvm-svn: 256962
* Fix -Wdocumentation warning after r256933Nico Weber2016-01-061-1/+1
| | | | llvm-svn: 256960
OpenPOWER on IntegriCloud