summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup: remove artificial division between lookup results and const lookupRichard Smith2015-02-2113-40/+33
| | | | | | | results. No-one was ever modifying a lookup result, and it would not be reasonable to do so. llvm-svn: 230123
* Revert r167816 and replace it with a proper fix for the issue: do notRichard Smith2015-02-216-59/+104
| | | | | | | invalidate lookup_iterators and lookup_results for some name within a DeclContext if the lookup results for a *different* name change. llvm-svn: 230121
* Improve diagnostic when failing to synthesize implicit member due to ↵Hans Wennborg2015-02-213-2/+19
| | | | | | | | | | | | | | dllexport (PR22591) This is only a problem in C++03 mode targeting MS ABI (MinGW doesn't export inline methods, and C++11 marks these methods implicitly deleted). Since targeting the MS ABI in pre-C++11 mode is a rare configuration, this will probably not get fixed, but we can at least have a better error message. llvm-svn: 230115
* Fix typo.Larisse Voufo2015-02-211-1/+1
| | | | llvm-svn: 230114
* Move -fdefine-sized-deallocation and -fno-sized-deallocation options from ↵Larisse Voufo2015-02-214-19/+11
| | | | | | driver into CC1 for now. llvm-svn: 230112
* [Objective-C]. Provide a new formatting kind, "os_trace" whichFariborz Jahanian2015-02-214-2/+59
| | | | | | | can take a "const char*" format but supports standard printf and CF/NS types . rdar://19904147 llvm-svn: 230109
* Revert "Wrap clang module files in a Mach-O, ELF, or COFF container."Adrian Prantl2015-02-2133-400/+66
| | | | | | | | This reverts commit 230099. The Linux configure+make build variant still needs some work. llvm-svn: 230103
* configure+make: Rearange clangCodeGen to come before clangAST.Adrian Prantl2015-02-211-2/+2
| | | | | | Follow-up to r230089. llvm-svn: 230099
* configure+make: Add ipo to the dependencies of libclang.Adrian Prantl2015-02-211-1/+1
| | | | | | Follow-up to r230089. llvm-svn: 230096
* [Mips] Support mips32r3, mips32r5, mips64r3, mips64r5 MIPS ISA namesSimon Atanasyan2015-02-205-2/+82
| | | | | | | | | The patch teaches the clang's driver to understand new MIPS ISA names, pass appropriate options to the assembler, defines corresponding macros etc http://reviews.llvm.org/D7737 llvm-svn: 230092
* Wrap clang module files in a Mach-O, ELF, or COFF container.Adrian Prantl2015-02-2033-65/+399
| | | | | | | | | | | | | | This is a necessary prerequisite for debugging with modules. The .pcm files become containers that hold the serialized AST which allows us to store debug information in the module file that can be shared by all object files that were built importing the module. rdar://problem/19104245 This reapplies r230044 with a fixed configure+make build and updated dependencies. Take 2. llvm-svn: 230089
* Revert "Wrap clang module files in a Mach-O, ELF, or COFF container."Adrian Prantl2015-02-2032-398/+64
| | | | | | | | This reverts commit r230067. Investigating another batch of problems found by the bots. llvm-svn: 230073
* Wrap clang module files in a Mach-O, ELF, or COFF container.Adrian Prantl2015-02-2032-64/+398
| | | | | | | | | | | | | | This is a necessary prerequisite for debugging with modules. The .pcm files become containers that hold the serialized AST which allows us to store debug information in the module file that can be shared by all object files that were built importing the module. rdar://problem/19104245 This reapplies r230044 with a fixed configure+make build and updated dependencies. llvm-svn: 230067
* Don't try to rebuild modules on umbrella header mismatchBen Langmuir2015-02-204-4/+13
| | | | | | | | | | | | | | | There are two issues here: 1) It's too late to rebuild at this point, because we won't go through removeModules and when we try to reload the new .pcm we'll get the old one instead. We might be able to call removeModules after an OutOfDate here, but I'm not yet confident that it is always safe to do so. 2) In practice, this check fails spuriously when the umbrella header appears to change because of a VFS change that means it maps to a different copy of the same file. Because of this, we just skip the check for now. llvm-svn: 230064
* Fix merging of << at end of input.Jacques Pienaar2015-02-202-20/+14
| | | | | | Commit of review http://reviews.llvm.org/D7766 llvm-svn: 230061
* Implement Control Flow Integrity for virtual calls.Peter Collingbourne2015-02-2020-11/+377
| | | | | | | | | | | | | | | This patch introduces the -fsanitize=cfi-vptr flag, which enables a control flow integrity scheme that checks that virtual calls take place using a vptr of the correct dynamic type. More details in the new docs/ControlFlowIntegrity.rst file. It also introduces the -fsanitize=cfi flag, which is currently a synonym for -fsanitize=cfi-vptr, but will eventually cover all CFI checks implemented in Clang. Differential Revision: http://reviews.llvm.org/D7424 llvm-svn: 230055
* Revert "Wrap clang module files in a Mach-O, ELF, or COFF container."Adrian Prantl2015-02-2020-363/+41
| | | | | | | | | This reverts commit r230044 while dealing with buildbot breakage. Conflicts: test/Modules/module_container.m llvm-svn: 230052
* Require a target for this testacse.Adrian Prantl2015-02-201-1/+1
| | | | llvm-svn: 230048
* Wrap clang module files in a Mach-O, ELF, or COFF container.Adrian Prantl2015-02-2020-41/+363
| | | | | | | | | | | This is a necessary prerequisite for debugging with modules. The .pcm files become containers that hold the serialized AST which allows us to store debug information in the module file that can be shared by all object files that were built importing the module. rdar://problem/19104245 llvm-svn: 230044
* Add -funique-section-names and -fno-unique-section-names options.Rafael Espindola2015-02-207-0/+42
| | | | | | | | | For now -funique-section-names is the default, so no change in default behavior. The total .o size in a build of llvm and clang goes from 241687775 to 230649031 bytes if -fno-unique-section-names is used. llvm-svn: 230031
* clang-format: [js] Support template strings.Daniel Jasper2015-02-203-1/+107
| | | | | | | | | Merge template strings (marked by backticks ``). Do not format any contents of template strings. Patch by Martin Probst. Thank you. llvm-svn: 230011
* Add -fno-implicit-modules.Manuel Klimek2015-02-2010-0/+70
| | | | | | | If this flag is set, we error out when a module build is required. This is useful in environments where all required modules are passed via -fmodule-file. llvm-svn: 230006
* PR22435: Correctly implement tiebreaker for reference ordering in functionRichard Smith2015-02-202-159/+69
| | | | | | | template partial ordering rules. This rule applies per pair of types being compared, not per pair of function templates being compared. llvm-svn: 229965
* Add -fno-sized-deallocation option for completeness of fix in r229241 in ↵Larisse Voufo2015-02-206-4/+11
| | | | | | documentation in r229818. llvm-svn: 229950
* [analyzer] RetainCountChecker: don't try to track ivars known to be nil.Jordan Rose2015-02-192-2/+19
| | | | | | | | | | | We expect in general that any nil value has no retain count information associated with it; violating this results in unexpected state unification /later/ when we decide to throw the information away. Unexpectedly caching out can lead to an assertion failure or crash. rdar://problem/19862648 llvm-svn: 229934
* Don't dllexport inline methods when targeting MinGW.Hans Wennborg2015-02-194-23/+51
| | | | | | | | | MinGW neither imports nor exports such methods. The import bit was committed earlier, in r221154, and this takes care of the export part. This also partially fixes PR22591. llvm-svn: 229922
* Add support for analyzing FreeBSD kernel printf extensions.Dimitry Andric2015-02-198-9/+154
| | | | | | | | | | | | This adds a new __freebsd_kprintf__ format string type, which enables checking when used in __attribute__((format(...))) attributes. It can check the FreeBSD kernel specific %b, %D, %r and %y specifiers, using existing diagnostic messages. Also adds test cases for all these specifiers. Differential Revision: http://reviews.llvm.org/D7154 llvm-svn: 229921
* [Objective-C Sema]. Don't warn about use of Fariborz Jahanian2015-02-192-2/+27
| | | | | | | property accessors in @selector not implemented because they will be auto-synthesized. rdar://16607480 llvm-svn: 229919
* Itanium ABI: Pack expansions change the arity of expressions to unknownDavid Majnemer2015-02-192-3/+17
| | | | llvm-svn: 229918
* Avoid using a COMDAT for sized delete on MachOReid Kleckner2015-02-192-7/+13
| | | | llvm-svn: 229915
* Put the implicit weak sized deallocation funciton in C++14 in a comdatReid Kleckner2015-02-193-4/+6
| | | | | | Fixes PR22635. llvm-svn: 229913
* Revert "Mangle the IsSystem bit into the .pcm file name"Ben Langmuir2015-02-197-34/+5
| | | | | | | | While I investigate some possible problems with this patch. This reverts commit r228966 llvm-svn: 229910
* [PCH/Modules] Check that the specific module cache path the PCH was built ↵Argyrios Kyrtzidis2015-02-1914-21/+100
| | | | | | | | | | | | with, is the same as the one in the current compiler invocation. If they differ reject the PCH. This protects against the badness occurring from getting modules loaded from different module caches (see crashes). rdar://19889860 llvm-svn: 229909
* CodeGen: Weak reference temporaries belong in a COMDATDavid Majnemer2015-02-192-4/+6
| | | | llvm-svn: 229902
* CodeGen: static constexpr data members should have a linkonce_odr initDavid Majnemer2015-02-197-56/+74
| | | | | | | | | Classes can be defined in multiple translation units. This means that the static constexpr data members should have identical initializers in all translation units. Implement this by giving the reference temporary linkonce_odr linkage. llvm-svn: 229900
* Make the _mm256_insert_epi64 definition more consistentFilipe Cabecinhas2015-02-191-1/+1
| | | | | | | | | Use long long for the epi64 argument, like the other intrinsics. NFC since this is only defined in 64-bit mode, not in 32-bit. Fix suggested by H. J. Lu! llvm-svn: 229886
* clang-format: [js] Support ES6 module exports.Daniel Jasper2015-02-194-8/+46
| | | | | | Patch by Martin Probst, thank you! llvm-svn: 229865
* clang-format: [js] Support ES6 module imports.Daniel Jasper2015-02-195-8/+57
| | | | | | Patch by Martin Probst. llvm-svn: 229863
* clang-format: [js] Do not fall through for JS structural elements.Daniel Jasper2015-02-192-1/+4
| | | | | | Patch by Martin Probst. Thank you. llvm-svn: 229862
* FIX PR 18432, default args, friends & late-parsed members.Nathan Sidwell2015-02-194-5/+40
| | | | | | | | | | | | Sema::MergeCXXFunctionDecl: propagate hasUnparsedDefaultArg to new decl. Parser::HandleMemberFunctionDeclDelays: check hasUnparsedDefaultArg flag. Parser::ParseLexedMethodDeclaration: handle inherited unparsed default arg case. llvm-svn: 229852
* [analyzer] Different handling of alloca().Anton Yartsev2015-02-195-41/+103
| | | | | | | | | | + separate bug report for "Free alloca()" error to be able to customize checkers responsible for this error. + Muted "Free alloca()" error for NewDelete checker that is not responsible for c-allocated memory, turned on for unix.MismatchedDeallocator checker. + RefState for alloca() - to be able to detect usage of zero-allocated memory by upcoming ZeroAllocDereference checker. + AF_Alloca family to handle alloca() consistently - keep proper family in RefState, handle 'alloca' by getCheckIfTracked() facility, etc. + extra tests. llvm-svn: 229850
* Spelling correction.Yaron Keren2015-02-191-1/+1
| | | | llvm-svn: 229839
* Make -fmodules-decluse and -fmodules-strict-decluse compatible options.Daniel Jasper2015-02-192-2/+38
| | | | | | They don't actually influence the result of the module compilation. llvm-svn: 229834
* Mark DR1940 as implementedDavid Majnemer2015-02-192-1/+10
| | | | llvm-svn: 229829
* Mark DR1947 as implementedDavid Majnemer2015-02-192-1/+9
| | | | llvm-svn: 229828
* Mark DR1948 as implementedDavid Majnemer2015-02-193-4/+10
| | | | llvm-svn: 229827
* Mark DR1994 as a duplicate of DR529David Majnemer2015-02-192-1/+3
| | | | llvm-svn: 229826
* Mark DR1968 as implementedDavid Majnemer2015-02-192-1/+9
| | | | llvm-svn: 229825
* CXXNameMangler::mangleUnresolvedPrefix(): Prune an obsolete \param, ↵NAKAMURA Takumi2015-02-191-2/+0
| | | | | | according to r229809. [-Wdocumentation] llvm-svn: 229823
* Itanium ABI: Don't pass nullptr to a bool argumentDavid Majnemer2015-02-191-1/+1
| | | | llvm-svn: 229822
OpenPOWER on IntegriCloud