summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix typo.Rafael Espindola2013-10-191-1/+1
| | | | llvm-svn: 193026
* Simplify FunctionDecl::getBody.Rafael Espindola2013-10-191-9/+5
| | | | llvm-svn: 193025
* When building ubsan, link in ubsan parts first and sanitizer-common second, toNick Lewycky2013-10-192-22/+25
| | | | | | | pick up the common bits ubsan actually needs. Also remove whole-archive when we aren't trying to re-export the symbols. llvm-svn: 193022
* Allow CorrectTypo to replace CXXScopeSpecifiers that refer to classes.Kaelyn Uhrain2013-10-1912-44/+113
| | | | | | | | | | | Now that CorrectTypo knows how to correctly search classes for typo correction candidates, there is no good reason to only replace an existing CXXScopeSpecifier if it refers to a namespace. While the actual enablement was a matter of changing a single comparison, the fallout from enabling the functionality required a lot more code changes (including my two previous commits). llvm-svn: 193020
* Be smarter about deciding to add a leading '::' to aKaelyn Uhrain2013-10-193-30/+57
| | | | | | NestedNameSpecifier that replaces an existing specifier. llvm-svn: 193019
* Merge NamespaceSpecifierSet's AddNamespace and AddRecord as they areKaelyn Uhrain2013-10-191-75/+9
| | | | | | essentially the same. llvm-svn: 193018
* Consumed analysis: fix assert failure.DeLesley Hutchins2013-10-182-8/+63
| | | | llvm-svn: 193010
* clang-cl: diagnose setting asm listing filename with multiple inputsHans Wennborg2013-10-183-2/+15
| | | | llvm-svn: 193006
* Fix crash if a submodule @imports another submodule from the same module. TheRichard Smith2013-10-187-6/+33
| | | | | | | test also adds FIXMEs for a number of places where imports and includes of submodules don't work very well. llvm-svn: 193005
* ObjectiveC. Added support for methods annotated with format_argFariborz Jahanian2013-10-182-4/+45
| | | | | | | attributes when such methods are actually envoked in message expression. // rdar://15242010 llvm-svn: 193003
* Reverted r192992 broke windows and freebsd builds.Ariel J. Bernal2013-10-182-56/+4
| | | | llvm-svn: 192997
* Consumed analysis: assume that non-const reference parameters are initiallyDeLesley Hutchins2013-10-182-24/+45
| | | | | | in the "uknown" state. Patch by chris.wailes@gmail.com. Reviewed by delesley. llvm-svn: 192995
* This patch fixes replacements that are not applied when relative paths areAriel J. Bernal2013-10-182-4/+56
| | | | | | | | | | specified. In particular it makes sure that relative paths for non-virtual files aren't made absolute. Added unittest. llvm-svn: 192992
* Consumed analysis: All the return_typestate parameter to be attached to theDeLesley Hutchins2013-10-182-28/+42
| | | | | | default constructor. Patch by chris.wailes@gmail.com, reviewed by delesley. llvm-svn: 192991
* clang-format: Be more aggressive on incorrect code.Daniel Jasper2013-10-182-10/+7
| | | | | | | | | | | | | | | | Before, clang-format would not adjust leading indents if it found a structural error (e.g. unmatched {}). It seems, however, that clang-format has gotten good enough at parsing the code structure that this hurts in almost all cases. Commonly, while writing code, it is very useful to be able to correclty indent incomplete if statements or for loops. In case this leads to errors that we don't anticipate, we need to find out and fix those. This fixed llvm.org/PR17594. llvm-svn: 192988
* clang-format: Don't force linebreak between return and multiline string.Daniel Jasper2013-10-182-2/+8
| | | | | | | | | | | | | | | This looks ugly and leads to llvm.org/PR17590. Before (with AlwaysBreakBeforeMultilineStrings): return "aaaa" "bbbb"; After: return "aaaa" "bbbb"; llvm-svn: 192984
* Make clang-format slightly more willing to break before trailing annotations.Daniel Jasper2013-10-182-17/+20
| | | | | | | | | | | | | | | | | Specifically, prefer breaking before trailing annotations over breaking before the first parameter. Before: void ffffffffffffffffffffffff( int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) OVERRIDE; After: void ffffffffffffffffffffffff(int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) OVERRIDE; llvm-svn: 192983
* Add another MinGW header include pathHans Wennborg2013-10-181-0/+1
| | | | llvm-svn: 192982
* clang-format: Improve formatting of templated builder-type calls.Daniel Jasper2013-10-182-3/+13
| | | | | | | | | | | | | Before: aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaa().aaaaaaaaaaaaaaaaa().has< bbbbbbbbbbbbbbbbbbbbb>(); After: aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaa() .aaaaaaaaaaaaaaaaaaaaaaaaaa() .has<bbbbbbbbbbbbbbbbbbbbb>(); llvm-svn: 192981
* [AArch64] Add support for NEON scalar extract narrow instructions.Chad Rosier2013-10-184-3/+97
| | | | llvm-svn: 192971
* [Mips] Define __mips_fpr and _MIPS_FPSET macros.Simon Atanasyan2013-10-182-1/+49
| | | | llvm-svn: 192969
* clang-format: Make continuation indent width configurable.Daniel Jasper2013-10-184-12/+41
| | | | | | Patch by Kim Gräsman. Thank you! llvm-svn: 192964
* C++ modules: don't lose track of a 'namespace std' that is imported from a ↵Richard Smith2013-10-185-13/+51
| | | | | | module. llvm-svn: 192951
* Basic ODR checking for C++ modules:Richard Smith2013-10-188-4/+137
| | | | | | | | | | | | | | | If we have multiple definitions of the same entity from different modules, we nominate the first definition which we see as being the canonical definition. If we load a declaration from a different definition and we can't find a corresponding declaration in the canonical definition, issue a diagnostic. This is insufficient to prevent things from going horribly wrong in all cases -- we might be in the middle of emitting IR for a function when we trigger some deserialization and discover that it refers to an incoherent piece of the AST, by which point it's probably too late to bail out -- but we'll at least produce a diagnostic. llvm-svn: 192950
* Check "late parsed" friend functions for redefinitionAlp Toker2013-10-182-1/+7
| | | | | | | | | | | | | | | r177003 applied the late parsed template technique to friend functions but omitted the corresponding check for redefinitions. This patch adds the same check already in use for templates to the new code path in order to diagnose and reject invalid redefinitions that were being silently accepted. Fixes PR17324. Reviewed by Richard Smith. llvm-svn: 192948
* Fix missed exception spec checks and crashesAlp Toker2013-10-184-24/+61
| | | | | | | | | | | | | | | | | | | Delayed exception specification checking for defaulted members and virtual destructors are both susceptible to mutation during iteration so we need to swap and process the worklists. This resolves both accepts-invalid and rejects-valid issues and moreover fixes potential invalid memory access as the contents of the vectors change during iteration and recursive template instantiation. Checking can be further delayed where parent classes aren't yet fully defined. This patch adds two assertions at end of TU to ensure no specs are left unchecked as was happenning before the fix, plus a test case from Marshall Clow for the defaulted member crash extracted from the libcxx headers. Reviewed by Richard Smith. llvm-svn: 192947
* False. GCC does not accept [[gnu::warn_unused]], not to be confused with ↵Nick Lewycky2013-10-181-1/+1
| | | | | | [[gnu::warn_unused_result]] which does exist. llvm-svn: 192946
* Fix 80-column violation.Richard Smith2013-10-181-1/+2
| | | | llvm-svn: 192937
* [-fms-extensions] Permit 'override' in C++98 and 'sealed' as a synonym for ↵David Majnemer2013-10-1821-34/+147
| | | | | | | | | | | | | | 'final' Summary: Some MS headers use these features. Reviewers: rnk, rsmith CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1948 llvm-svn: 192936
* Consumed analysis: Add param_typestate attribute, which specifies thatDeLesley Hutchins2013-10-177-16/+145
| | | | | | | function parameters must be in a particular state. Patch by chris.wailes@gmail.com. Reviewed by delesley@google.com. llvm-svn: 192934
* ObjectiveC migrator. Minor clean up of my last patch.Fariborz Jahanian2013-10-171-17/+17
| | | | | | No functional change. llvm-svn: 192933
* Consumed Analysis: Allow parameters that are passed by non-const referenceDeLesley Hutchins2013-10-178-11/+118
| | | | | | | to be treated as return values, and marked with the "returned_typestate" attribute. Patch by chris.wailes@gmail.com; reviewed by delesley@google.com. llvm-svn: 192932
* ObjectiveC migrator. In infering NS_ENUM/NS_OPTIONSFariborz Jahanian2013-10-173-26/+79
| | | | | | | | macros, prefer the typedef immediately following the enum declaration to the one preceeding it. // rdar://15200915 llvm-svn: 192927
* Consumed analysis: update to previous test case.DeLesley Hutchins2013-10-171-1/+13
| | | | llvm-svn: 192926
* [ms-cxxabi] Error out on virtual function memptrsReid Kleckner2013-10-171-0/+1
| | | | | | These are uncommon and this is better than miscompiling. llvm-svn: 192923
* Revert "Fix missed exception spec checks and crashes"Alp Toker2013-10-174-59/+24
| | | | | | | | | | | The changes caused the sanitizer bot to hang: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/2311 Needs investigation. This reverts commit r192914. llvm-svn: 192921
* Make .asm a valid extension for assembly filesHans Wennborg2013-10-171-0/+1
| | | | | | | | This is a common extension on Windows, and now clang will assemble them instead of treating them as linker input which is the default for unknown file types. llvm-svn: 192919
* Fix missed exception spec checks and crashesAlp Toker2013-10-174-24/+59
| | | | | | | | | | | | | | | | | | Delayed exception specification checking for defaulted members and virtual destructors are both susceptible to mutation during iteration so we need to process the worklists fully. This resolves both accepts-invalid and rejects-valid issues and moreover fixes potential invalid memory access as the contents of the vectors change during iteration and recursive template instantiation. This patch also adds two assertions at end of TU to ensure no specs are left unchecked as was happenning before the fix, plus a test case from Marshall Clow for the defaulted member crash extracted from the libcxx headers. Reviewed by Richard Smith. llvm-svn: 192914
* Consumed analysis: fix ICE in handling of loop source locations.DeLesley Hutchins2013-10-172-10/+55
| | | | llvm-svn: 192911
* [AArch64] Add support for NEON scalar three register different instructionChad Rosier2013-10-173-2/+72
| | | | | | | | class. The instruction class includes the signed saturating doubling multiply-add long, signed saturating doubling multiply-subtract long, and the signed saturating doubling multiply long instructions. llvm-svn: 192909
* clang-cl: Add support for asm listings (/FA and /Fa)Hans Wennborg2013-10-175-4/+42
| | | | | | | | | | This adds support for outputing the assembly to a file during compilation. It does this by changing the compilation pipeling to not use the integrated assembler, and keep the intermediate assembler file. Differential Revision: http://llvm-reviews.chandlerc.com/D1946 llvm-svn: 192902
* Rename some functions for consistency.Rafael Espindola2013-10-1720-130/+96
| | | | | | Every other function in Redeclarable.h was using Decl instead of Declaration. llvm-svn: 192900
* [mips] Added -mfp64 and -mfp32 options.Daniel Sanders2013-10-173-0/+18
| | | | | | | | | | | | | | | | These options specify 64-bit FP registers and 32-bit FP registers respectively. When using -mfp32, the FPU has 16x double-precision registers overlapping with the 32x single-precision registers (each double-precision register overlaps two single-precision registers). When using -mfp64, the FPU has 32x double-precision registers overlapping with the 32x single-precision registers (each double-precision register overlaps with one single-precision register and has an additional 32-bits). MSA requires -mfp64. llvm-svn: 192899
* [mips][msa] Update -mmsa help text and removed the hidden flag to better ↵Daniel Sanders2013-10-171-2/+2
| | | | | | match conventions used by other targets llvm-svn: 192898
* [mips][msa] Added most of the remaining builtinsDaniel Sanders2013-10-172-0/+313
| | | | | | | | | | | Includes: and.v, bmnz.v, bmz.v, bnz.[bhwdv], bz.[bhwdv], cfcmsa, ctcmsa, fcaf, fcor, fcueq, fcul[et], fcun, fcune, fsaf, fsueq, fsul[et], fsun, fsune, ftrunc hadd_[su].[hwd], hsub_[su].[hwd], insert.[bhw], insve.[bhw], ld.[bhwd], move.v, nor.v, or.v, srar.[bhwd], srari.[bhwd], srlr.[bhwd], srlri.[bhwd], st.[bhwd], subsus_u.[bhwd], subsuu_s.[bhwd], vshf.[bhwd], xor.v llvm-svn: 192896
* Remove unicode characters, trailing whitespace from test caseDavid Majnemer2013-10-171-10/+10
| | | | llvm-svn: 192877
* Follow-up to r192822: fix Clang assertion when building with -fexceptionsTimur Iskhodzhanov2013-10-172-7/+53
| | | | llvm-svn: 192875
* tsan: update docsDmitry Vyukov2013-10-172-4/+8
| | | | | | update docs for no_sanitize_thread attribute and blacklist llvm-svn: 192872
* This is now passing. Uncomment and close out PR6281.Bill Wendling2013-10-171-4/+2
| | | | llvm-svn: 192869
* Add support to the Clang driver for forwarding all of gfortran's flagsChandler Carruth2013-10-173-4/+325
| | | | | | | | | | to GCC when asked to compile a fortran input. This fixes a regression with essentially every Fortran compile since we started rejecting unknown flags. Also moves a mis-classified gfortran flag into the nicely documented set. llvm-svn: 192867
OpenPOWER on IntegriCloud