summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Switching to using hasGlobalStorage instead of !hasLocalStorage for better ↵Aaron Ballman2013-12-121-1/+1
| | | | | | clarity. llvm-svn: 197110
* Added a Subjects clause to the section attribute and made its diagnostics ↵Aaron Ballman2013-12-125-12/+14
| | | | | | more consistent with other attributes. llvm-svn: 197104
* PR18217: Rewrite JumpDiagnostics' handling of temporaries, to correctly handleRichard Smith2013-12-125-102/+173
| | | | | | | | | declarations that might lifetime-extend multiple temporaries. In passing, fix a crasher (PR18217) if an initializer was dependent and exactly the wrong shape, and remove a bogus function (Expr::findMaterializedTemporary) now its last use is gone. llvm-svn: 197103
* Objective-C migrator: when inferring 'readonly' property of anFariborz Jahanian2013-12-124-4/+6
| | | | | | | Objective-C object conforming to 'NSCopying' protocol, infer a 'copy' property, instead of 'strong'. // rdar://15525937 llvm-svn: 197102
* Use llvm::Regex::Escape in VerifyDiagnosticConsumer.cppHans Wennborg2013-12-121-31/+1
| | | | | | This depends on LLVM r197096. llvm-svn: 197101
* Add CFG tests for switch's involving "extended" enum.Ted Kremenek2013-12-112-2/+132
| | | | llvm-svn: 197094
* Add new PrintingPolicy entry to trim number of newlines. Useful for the CFG ↵Ted Kremenek2013-12-112-8/+19
| | | | | | | | | printer. The change isn't completely comprehensive. This can be filled in lazily as needed. There is one consumer right now. llvm-svn: 197093
* Change semantics of regex expectations in the diagnostic verifierHans Wennborg2013-12-1124-61/+149
| | | | | | | | | | | | | | | | | | | | | | | Previously, a line like // expected-error-re {{foo}} treats the entirety of foo as a regex. This is inconvenient when matching type names containing regex characters. For example, to match "void *(class test8::A::*)(void)" inside such a regex, one would have to type "void \*\(class test8::A::\*\)\(void\)". This patch changes the semantics of expected-error-re to only treat the parts of the directive wrapped in double curly braces as regexes. This avoids the escaping problem and leads to nicer patterns for those cases; see e.g. the change to test/Sema/format-strings-scanf.c. (The balanced search for closing }} of a directive also makes us handle the full directive in test\SemaCXX\constexpr-printing.cpp:41 and :53.) Differential Revision: http://llvm-reviews.chandlerc.com/D2388 llvm-svn: 197092
* [AArch64] Refactor NEON floating-point Max/Min/Maxnm/Minnm across vector AArch64Chad Rosier2013-12-111-4/+4
| | | | | | intrinsics to use f32 types, rather than their vector equivalents. llvm-svn: 197091
* Remove extra qualification to fix build with g++ after r197076Alp Toker2013-12-111-1/+1
| | | | llvm-svn: 197086
* [ms-abi][cleanup] Removing FinalizeCXXLayout : no functional changeWarren Hunt2013-12-111-10/+1
| | | | | | | After r196549 there is no need to separate FinalizeCXXLayout and FinalizeLayout so they were merged and FinalizeCXXLayout was eliminated. llvm-svn: 197083
* No longer accepting attribute spellings with prefix and suffix underscores ↵Aaron Ballman2013-12-113-9/+18
| | | | | | except for GNU attributes, or C++11-style attributes in the GNU namespace. This prevents attributes such as __declspec(__dllexport__) or [[__noreturn__]] from being treated as known attributes. llvm-svn: 197082
* Revert r197043, not a good commentRenato Golin2013-12-111-6/+0
| | | | llvm-svn: 197077
* [objcmt] When emitting a remap file, use a json format with the edit ↵Argyrios Kyrtzidis2013-12-118-38/+400
| | | | | | | | | | | entries, instead of applying the changes to a temp file directly. This allows to combine the edits when they can be different based on whether you saw the implementation or not, e.g. with the designated initializer migration. llvm-svn: 197076
* [objcmt] When whitelisting the headers we want to modify, allow changing theArgyrios Kyrtzidis2013-12-116-11/+83
| | | | | | | | | | the ObjC implementation declarations, just don't change implementations for classes that are not in the whitelisted headers. For example, if we change a method to return 'instancetype' we should also update the method definition in the implementation. llvm-svn: 197075
* [AArch64] Add NEON scalar floating-point compare LLVM AArch64 intrinsics thatChad Rosier2013-12-111-31/+31
| | | | | | use f32/f64 types, rather than their vector equivalents. llvm-svn: 197071
* [AArch64] Refactor the NEON scalar floating-point reciprocal step andChad Rosier2013-12-111-5/+5
| | | | | | | floating-point reciprocal square root step LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents. llvm-svn: 197070
* [AArch64] Refactor the NEON scalar floating-point reciprocal estimate, floating-Chad Rosier2013-12-111-5/+5
| | | | | | | | point reciprocal exponent, and floating-point reciprocal square root estimate LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents. llvm-svn: 197069
* [ms-cxxabi] Fix linkage of dtor thunks for anonymous classesReid Kleckner2013-12-112-6/+23
| | | | | | | | | | We were mistakengly giving linkonce_odr linkage instead of internal linkage to the deleting and complete destructor thunks for classes in anonymous namespaces. Fixes PR17273. llvm-svn: 197060
* [analyzer] Add checker callbacks for MemberExpr and UnaryExprOrTypeTraitExpr.Jordan Rose2013-12-112-79/+98
| | | | | | Found by Arthur Yoo! llvm-svn: 197059
* Better diagnostic for static override when methods are thiscall by defaultHans Wennborg2013-12-112-1/+9
| | | | | | | | | | | | | | | | | | Methods are thiscall by default in the MS ABI, and also in MinGW targetting GCC 4.7 or later. This changes the diagnostic from the technically correct but hard to understand: virtual function 'foo' has different calling convention attributes ('void ()') than the function it overrides (which has calling convention 'void () __attribute__((thiscall))') to the more intuitive and also correct: 'static' member function 'foo' overrides a virtual function We already have a test for this. Let's just run it in both ABI modes. Differential Revision: http://llvm-reviews.chandlerc.com/D2375 llvm-svn: 197055
* Add comment about PragmaIntroducerKindRenato Golin2013-12-111-0/+6
| | | | llvm-svn: 197043
* Add front-end infrastructure now address space casts are in LLVM IR.David Tweed2013-12-1111-8/+48
| | | | | | | | | | With the introduction of explicit address space casts into LLVM, there's a need to provide a new cast kind the front-end can create for C/OpenCL/CUDA and code to produce address space casts from those kinds when appropriate. Patch by Michele Scandale! llvm-svn: 197036
* Add file missing from r197034.Daniel Jasper2013-12-111-0/+1
| | | | llvm-svn: 197035
* Modules: Let -fmodules-decluse ignore headers that aren't in a moduleDaniel Jasper2013-12-114-20/+35
| | | | | | | | | | | Includes might always pull in arbitrary header or data files outside of modules. Among others, this includes builtin includes, which do not have a module (story) yet. Also cleanup implementation of ModuleMap::findModuleForHeader() to be non-recursive. llvm-svn: 197034
* Only build ARM-specific runtimes if ARM is enabledTim Northover2013-12-111-1/+6
| | | | | | | | The soft-float variants of (embedded) libclang_rt only make sense for ARM, so there's no point in trying to build them if the compiler is only capable of targeting x86. llvm-svn: 197033
* Turning IAS on by default on ARM/ThumbRenato Golin2013-12-114-10/+16
| | | | | | | | | | | | This is an experimental feature, where -integrated-as will be on by default on ARM/Thumb. We aim to detect the missing features so that the next release is stable. Updating the ReleaseNotes, too. Also moving the AArch64 into the same place. llvm-svn: 197024
* Mention LeakSanitizer in AddressSanitizer docs.Sergey Matveev2013-12-111-0/+7
| | | | llvm-svn: 197022
* Change layering warning tests to not actually build modules.Daniel Jasper2013-12-113-3/+5
| | | | | | | | | | | | | Specifically, we want to warn only for direct layering violations for the modules we are calling clang on. This temporarily unblocks http://llvm-reviews.chandlerc.com/D2374 Once that is in, we'll also want to investigate whether to check the layering in the build step of modules that we build transitively. llvm-svn: 197021
* When performing a delayed access check, use the surrounding lexical context forRichard Smith2013-12-112-5/+26
| | | | | | any local extern declaration, not just a local extern function. llvm-svn: 197000
* [ms-abi] Makes Virtual Base Alignment Look at All Virtual BasesWarren Hunt2013-12-112-6/+34
| | | | | | | | Prior to this patch, the alignment imposed by virtual bases only included direct virtual bases. This patch fixes it to look at all virtual bases. llvm-svn: 196997
* When performing an array new of a multidimensional array with an initializerRichard Smith2013-12-112-3/+125
| | | | | | | | list, each element of the initializer list may provide more than one of the base elements of the array. Be sure to initialize the right type and bump the array pointer by the right amount. llvm-svn: 196995
* [objcmt] Transfer '-objcmt-migrate-designated-init' from the driver to cc1 ↵Argyrios Kyrtzidis2013-12-111-0/+1
| | | | | | invocation. llvm-svn: 196993
* ObjectiveC. Fixes a bug where an 'unused property ivar'Fariborz Jahanian2013-12-113-1/+30
| | | | | | | warning is coming out incorrectly too early becuase of unrelated scope pop. // rdar://15630719 llvm-svn: 196989
* ObjectiveC. Provide a property-dot syntax for fixitFariborz Jahanian2013-12-102-8/+43
| | | | | | | when selector in objc_bridge_related attribute names a property. // rdar://15517899 llvm-svn: 196984
* style fixDavid Fang2013-12-101-2/+2
| | | | llvm-svn: 196982
* darwin asm driver: suppress -Q for -no-integrated-as on darwin<11David Fang2013-12-102-4/+16
| | | | llvm-svn: 196981
* Objective-C. Minor change to a diagnostic.Fariborz Jahanian2013-12-104-15/+13
| | | | | | // rdar://15499111 llvm-svn: 196977
* [AArch64] Refactor the NEON floating-point absolute difference LLVM AArch64Chad Rosier2013-12-101-1/+1
| | | | | | intrinsic to use f32/f64 types, rather than their vector equivalents. llvm-svn: 196969
* [AArch64] Refactor the NEON signed/unsigned floating-point convert to ↵Chad Rosier2013-12-101-11/+15
| | | | | | | | fixed-point LLVM AArch64 intrinsics to use f32/f64, rather than their vector equivalents. llvm-svn: 196968
* [AArch64] Overload NEON signed/unsigned floating-point convert to fixed-pointChad Rosier2013-12-101-16/+8
| | | | | | and fixed-point convert to floating-point LLVM AArch64 intrinsics. llvm-svn: 196967
* [AArch64] Overload NEON signed/unsigned integer convert to floating-pointChad Rosier2013-12-101-8/+4
| | | | | | LLVM AArch64 intrinsics. llvm-svn: 196966
* Parse: Avoid crashing on unterminated top-level asm stringsJustin Bogner2013-12-102-6/+18
| | | | | | | | | | | When parsing invalid top-level asm statements, we were ignoring the return code of the SkipUntil we used for recovery. This led to crashes when we hit the end of file and tried to continue parsing anyway. This fixes the crash and adds a couple of tests for parsing related problems. llvm-svn: 196961
* Tiny cleanup, as suggested by David Blaikie.Richard Smith2013-12-101-2/+2
| | | | llvm-svn: 196959
* Rewrite docs/LeakSanitizer.rst. Add it to index.Sergey Matveev2013-12-102-11/+12
| | | | llvm-svn: 196957
* Rename attribute 'objc_suppress_protocol_methods' to ↵Ted Kremenek2013-12-106-105/+31
| | | | | | | | | | | | | | | 'objc_protocol_requires_explicit_implementation'. That's a mouthful, and not necessarily the final name. This also reflects a semantic change where this attribute is now on the protocol itself instead of a class. This attribute will require that a protocol, when adopted by a class, is explicitly implemented by the class itself (instead of walking the super class chain). Note that this attribute is not "done". This should be considered a WIP. llvm-svn: 196955
* Enhance attribute machinery to include ObjCProtocols as "subjects" in ↵Ted Kremenek2013-12-103-4/+8
| | | | | | attribute declarations. llvm-svn: 196954
* Add a triple to this IRgen test to unbreak the ARM bots.Richard Smith2013-12-101-1/+1
| | | | llvm-svn: 196953
* Improve on an objc_bridge_related diagnostic.Fariborz Jahanian2013-12-104-18/+19
| | | | | | // rdar://15499111 llvm-svn: 196950
* Make the -via-file-asm an InternalDebugOptDavid Peixotto2013-12-101-1/+1
| | | | | | | | We do not need to expose this flag to the user. This commit makes the flag an interal debug option that will only display its help when printing with --help-hidden. llvm-svn: 196946
OpenPOWER on IntegriCloud