summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Module Debugging: Fix a crash when emitting debug info for nested tag typesAdrian Prantl2016-03-073-0/+27
| | | | | | | | whose DeclContext is not yet complete by deferring their emission. rdar://problem/24918680 llvm-svn: 262851
* [CLANG][AVX512][BUILTIN] Add builtin vcomi{ss|sd}Michael Zuckerman2016-03-073-0/+20
| | | | | | Differential Revision: http://reviews.llvm.org/D17919 llvm-svn: 262847
* python binding: expose compile command filenameGuillaume Papin2016-03-072-5/+22
| | | | | | | | Reviewers: compnerd, skalinichev Differential Revision: http://reviews.llvm.org/D17278 llvm-svn: 262845
* [ms-inline-asm][AVX512] Add ability to use k registers in MS inline asm + ↵Marina Yatsina2016-03-074-1/+21
| | | | | | | | | | | | | | | | | | | | | | fix bag with curly braces Until now curly braces could only be used in MS inline assembly to mark block start/end. All curly braces were removed completely at a very early stage. This approach caused bugs like: "m{o}v eax, ebx" turned into "mov eax, ebx" without any error. In addition, AVX-512 added special operands (e.g., k registers), which are also surrounded by curly braces that mark them as such. Now, we need to keep the curly braces and identify at a later stage if they are marking block start/end (if so, ignore them), or surrounding special AVX-512 operands (if so, parse them as such). This patch fixes the bug described above and enables the use of AVX-512 special operands. This commit is the the clang part of the patch. The clang part of the review is: http://reviews.llvm.org/D17766 The llvm part of the review is: http://reviews.llvm.org/D17767 Differential Revision: http://reviews.llvm.org/D17766 llvm-svn: 262842
* Implement __builtin_eh_return_data_regno for SPARC and SPARC64.Joerg Sonnenberger2016-03-072-0/+16
| | | | llvm-svn: 262838
* Describe the magic numbers returned by getEHDataRegisterNumber.Joerg Sonnenberger2016-03-071-0/+2
| | | | llvm-svn: 262837
* [CLANG][AVX512][BUILTIN] Adding new feature flag headed files and new ↵Michael Zuckerman2016-03-077-0/+317
| | | | | | | | BUILTIN vpermi2varq{i|t}{128|256|512}{mask|maskz} Differential Revision: http://reviews.llvm.org/D17917 llvm-svn: 262834
* [OPENMP] Codegen for distribute directive: fix bug in ordering of parameters.Carlo Bertolli2016-03-071-1/+1
| | | | llvm-svn: 262833
* Reapply r262741 [OPENMP] Codegen for distribute directiveCarlo Bertolli2016-03-078-113/+613
| | | | | | | | This patch provide basic implementation of codegen for teams directive, excluding all clauses except dist_schedule. It also fixes parts of AST reader/writer to enable correct pre-compiled header handling. http://reviews.llvm.org/D17170 llvm-svn: 262832
* Resolved Bug 26414.Amjad Aboud2016-03-072-3/+14
| | | | | | | | | https://llvm.org/bugs/show_bug.cgi?id=26414 Since interrupt handler must be returned with iret, tail call can't be used. Differential Revision: http://reviews.llvm.org/D17853 llvm-svn: 262830
* [CLANG][AVX512][BUILTIN] Adding new feature flag header file and new builtin ↵Michael Zuckerman2016-03-077-0/+378
| | | | | | | | vpmadd52{h|l}uq{128|256|512}{mask|maskz} Differential Revision: http://reviews.llvm.org/D17915 llvm-svn: 262820
* [MS ABI] Mangle symbols names longer than 4096 characters correctlyDavid Majnemer2016-03-072-42/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Really long symbols are hashed using MD5 and prefixed/suffixed with the usual sigils. There is an additional reason beyond the usual compatibility with MSVC, it is important to keep COFF symbols shorter than 0xFFFF because the CodeView debugging format has a maximum symbol/record size of 0xFFFF. There are some quirks worth noting: - Some mangled names reference other entities which are mangled separately. A quick example: int I; template <int *> struct S {}; S<I> s; In this case, the mangling for 's' doesn't depend directly on the mangling for 'I'. While 's' would need an MD5 hash if 'I' also needed one, the hash for 's' applied to the fully realized mangled name. In other words, the mangled name for 's' will not depend on the MD5 of the mangled name for 'I'. - Some mangled names, like the venerable CatchableType, embed the MD5 verbatim. - Finally, the complete object locator is handled as a special case. A complete object locators are mangled exactly like a VFTable except for a small deviation in the prefix sigils. However, complete object locators for hashed vftables result in a complete object locator whose name is identical to the vftable except for an additional suffix. llvm-svn: 262818
* [CLANG][AVX512][BUILTIN] Adding vpmultishiftqb{128|256|512}Michael Zuckerman2016-03-076-1/+175
| | | | | | Differential Revision: http://reviews.llvm.org/D17914 llvm-svn: 262817
* [ASTMatchers] Document that isAnyPointer() matcher also matches Objective-C ↵Felix Berger2016-03-062-2/+14
| | | | | | | | | | | | | | object pointers. Summary: Add test for Objective-C object pointer matching. Reviewers: aaron.ballman Subscribers: klimek Differential Revision: http://reviews.llvm.org/D17489 llvm-svn: 262806
* [Modules] Don't swallow errors when parsing optional attributes.Davide Italiano2016-03-062-3/+20
| | | | | | Differential Revision: http://reviews.llvm.org/D17787 llvm-svn: 262789
* Fixed -Wdocumentation warning - typo in a parameter nameSimon Pilgrim2016-03-051-1/+1
| | | | llvm-svn: 262783
* Misc: add a test for TargetParser usageSaleem Abdulrasool2016-03-051-0/+2
| | | | | | | | | Ensure that an invalid value passed to target parser does not cause an assertion in +Asserts builds. Supporting test for PR26839. llvm-svn: 262780
* clang-format: [JS] Support destructuring assignments in for loops.Daniel Jasper2016-03-052-0/+6
| | | | | | | | | | | | Before: for (let { a, b } of x) { } After: for (let {a, b} of x) { } llvm-svn: 262776
* [X86] AMD Bobcat CPU (btver1) doesn't support XSAVE Simon Pilgrim2016-03-052-3/+0
| | | | | | | | btver1 is a SSSE3/SSE4a only CPU - it doesn't have AVX and doesn't support XSAVE. Differential Revision: http://reviews.llvm.org/D17682 llvm-svn: 262772
* Add null check to diagnostic path for lambda captures.Richard Trieu2016-03-052-2/+15
| | | | | | | | Previously, the failed capture of a variable in nested lambdas may crash when the lambda pointer is null. Only give the note if a location can be retreived from the lambda pointer. llvm-svn: 262765
* Test commit: Fix run-on sentence in commentMike Spertus2016-03-051-2/+2
| | | | llvm-svn: 262764
* [analyzer] Nullability: add option to not report on calls to system headers.Devin Coughlin2016-03-054-52/+116
| | | | | | | | | | | | | | Add an -analyzer-config 'nullability:NoDiagnoseCallsToSystemHeaders' option to the nullability checker. When enabled, this option causes the analyzer to not report about passing null/nullable values to functions and methods declared in system headers. This option is motivated by the observation that large projects may have many nullability warnings. These projects may find warnings about nullability annotations that they have explicitly added themselves higher priority to fix than warnings on calls to system libraries. llvm-svn: 262763
* Update diagnostics now that hexadecimal literals look likely to be part of ↵Richard Smith2016-03-046-20/+50
| | | | | | C++17. llvm-svn: 262753
* PR5941 - improve diagnostic for * vs & confusion when choosing overload ↵David Blaikie2016-03-043-10/+26
| | | | | | | | | | candidate with a parameter of incomplete (ref or pointer) type Reviewers: dblaikie Differential Revision: http://reviews.llvm.org/D16949 llvm-svn: 262752
* clang-cl: Enable PCH flags by default.Nico Weber2016-03-046-55/+36
| | | | | | | | | | | | | Now that pragma comment and pragma detect_mismatch are implemented, this might just work. Some pragmas aren't serialized yet (from the top of my head: code_seg, bss_seg, data_seg, const_seg, init_seg, section, vtordisp), but these are as far as I know usually pushed and popped within the header and usually don't leak out. If it turns out the current PCH support isn't good enough yet, we can turn it off again. llvm-svn: 262749
* Implement P0036R0: remove support for empty unary folds of +, *, |, &.Richard Smith2016-03-043-23/+9
| | | | llvm-svn: 262747
* Revert r262741 - [OPENMP] Codegen for distribute directiveSamuel Antao2016-03-048-613/+113
| | | | | | Was causing a failure in one of the buildbot slaves. llvm-svn: 262744
* Update cxx_status with likely new features from Jacksonville WG21 meeting.Richard Smith2016-03-041-1/+56
| | | | llvm-svn: 262743
* Switch krait to use -mcpu=cortex-a15 for assembler tool invocations.Stephen Hines2016-03-041-2/+2
| | | | | | | | | | | | | | | | | Summary: Using -no-integrated-as causes -mcpu=krait to be transformed into -march=armv7-a today. This precludes the assembler from using instructions like sdiv, which are present for krait. Cortex-a15 is the closest subset of functionality for krait, so we should switch the assembler to use that instead. Reviewers: cfe-commits, apazos, weimingz Subscribers: aemerson Differential Revision: http://reviews.llvm.org/D17874 llvm-svn: 262742
* [OPENMP] Codegen for distribute directiveCarlo Bertolli2016-03-048-113/+613
| | | | | | | | This patch provide basic implementation of codegen for teams directive, excluding all clauses except dist_schedule. It also fixes parts of AST reader/writer to enable correct pre-compiled header handling. http://reviews.llvm.org/D17170 llvm-svn: 262741
* Make TargetInfo store an actual DataLayout instead of a string.James Y Knight2016-03-0415-222/+189
| | | | | | | | | | | | | | Use it to calculate UserLabelPrefix, instead of specifying it (often incorrectly). Note that the *actual* user label prefix has always come from the DataLayout, and is handled within LLVM. The main thing clang's TargetInfo::UserLabelPrefix did was to set the #define value. Having these be different from each-other is just silly. Differential Revision: http://reviews.llvm.org/D17183 llvm-svn: 262737
* [analyzer] Add diagnostic in ObjCDeallocChecker for use of -dealloc instead ↵Devin Coughlin2016-03-042-32/+113
| | | | | | | | | | | | | | | | | | of -release. In dealloc methods, the analyzer now warns when -dealloc is called directly on a synthesized retain/copy ivar instead of -release. This is intended to find mistakes of the form: - (void)dealloc { [_ivar dealloc]; // Mistaken call to -dealloc instead of -release [super dealloc]; } rdar://problem/16227989 llvm-svn: 262729
* Move class into anonymous namespace. NFC.Benjamin Kramer2016-03-041-0/+2
| | | | llvm-svn: 262716
* [SemaExprCXX] Avoid calling isInSystemHeader for invalid source locationsPavel Labath2016-03-041-1/+2
| | | | | | | | | | | | | | | | | | | Summary: While diagnosing a CXXNewExpr warning, we were calling isInSystemHeader(), which expect to be called with a valid source location. This causes an assertion failure if the location is unknown. A quick grep shows it's not without precedent to guard calls to the function with a "Loc.isValid()". This fixes a test failure in LLDB, which always creates object with invalid source locations as it does not (always) have access to the source. Reviewers: nlewycky Subscribers: lldb-commits, cfe-commits Differential Revision: http://reviews.llvm.org/D17847 llvm-svn: 262700
* [OPENMP 4.0] Codegen for 'declare reduction' construct.Alexey Bataev2016-03-0417-31/+480
| | | | | | | Emit function for 'combiner' part of 'declare reduction' construct and 'initialilzer' part, if any. llvm-svn: 262699
* [Coverage] Fix the start/end locations of switch statementsVedant Kumar2016-03-043-15/+25
| | | | | | | | | | | | While pushing switch statements onto the region stack we neglected to specify their start/end locations. This results in a crash (PR26825) if we end up in nested macro expansions without enough information to handle the relevant file exits. I added a test in switchmacro.c and fixed up a bunch of incorrect CHECK lines that specify strange end locations for switches. llvm-svn: 262697
* [OPENMP] Simplify handling of clauses with postupdates, NFC.Alexey Bataev2016-03-046-22/+15
| | | | | | | Clauses with post-update expressions always have pre-init statement. So OMPClauseWithPreInit now is the base for OMPClauseWithPostUpdate. llvm-svn: 262696
* [index] Distinguish USRs of anonymous enums by using their first enumerator.Argyrios Kyrtzidis2016-03-044-12/+34
| | | | | | rdar://24609949. llvm-svn: 262695
* [index] Include parameter types in the USRs for C functions marked with ↵Argyrios Kyrtzidis2016-03-042-1/+7
| | | | | | 'overloadable' attribute. llvm-svn: 262694
* [index] In ObjC++ handle objc type parameters for function USRs.Argyrios Kyrtzidis2016-03-042-0/+28
| | | | llvm-svn: 262693
* [OpenCL] Refine pipe builtin supportXiuli Pan2016-03-044-71/+79
| | | | | | | | | | | | | | Summary: Refine the type builtin support as the request with http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160201/148637.html Reviewers: pekka.jaaskelainen, Anastasia, yaxunl Subscribers: rsmith, cfe-commits Differential Revision: http://reviews.llvm.org/D16876 llvm-svn: 262692
* [MIPS] initFeatureMap() to handle empty string argumentBhushan D. Attarde2016-03-041-0/+2
| | | | | | | | | | | SUMMARY: This patch sets CPU string to its default value when it is not supplied by caller. Reviewers: vkalintiris, dsanders Subscribers: mohit.bhakkad, sagar, jaydeep, cfe-commits Differential Revision: http://reviews.llvm.org/D16139 llvm-svn: 262691
* [X86] Pass __m64 types via SSE registers for GCC compatibilityDavid Majnemer2016-03-043-34/+76
| | | | | | | | | | For compatibility with GCC, classify __m64 as SSE. However, clang is a platform compiler for certain targets; retain our old behavior on those targets: classify __m64 as integer. This fixes PR26832. llvm-svn: 262688
* [VFS] Switch from close to SafelyCloseFileDescriptorDavid Majnemer2016-03-041-13/+3
| | | | | | | | The SafelyCloseFileDescriptor machinery does the right thing in the face of signals while close will do something platform specific which results in the FD potentially getting leaked. llvm-svn: 262687
* [index] Ignore ObjCTypeParamDecls during indexing.Argyrios Kyrtzidis2016-03-042-0/+8
| | | | llvm-svn: 262686
* [OPENMP] firstprivate and private clauses of teams, host codegenerationCarlo Bertolli2016-03-033-0/+604
| | | | | | | | Add code generation support for firstprivate and private clauses of teams on the host. Add extensive regression tests including lambda functions and vla testing. http://reviews.llvm.org/D17582 llvm-svn: 262663
* [analyzer] ObjCDeallocChecker: Only check for nil-out when type is retainable.Devin Coughlin2016-03-032-1/+24
| | | | | | This fixes a crash when setting a property of struct type in -dealloc. llvm-svn: 262659
* Add code generation for teams directive inside target regionCarlo Bertolli2016-03-035-9/+268
| | | | llvm-svn: 262652
* [OpenCL] Improve diagnostics of address spaces for variables in functionAnastasia Stulova2016-03-035-28/+27
| | | | | | | | | - Prevent local variables to be declared in global AS - Diagnose AS of local variables with an extern storage class as if they would be in a program scope Review: http://reviews.llvm.org/D17345 llvm-svn: 262641
* clang-format: Use stable_sort when sorting #includes.Daniel Jasper2016-03-032-8/+23
| | | | | | | Otherwise, clang-format can output useless replacements in the presence of identical #includes llvm-svn: 262630
OpenPOWER on IntegriCloud