summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix handling of -fno-function-sections, -fno-data-sections in clang driver.Evgeniy Stepanov2014-02-031-2/+9
| | | | llvm-svn: 200685
* Fix typo 'uusal'.Richard Smith2014-02-031-2/+2
| | | | llvm-svn: 200681
* Implement DR329. We already did the right thing here in C++98 mode, but r104014Richard Smith2014-02-031-47/+31
| | | | | | (which implemented the DR) was disabled in C++11. llvm-svn: 200673
* Handle O32/N64 ABIs for NetBSD/MIPS64. From Matt Thomas.Joerg Sonnenberger2014-02-022-0/+23
| | | | llvm-svn: 200668
* Replace hasMipsN32ABIArg with hasMipsABIArg in preparation of o32/n64Joerg Sonnenberger2014-02-021-6/+6
| | | | | | support. llvm-svn: 200667
* Use a switch for the emulation handling.Joerg Sonnenberger2014-02-021-8/+10
| | | | llvm-svn: 200666
* Handle compat support for EABI/old APCS compatibility on NetBSD/ARM.Joerg Sonnenberger2014-02-022-1/+37
| | | | llvm-svn: 200665
* Replace hasMipsN32ABIArg by hasMipsABIArg to make it easier to addJoerg Sonnenberger2014-02-021-8/+8
| | | | | | support for o32 and n64. llvm-svn: 200662
* Pass down -mcpu for external assembler in thumb mode, too. From Matt Thomas.Joerg Sonnenberger2014-02-021-1/+2
| | | | llvm-svn: 200661
* Minor formatting improvement.Joerg Sonnenberger2014-02-021-2/+2
| | | | llvm-svn: 200659
* NetBSD uses signed wchar_t on AArch64. It also wants __LITTLE_ENDIAN__ /Joerg Sonnenberger2014-02-021-0/+11
| | | | | | __BIG_ENDIAN__ as on other architectures. llvm-svn: 200655
* clang-format: Let chromium style inherit google style's javascript tweaks.Nico Weber2014-02-021-30/+15
| | | | llvm-svn: 200652
* clang/lib/ASTMatchers/Dynamic/CMakeLists.txt: redundantNAKAMURA Takumi2014-02-021-4/+0
| | | | llvm-svn: 200642
* Sema: Reject templates in all extern "C" contexts.Benjamin Kramer2014-02-021-5/+6
| | | | | | | Otherwise we'd accept them if the LinkageDecl was not the direct parent DeclContext. PR17968. llvm-svn: 200641
* Report a correct end location for nameless parameters.Benjamin Kramer2014-02-021-1/+3
| | | | | | | | | | | | | | | Ranges before: void test(void (*)(int), int, float); ~~~~~~~~~~~~~ ~~~~ ~~~~~~ Ranges after: void test(void (*)(int), int, float); ~~~~~~~~~~~~~ ~~~ ~~~~~ This does not change the actual location of the ParmVarDecl, it still points to the location where the name would be. PR17970. llvm-svn: 200640
* Revert r200555, r200545.Evgeniy Stepanov2014-02-021-9/+0
| | | | | | | These changes make it impossible to use ARM EHABI for stack unwinding without enabling exceptions and break AddressSanitizer on ARM. llvm-svn: 200627
* [Sema] Follow-up on r200521 for the -Wnon-literal-null-conversion warning ↵Argyrios Kyrtzidis2014-02-022-15/+4
| | | | | | and revert its behavior for C++. llvm-svn: 200622
* Fix an assertion failure when building for the iOS simulator. rdar://15959009Bob Wilson2014-02-011-1/+1
| | | | | | | | | | | | | | When building for i386 or x86_64 with IPHONEOS_DEPLOYMENT_TARGET set in the environment, the toolchain correctly recognizes that the target platform is the iOS simulator. The code in Darwin::addMinVersionArgs was not updated for svn 197148, where isTargetIPhoneOS() was widely replaced by isTargetIOSBased(). This is kind of a strange case, though, because we probably ought to be passing -ios_simulator_version_min to the linker, but according to the FIXME in the code, we intentionally avoid that unless the -mios-simulator-version-min option was used. I don't know whether it is safe to change that yet, so for now, I am just fixing the assertion failure. llvm-svn: 200618
* Remove local type use in template.Reid Kleckner2014-02-011-1/+1
| | | | llvm-svn: 200598
* [ms-cxxabi] Use inalloca on win32 when passing non-trivial C++ objectsReid Kleckner2014-02-019-81/+503
| | | | | | | | | | | | | | | | | | | When a non-trivial parameter is present, clang now gathers up all the parameters that lack inreg and puts them into a packed struct. MSVC always aligns each parameter to 4 bytes and no more, so this is a pretty simple struct to lay out. On win64, non-trivial records are passed indirectly. Prior to this change, clang was incorrectly using byval on win64. I'm able to self-host a working clang with this change and additional LLVM patches. Reviewers: rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D2636 llvm-svn: 200597
* [ms-cxxabi] Use x86_cdeclmethodcc for __cdecl methods on win32Reid Kleckner2014-01-319-93/+96
| | | | | | | | | | | | | | | | | | | This fixes PR15768, where the sret parameter and the 'this' parameter are in the wrong order. Instance methods compiled by MSVC never return records in registers, they always return indirectly through an sret pointer. That sret pointer always comes after the 'this' parameter, for both __cdecl and __thiscall methods. Unfortunately, the same is true for other calling conventions, so we'll have to change the overall approach here relatively soon. Reviewers: rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D2664 llvm-svn: 200587
* [ms-cxxabi] Raise aggregate memptr alignment to 8 for x86_32Reid Kleckner2014-01-311-2/+14
| | | | | | | | | | | | | | | | With this change, we give different results for __alignof than MSVC, but our record layout is compatible. Some data member pointers also now have a size that is not a multiple of their alignment. Fixes PR18618. Reviewers: majnemer Differential Revision: http://llvm-reviews.chandlerc.com/D2669 llvm-svn: 200585
* Track the currently-being-built submodule inside the preprocessor (rather thanRichard Smith2014-01-313-23/+23
| | | | | | | just storing a flag indicating if there was one), and include it in the 'end of module' annotation. No functionality change. llvm-svn: 200573
* MS Intrin.h: implement __cpuidex and simplify __cpuidHans Wennborg2014-01-311-7/+7
| | | | | | | The two identical implementations of __cpuid for X86 / X86_64 were leftovers from my first iteration on the patch that implemented it. llvm-svn: 200568
* Last option on -fexception for arm-disable-ehabiRenato Golin2014-01-311-3/+6
| | | | | | | Previous commit would have a following flag overriding the behaviour and not taken care of. llvm-svn: 200555
* Connect -fno-exceptions to -arm-disable-ehabiRenato Golin2014-01-311-0/+6
| | | | llvm-svn: 200545
* clang-format: (JavaScript) Don't crash on empty string literals.Daniel Jasper2014-01-311-4/+8
| | | | | | | Before, this would lead to a crash: f('', true); llvm-svn: 200540
* ARM RT libs with generic nameRenato Golin2014-01-311-3/+12
| | | | llvm-svn: 200538
* [CMake] Prune stray entries in add_dependencies(). target_link_libraries() ↵NAKAMURA Takumi2014-01-312-3/+0
| | | | | | implies it. llvm-svn: 200531
* ARM & AArch64: unify the rest of the completely shared NEON implementationsTim Northover2014-01-311-22/+16
| | | | | | | | This should be the last routine patch: AArch64 does still delegate to EmitARMBuiltinExpr, but the remaining instances have complications of one sort or another so some more cunning thought will be needed. llvm-svn: 200528
* ARM & AArch64: another block of miscellaneous NEON sharing.Tim Northover2014-01-311-119/+83
| | | | llvm-svn: 200527
* ARM & AArch64: move shared vld/vst intrinsics to common implementation.Tim Northover2014-01-312-176/+147
| | | | llvm-svn: 200526
* ARM & AArch64: more instructions into common blockTim Northover2014-01-311-73/+52
| | | | llvm-svn: 200525
* ARM & AArch64: merge another NEON block completely.Tim Northover2014-01-311-236/+154
| | | | llvm-svn: 200524
* [Sema] For -Wnon-literal-null-conversion warning, look through integer ↵Argyrios Kyrtzidis2014-01-311-1/+15
| | | | | | | | | | casts, which are used by some projects in their null macro. rdar://15925483 llvm-svn: 200521
* [OPENMP] Bug fixes in threadprivate declaration and data sharing attributes ↵Alexey Bataev2014-01-311-34/+53
| | | | | | processing. (http://llvm-reviews.chandlerc.com/D2451) llvm-svn: 200513
* Make x86 Android default target CPUs compatible with GCC ↵Alexey Bataev2014-01-311-3/+7
| | | | | | (http://llvm-reviews.chandlerc.com/D2655) llvm-svn: 200510
* Driver: Don't use DOS style paths on UNIXDavid Majnemer2014-01-311-1/+1
| | | | | | | We'd add, as a fallback, DOS style paths when using the driver using a win32 triple. On a UNIX-like platform, this isn't particularly helpful. llvm-svn: 200507
* Fix autolinking when modules are imported in pch filesBen Langmuir2014-01-314-16/+17
| | | | | | | | | | | | Add the ImportDecl to the set of interesting delcarations that are deserialized eagerly when an AST file is loaded (rather than lazily like most decls). This is required to get auto linking to work when there is no explicit import in the main file. Also resolve a FIXME to rename 'ExternalDefinitions', since that is only one of the things that need eager deserialization. The new name is 'EagerlyDeserializedDecls'. The corresponding AST bitcode is also renamed. llvm-svn: 200505
* Introduce Parser::completeExpression.Peter Collingbourne2014-01-301-33/+141
| | | | | | | | | This function returns a list of completions for a given expression and completion position. Differential Revision: http://llvm-reviews.chandlerc.com/D2261 llvm-svn: 200497
* PR14995: Allow a dependent type as the second parameter of operator++ andRichard Smith2014-01-301-4/+3
| | | | | | | operator--, since it might instantiate as 'int' (or, if it's a pack, it might instantiate as an empty pack). llvm-svn: 200496
* Don't produce a 'returning reference to local' warning if a lambda returns aRichard Smith2014-01-301-0/+8
| | | | | | | reference (or pointer) to a variable from the closure object or from the surrounding function scope. llvm-svn: 200494
* Revert "Fix assertion failures on annot_* tokens in clang -E"Ben Langmuir2014-01-302-10/+8
| | | | | | | This is causing a failure in the msan buildbot that I am having trouble reproducing. Reverting until I can figure out what went wrong. llvm-svn: 200492
* Fix assertion failures on annot_* tokens in clang -EBen Langmuir2014-01-302-8/+10
| | | | | | | In particular, #pragma clang __debug, and #include implicitly changed into @import were causing assertion failures. llvm-svn: 200475
* ARM & AArch64: extend shared NEON implementation to first block.Tim Northover2014-01-302-88/+73
| | | | | | | This extends the refactoring to the whole of the first block of trivial correspondences (as a fairly arbitrary boundary). llvm-svn: 200472
* ARM & AArch64: fully share NEON implementation of permutation intrinsicsTim Northover2014-01-302-71/+83
| | | | | | | As a starting point, this moves the CodeGen for NEON permutation instructions (vtrn, vzip, vuzp) into a new shared function. llvm-svn: 200471
* ARM & AArch64: share the BI__builtin_neon enum defs.Tim Northover2014-01-302-1102/+1116
| | | | llvm-svn: 200470
* clang-format: Support ObjC's NS_ENUMs.Daniel Jasper2014-01-301-1/+10
| | | | | | | | | | | | | | | | | | | | | | | Before: typedef NS_ENUM(NSInteger, MyType) { /// Information about someDecentlyLongValue. someDecentlyLongValue, /// Information about anotherDecentlyLongValue. anotherDecentlyLongValue, /// Information about aThirdDecentlyLongValue. aThirdDecentlyLongValue}; After: typedef NS_ENUM(NSInteger, MyType) { /// Information about someDecentlyLongValue. someDecentlyLongValue, /// Information about anotherDecentlyLongValue. anotherDecentlyLongValue, /// Information about aThirdDecentlyLongValue. aThirdDecentlyLongValue }; llvm-svn: 200469
* SPARCv9 supports atomic operations up to 64 bits.Jakob Stoklund Olesen2014-01-301-0/+1
| | | | | | Patch by Roman Divacky! llvm-svn: 200452
* Diagnose typedef names for linkage purposes that would changeJohn McCall2014-01-301-0/+21
| | | | | | | | | | | | | | a previously-computed linkage as an unsupportable error condition. Per discussion on cfe-commits, this appears to be a difficult-to-resolve flaw in our implementation approach; we may pursue this as a language defect, but for now it's better to diagnose it as unsupported than to produce inconsistent results (or assertions). Anything that we can do to limit how often this diagnostic fires, such as the changes in r200380, is probably for the best, though. llvm-svn: 200438
OpenPOWER on IntegriCloud