summaryrefslogtreecommitdiffstats
path: root/clang/test
Commit message (Collapse)AuthorAgeFilesLines
* Uniformed parsing of GNU attributes at line beginnning and added GNU ↵Abramo Bagnara2014-08-162-0/+28
| | | | | | attributes parsing FIXMEs. llvm-svn: 215814
* Make sure that vtables referenced from delay-parsed templates get referenced.Nico Weber2014-08-151-0/+12
| | | | | | | | | | | | | | This fixes PR20671, see the bug for details. In short, ActOnTranslationUnit() calls DefineUsedVTables() and only then PerformPendingInstantiations(). But PerformPendingInstantiations() is what does delayed template parsing, so vtables only references from late-parsed templates weren't marked used. As a fix, move the SavePendingInstantiationsAndVTableUsesRAII in PerformPendingInstantiations() up above the delayed template parsing code. That way, vtables referenced from templates end up in the RAII object, and the call to DefineUsedVTables() in PerformPendingInstantiations() marks them used. llvm-svn: 215786
* DebugInfo: While loop backedge should be attribute to the start of the while ↵David Blaikie2014-08-151-14/+25
| | | | | | | | | | | | | statement. A little test case simplification - this could be simplified further, though there are certainly interesting connections to the if/else construct so I'm hesitant to remove that entirely though it does appear somewhat unrelated. (similar fix to r215766, related to PR19864) llvm-svn: 215768
* DebugInfo: Fix PR19864 better - attribute the jump at the end of a range-for ↵David Blaikie2014-08-151-3/+3
| | | | | | | | | | | | | | | loop, to the start of the loop. This avoids debuggers stepping to strange places (like the last statement in the loop body, or the first statement in the if). This is not the whole answer, though - similar bugs no doubt exist in other loops (patches to follow) and attributing exception handling code to the correct line is also tricky (based on the previous fix to PR19864, exception handling is still erroneously attributed to the 'if' line). llvm-svn: 215766
* MS ABI: Virtual member pointer thunks are not unnamed_addrReid Kleckner2014-08-151-12/+14
| | | | | | They can be compared for identity. llvm-svn: 215745
* R600: Add ldexp intrinsicMatt Arsenault2014-08-151-0/+14
| | | | llvm-svn: 215738
* Objective-C. Do not warn if user is using property-dox syntax to name aFariborz Jahanian2014-08-151-1/+1
| | | | | | | user provided setter name (as declared in @property attribute declaration). rdar://18022762 llvm-svn: 215736
* Use a valid arch name in this triple.Rafael Espindola2014-08-151-1/+1
| | | | llvm-svn: 215726
* Limit our MSVC compat hack for nested names from dependent basesReid Kleckner2014-08-142-16/+61
| | | | | | | | | | | | | | | | | | | | Previously, any undeclared unqualified id starting a nested name specifier in a dependent context would have its lookup retried during template instantiation. Now we limit that retry hack to methods of a class with dependent bases. Free function templates in particular are no longer affected by this hack. Also, diagnose this as a Microsoft extension. This has the downside that template authors may see this warning *and* an error during instantiation time about this identifier. Fixing that will probably require formalizing some kind of "delayed" identifier, instead of our ad-hoc solutions of forming dependent AST nodes when lookup fails. Based on a patch by Kim Gräsman! Differential Revision: http://reviews.llvm.org/D4854 llvm-svn: 215683
* Thread Safety Analysis: Move -Wthread-safety-negative out of theDeLesley Hutchins2014-08-141-1/+1
| | | | | | | -Wthread-safety umbrella flag, pending updates to documentation. The flag works, but is likely to be confusing to existing users of -Wthread-safety. llvm-svn: 215679
* Thread safety analysis: add -Wthread-safety-verbose flag, which adds ↵DeLesley Hutchins2014-08-141-0/+86
| | | | | | additional notes that are helpful when compiling statistics on thread safety warnings. llvm-svn: 215677
* [modules] Turn off a broken optimization: we need to pick up implicit specialRichard Smith2014-08-143-0/+55
| | | | | | | members from all redefinitions of a class that have them, in case the special member is defined in one module but only declared in another. llvm-svn: 215675
* Don't Lex past EOF when lexing _PragmaReid Kleckner2014-08-141-0/+2
| | | | | | Fixes PR20662. llvm-svn: 215672
* Thread Safety Analysis: fix to improve handling of references to guardedDeLesley Hutchins2014-08-141-0/+83
| | | | | | data members and range based for loops. llvm-svn: 215671
* Use the big endian emulations for NetBSD/arm in EB mode.Joerg Sonnenberger2014-08-141-0/+35
| | | | llvm-svn: 215670
* [AVX512] Add FMA intrinsicsAdam Nemet2014-08-141-0/+7
| | | | | | Part of <rdar://problem/17688758> llvm-svn: 215666
* Revert "CodeGen: When bitfields fall on natural boundaries, split them up"Justin Bogner2014-08-141-79/+0
| | | | | | | | | | | | | | | It fits better with LLVM's memory model to try to do this in the backend. Specifically, narrowing wide loads in the backends should be relatively straightforward and is generally valuable, whereas widening loads tends to be very constrained. Discussion here: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140811/112581.html This reverts commit r215614. llvm-svn: 215648
* Delete support for AuroraUX.Rafael Espindola2014-08-144-8/+8
| | | | | | auroraux.org is not resolving. llvm-svn: 215644
* Fix a crash when compiling blocks in OpenCL with multiplePekka Jaaskelainen2014-08-141-0/+16
| | | | | | address spaces. llvm-svn: 215629
* Parse: Don't attempt to act on #pragma init_seg when not targeting MSVCDavid Majnemer2014-08-141-1/+7
| | | | | | | | | | It doesn't really make sense to try and do stuff with #pragma init_seg when targeting non-Microsoft platforms; notions like library vs user initializers don't exist for other targets. This fixes PR20639. llvm-svn: 215618
* [modules] Don't assert if the same imported class template specializationRichard Smith2014-08-143-0/+6
| | | | | | | declaration has its definition instantiated in two sibling modules and they use a partial specialization. llvm-svn: 215616
* CodeGen: When bitfields fall on natural boundaries, split them upJustin Bogner2014-08-141-0/+79
| | | | | | | | | | | | | | | | | | | Currently when laying out bitfields that don't need any padding, we represent them as a wide enough int to contain all of the bits. This can be hard on the backend since we'll do things like represent stores to a few bits as loading an i144, masking it with a large constant, and storing it back. This turns up in less pathological cases where we load and mask 64 bit word on a 32 bit platform when we actually only need to access 32 bits. This leads to bad code being generated in most of our 32 bit backends. In practice, there are often natural breaks in bitfields, and it's a fairly simple and effective heuristic to split these fields into legal integer sized chunks when it will be equivalent (ie, it won't force us to add any extra padding). llvm-svn: 215614
* [modules] When we merge together multiple class template specializationRichard Smith2014-08-144-0/+8
| | | | | | | | | | definitions (because some other declaration declares a special member that isn't present in the canonical definition), we need to search *all* of them; we can't just stop when we find the requested name in any of the definitions, because that can fail to find things (and in particular, it can fail to find the member of the canonical declaration and return a bogus ODR failure). llvm-svn: 215612
* Sema: Permit nullptr template args in MSVC compat modeDavid Majnemer2014-08-141-1/+5
| | | | | | This fixes a regression I caused back in r211766. llvm-svn: 215609
* clang/test/Modules/cxx-irgen.cpp: Let it tolerant of x86_thiscallcc.NAKAMURA Takumi2014-08-141-4/+4
| | | | llvm-svn: 215607
* Objective-C. Handle case of multiple class methodsFariborz Jahanian2014-08-131-1/+8
| | | | | | found in global pool as well. rdar://16808765 llvm-svn: 215603
* ARM: Add mappings for ACLE prefetch intrinsicsYi Kong2014-08-132-0/+36
| | | | | | | Implement __pld, __pldx, __pli and __plix builtin intrinsics as specified in ARM ACLE 2.0. llvm-svn: 215599
* clang/test/Index/index-module.m: Tweak expressions to meet dos path on win32.NAKAMURA Takumi2014-08-131-2/+2
| | | | llvm-svn: 215592
* test/CodeGen: Don't rely on a value's number in check linesJustin Bogner2014-08-131-3/+4
| | | | | | | The tests in r215568 hard code a value as %0 in their checks. This isn't correct in asserts builds. llvm-svn: 215585
* [modules] Fix a rejects-valid resulting from emitting an inline functionRichard Smith2014-08-132-0/+28
| | | | | | | | recursively within the emission of another inline function. This ultimately led to us emitting the same inline function definition twice, which we then rejected because we believed we had a mangled name conflict. llvm-svn: 215579
* Objective-C. This patch is to resolve the method used in methodFariborz Jahanian2014-08-132-4/+37
| | | | | | | expression to the best method found in global method pools. This is wip. // rdar://16808765 llvm-svn: 215577
* AArch64: Prefetch intrinsicYi Kong2014-08-132-0/+21
| | | | llvm-svn: 215569
* ARM: Prefetch intrinsicsYi Kong2014-08-132-0/+16
| | | | llvm-svn: 215568
* Work around missing handling of temporaries bound to default arguments.Manuel Klimek2014-08-131-0/+21
| | | | | | | | | | | Yet more problems due to the missing CXXBindTemporaryExpr in the CFG for default arguments. Unfortunately we cannot just switch off inserting temporaries for the corresponding default arguments, as that breaks existing tests (test/SemaCXX/return-noreturn.cpp:245). llvm-svn: 215554
* [Driver] Support -muclibc / -mglibc command line options for a coupleSimon Atanasyan2014-08-1394-0/+336
| | | | | | | | | | | | | of MIPS toolchains. The uCLibc implemented for multiple architectures. A couple of MIPS toolchains contains both uCLibc and glibc implementation so these options allow to select used C library. Initially -muclibc / -mglibc (as well as -mbionic) have been implemented in gcc for various architectures so they are not MIPS specific. llvm-svn: 215552
* For NetBSD, use the same settings for PPC64 as for PPC when it comes toJoerg Sonnenberger2014-08-133-5/+49
| | | | | | | integrated assembler, libc++ and libgcc. Set emulation for ld for both platforms for correct -m32 handling. llvm-svn: 215551
* Default getFile() to use the last accessed name in the FileEntry.Manuel Klimek2014-08-133-0/+13
| | | | | | | | | | | | With modules we start accessing headers for the first time while reading the module map, which often has very different paths from the include scanning logic. Using the name by which the file was accessed gets us one step closer to the right solution, which is using a FileName abstraction that decouples the name by which a file was accessed from the FileEntry. llvm-svn: 215541
* PR20634: add some more cases that can legitimately come after a struct ↵Richard Smith2014-08-133-0/+10
| | | | | | declaration to our list of special cases. llvm-svn: 215520
* [modules] When performing a lookup into a namespace, ensure that any laterRichard Smith2014-08-139-2/+33
| | | | | | | | | | redefinitions of that namespace have already been loaded. When writing out the names in a namespace, if we see a name that is locally declared and had imported declarations merged on top of it, export the local declaration as the lookup result, because it will be the most recent declaration of that entity in the redeclaration chain of an importer of the module. llvm-svn: 215518
* [AVX512] Add intrinsics for FP scalar broadcastsAdam Nemet2014-08-131-0/+14
| | | | | | | | | | Similar approach to the set1 intrinsics is used: implement in terms of vector initializers and then ensure with an LLVM test that a broadcast is generated at the end. Part of <rdar://problem/17688758> llvm-svn: 215486
* [UBSan] Add returns-nonnull sanitizer.Alexey Samsonov2014-08-132-6/+20
| | | | | | | | | | | | | | | | | | | | Summary: This patch adds a runtime check verifying that functions annotated with "returns_nonnull" attribute do in fact return nonnull pointers. It is based on suggestion by Jakub Jelinek: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140623/223693.html. Test Plan: regression test suite Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4849 llvm-svn: 215485
* Objective-C [qoi]. Patch to not do Fix-It for fixingFariborz Jahanian2014-08-121-0/+15
| | | | | | | | | a messaging expression except in the simple case of a unary selector. We cannot reliably provide such a fixit due to numerous reasons where a matching selector could not be found. rdar://15756038 llvm-svn: 215480
* Improve -Wuninitialized to catch const classes being used in their own copyRichard Trieu2014-08-121-2/+22
| | | | | | constructors. llvm-svn: 215471
* MS ABI: Mangle this qualifiers on function typesDavid Majnemer2014-08-121-0/+53
| | | | | | | | | | | C++11 allows this qualifiers to exist on function types when used in template arguments. Previously, I believed it wasn't possible because MSVC rejected declarations like: S<int () const &> s; However, it turns out MSVC properly allows them in using declarations; updated clang to be compatible with this mangling. llvm-svn: 215464
* [analyzer] Check for negative values used as the size of a C variable-length ↵Jordan Rose2014-08-122-13/+86
| | | | | | | | array. Patch by Daniel Fahlgren! llvm-svn: 215456
* Verify all the module map files for a pcm are the same on loadBen Langmuir2014-08-124-0/+32
| | | | | | | | | | We already verified the primary module map file (either the one that defines the top-level module, or the one that allows inferring it if it is an inferred framework module). Now we also verify any other module map files that define submodules, such as when there is a module.private.modulemap file. llvm-svn: 215455
* Add a module cache path to test/Headers/cxx11Ben Langmuir2014-08-121-1/+2
| | | | | | Don't depend on the serialization format remaining the same. llvm-svn: 215454
* Allow @synchronized to contextually convert a C++ object to an ObjC object ↵Jordan Rose2014-08-121-0/+20
| | | | | | | | pointer. Patch by Grant Paul! llvm-svn: 215453
* Objective-C. Fixes an assert where because of capturedFariborz Jahanian2014-08-121-0/+25
| | | | | | | | variable in block is over-aligned with an align attribute causing block metadata size not be multiple of alignment. rdar://17878679 llvm-svn: 215449
* Adding some test cases to test attribute-related source range diagnostics. ↵Aaron Ballman2014-08-121-0/+16
| | | | | | This augments r214722, r214723 and r214507. llvm-svn: 215444
OpenPOWER on IntegriCloud