r365518 - [ObjC] Add a warning for implicit conversions of a constant non-boolean value to BOOL

2019-07-09 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Jul 9 10:29:40 2019 New Revision: 365518 URL: http://llvm.org/viewvc/llvm-project?rev=365518=rev Log: [ObjC] Add a warning for implicit conversions of a constant non-boolean value to BOOL rdar://51954400 Differential revision: https://reviews.llvm.org/D63912 Added:

r365408 - [ObjC] Add a -Wtautological-compare warning for BOOL

2019-07-08 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jul 8 16:42:52 2019 New Revision: 365408 URL: http://llvm.org/viewvc/llvm-project?rev=365408=rev Log: [ObjC] Add a -Wtautological-compare warning for BOOL On macOS, BOOL is a typedef for signed char, but it should never hold a value that isn't 1 or 0. Any code that

r364954 - [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast

2019-07-02 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Jul 2 11:28:13 2019 New Revision: 364954 URL: http://llvm.org/viewvc/llvm-project?rev=364954=rev Log: [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast This commit adds a new builtin, __builtin_bit_cast(T, v), which performs a bit_cast from a value v to a

r364489 - [ObjC] Improve error message for a malformed objc-type-name

2019-06-26 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Jun 26 16:39:23 2019 New Revision: 364489 URL: http://llvm.org/viewvc/llvm-project?rev=364489=rev Log: [ObjC] Improve error message for a malformed objc-type-name If the type didn't exist, we used to emit a really bad error: t.m:3:12: error: expected ')' -(nullable

r360802 - [CodeGenObjC] invoke objc_autorelease, objc_retain when necessary

2019-05-15 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed May 15 13:15:01 2019 New Revision: 360802 URL: http://llvm.org/viewvc/llvm-project?rev=360802=rev Log: [CodeGenObjC] invoke objc_autorelease, objc_retain when necessary Any of these methods can be overridden, so we need to invoke these functions. Differential revision:

r360446 - [Sema] Mark array element destructors referenced during initialization

2019-05-10 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri May 10 10:52:26 2019 New Revision: 360446 URL: http://llvm.org/viewvc/llvm-project?rev=360446=rev Log: [Sema] Mark array element destructors referenced during initialization This fixes a crash where we would neglect to mark a destructor referenced for an

r358200 - Add support for attributes on @implementations in Objective-C

2019-04-11 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Apr 11 10:55:30 2019 New Revision: 358200 URL: http://llvm.org/viewvc/llvm-project?rev=358200=rev Log: Add support for attributes on @implementations in Objective-C We want to make objc_nonlazy_class apply to implementations, but ran into this. There doesn't seem to be

r358201 - Support objc_nonlazy_class attribute on Objective-C implementations

2019-04-11 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Apr 11 10:55:34 2019 New Revision: 358201 URL: http://llvm.org/viewvc/llvm-project?rev=358201=rev Log: Support objc_nonlazy_class attribute on Objective-C implementations Fixes rdar://49523079 Differential revision: https://reviews.llvm.org/D60544 Modified:

r358136 - Fix a test, NFC

2019-04-10 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Apr 10 14:18:21 2019 New Revision: 358136 URL: http://llvm.org/viewvc/llvm-project?rev=358136=rev Log: Fix a test, NFC This test was duplicated, and the last declaration had some syntax errors since the invalid attribute caused the @implementation to be skipped by the

r357515 - [CodeGen] Fix a regression by emitting lambda expressions in EmitLValue

2019-04-02 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Apr 2 12:48:07 2019 New Revision: 357515 URL: http://llvm.org/viewvc/llvm-project?rev=357515=rev Log: [CodeGen] Fix a regression by emitting lambda expressions in EmitLValue This ability was removed in r351487, but it's needed when a lambda appears as an OpaqueValueExpr

r357516 - [Sema] Fix a use-after-deallocate of a ParsedAttr

2019-04-02 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Apr 2 12:48:11 2019 New Revision: 357516 URL: http://llvm.org/viewvc/llvm-project?rev=357516=rev Log: [Sema] Fix a use-after-deallocate of a ParsedAttr moveAttrFromListToList only makes sense when moving an attribute to a list with a pool that's either equivalent, or has

r357304 - [Sema] Avoid sending a dependent expression to the constant evaluator.

2019-03-29 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Mar 29 12:53:41 2019 New Revision: 357304 URL: http://llvm.org/viewvc/llvm-project?rev=357304=rev Log: [Sema] Avoid sending a dependent expression to the constant evaluator. Fixes llvm.org/PR41286 Modified: cfe/trunk/lib/Sema/SemaChecking.cpp

r357040 - [Sema] Fix an assert when a block captures a constexpr local

2019-03-26 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Mar 26 16:21:19 2019 New Revision: 357040 URL: http://llvm.org/viewvc/llvm-project?rev=357040=rev Log: [Sema] Fix an assert when a block captures a constexpr local MarkVarDeclODRUsed indirectly calls captureInBlock, which creates a copy expression. The copy expression is

r357041 - Emit -Wfortify-source using DiagRuntimeBehaviour

2019-03-26 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Mar 26 16:21:22 2019 New Revision: 357041 URL: http://llvm.org/viewvc/llvm-project?rev=357041=rev Log: Emit -Wfortify-source using DiagRuntimeBehaviour This fixes a false positive on the following, where st is configured to have different sizes based on some preprocessor

r356600 - Add a __has_extension check for '#pragma clang attribute' as an external-declaration

2019-03-20 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Mar 20 12:26:37 2019 New Revision: 356600 URL: http://llvm.org/viewvc/llvm-project?rev=356600=rev Log: Add a __has_extension check for '#pragma clang attribute' as an external-declaration This was added in r356075. Modified:

r356599 - [Sema] Deduplicate some availability checking logic

2019-03-20 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Mar 20 12:26:33 2019 New Revision: 356599 URL: http://llvm.org/viewvc/llvm-project?rev=356599=rev Log: [Sema] Deduplicate some availability checking logic Before this commit, we emit unavailable errors for calls to functions during overload resolution, and for references

r356515 - Add a spelling of pass_object_size that uses __builtin_dynamic_object_size

2019-03-19 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Mar 19 13:44:18 2019 New Revision: 356515 URL: http://llvm.org/viewvc/llvm-project?rev=356515=rev Log: Add a spelling of pass_object_size that uses __builtin_dynamic_object_size The attribute pass_dynamic_object_size(n) behaves exactly like pass_object_size(n), but

r356397 - [Sema] Add some compile time _FORTIFY_SOURCE diagnostics

2019-03-18 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Mar 18 12:23:45 2019 New Revision: 356397 URL: http://llvm.org/viewvc/llvm-project?rev=356397=rev Log: [Sema] Add some compile time _FORTIFY_SOURCE diagnostics These diagnose overflowing calls to subset of fortifiable functions. Some functions, like sprintf or strcpy

r356187 - [Sema] Fix a use-after-free of a _Nonnull ParsedAttr

2019-03-14 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Mar 14 11:38:02 2019 New Revision: 356187 URL: http://llvm.org/viewvc/llvm-project?rev=356187=rev Log: [Sema] Fix a use-after-free of a _Nonnull ParsedAttr We were allocating the implicit attribute in the declarator's attribute pool, but putting into the declaration

r356103 - Revert "Add a new attribute, fortify_stdlib"

2019-03-13 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Mar 13 14:37:01 2019 New Revision: 356103 URL: http://llvm.org/viewvc/llvm-project?rev=356103=rev Log: Revert "Add a new attribute, fortify_stdlib" This reverts commit r353765. After talking with our c stdlib folks, we decided to use the existing pass_object_size

r356087 - Fix a failing test.

2019-03-13 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Mar 13 12:20:45 2019 New Revision: 356087 URL: http://llvm.org/viewvc/llvm-project?rev=356087=rev Log: Fix a failing test. Modified: cfe/trunk/test/Parser/pragma-attribute-context.cpp Modified: cfe/trunk/test/Parser/pragma-attribute-context.cpp URL:

r356075 - [Parse] Parse '#pragma clang attribute' as an external-declaration

2019-03-13 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Mar 13 11:30:59 2019 New Revision: 356075 URL: http://llvm.org/viewvc/llvm-project?rev=356075=rev Log: [Parse] Parse '#pragma clang attribute' as an external-declaration Previously, we parsed it only in the top level, which excludes namespaces and extern "C" blocks.

r355054 - [CodeGen] Fix some broken IR generated by -fsanitize=unsigned-integer-overflow

2019-02-27 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Feb 27 16:47:55 2019 New Revision: 355054 URL: http://llvm.org/viewvc/llvm-project?rev=355054=rev Log: [CodeGen] Fix some broken IR generated by -fsanitize=unsigned-integer-overflow I think the author of the function assumed that `GetInsertBlock()` wouldn't change from

r354826 - [CodeGenObjC] Fix a nullptr dyn_cast

2019-02-25 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Feb 25 13:35:14 2019 New Revision: 354826 URL: http://llvm.org/viewvc/llvm-project?rev=354826=rev Log: [CodeGenObjC] Fix a nullptr dyn_cast ObjCMessageExpr::getInstanceReceiver returns nullptr if the receiver is 'super'. Make this check more strict, since we don't care

r354192 - Fix some tests I broke in r354190

2019-02-15 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Feb 15 17:51:19 2019 New Revision: 354192 URL: http://llvm.org/viewvc/llvm-project?rev=354192=rev Log: Fix some tests I broke in r354190 This was breaking on MSVC, since long double and double have the same semantics there. Modified:

r354190 - [Sema] Diagnose floating point conversions based on target semantics

2019-02-15 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Feb 15 17:11:47 2019 New Revision: 354190 URL: http://llvm.org/viewvc/llvm-project?rev=354190=rev Log: [Sema] Diagnose floating point conversions based on target semantics ...instead of just comparing rank. Also, fix a bad warning about _Float16, since its declared out of

Re: r354074 - [Sema] Fix-up a -Wfloat-conversion diagnostic

2019-02-14 Thread Erik Pilkington via cfe-commits
Hans, can you merge this diagnostic regression fix into LLVM 8? Thanks! > On Feb 14, 2019, at 2:48 PM, Erik Pilkington via cfe-commits > wrote: > > Author: epilk > Date: Thu Feb 14 14:48:01 2019 > New Revision: 354074 > > URL: http://llvm.org/viewvc/llvm-project?rev=3

r354074 - [Sema] Fix-up a -Wfloat-conversion diagnostic

2019-02-14 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Feb 14 14:48:01 2019 New Revision: 354074 URL: http://llvm.org/viewvc/llvm-project?rev=354074=rev Log: [Sema] Fix-up a -Wfloat-conversion diagnostic We were warning on valid ObjC property reference exprs, and passing in the wrong arguments to DiagnoseFloatingImpCast

r354056 - [CodeGenObjC] Emit [[X alloc] init] as objc_alloc_init(X) when available

2019-02-14 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Feb 14 11:58:37 2019 New Revision: 354056 URL: http://llvm.org/viewvc/llvm-project?rev=354056=rev Log: [CodeGenObjC] Emit [[X alloc] init] as objc_alloc_init(X) when available This provides a code size win on the caller side, since the init message send is done in the

Re: r353976 - [Sema] Delay checking whether objc_designated_initializer is being applied to an init method

2019-02-13 Thread Erik Pilkington via cfe-commits
being fixed is, but it caught my eye. > > From: cfe-commits <mailto:cfe-commits-boun...@lists.llvm.org>> on behalf of Erik Pilkington via > cfe-commits mailto:cfe-commits@lists.llvm.org>> > Reply-To: Erik Pilkington <mailto:erik.pilking...@gmail.com>> > Date: Wednesda

r353976 - [Sema] Delay checking whether objc_designated_initializer is being applied to an init method

2019-02-13 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Feb 13 12:32:37 2019 New Revision: 353976 URL: http://llvm.org/viewvc/llvm-project?rev=353976=rev Log: [Sema] Delay checking whether objc_designated_initializer is being applied to an init method This fixes a regression that was caused by r335084, which reversed the

r353765 - Add a new attribute, fortify_stdlib

2019-02-11 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Feb 11 15:21:39 2019 New Revision: 353765 URL: http://llvm.org/viewvc/llvm-project?rev=353765=rev Log: Add a new attribute, fortify_stdlib This attribute applies to declarations of C stdlib functions (sprintf, memcpy...) that have known fortified variants (__sprintf_chk,

r353115 - [SemaObjC] Don't infer the availabilty of +new from -init if the receiver has Class type

2019-02-04 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Feb 4 15:30:57 2019 New Revision: 353115 URL: http://llvm.org/viewvc/llvm-project?rev=353115=rev Log: [SemaObjC] Don't infer the availabilty of +new from -init if the receiver has Class type rdar://47713266 Differential revision: https://reviews.llvm.org/D57712

r352687 - [CodeGenObjC] Handle exceptions when calling objc_alloc or objc_allocWithZone

2019-01-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Jan 30 15:17:38 2019 New Revision: 352687 URL: http://llvm.org/viewvc/llvm-project?rev=352687=rev Log: [CodeGenObjC] Handle exceptions when calling objc_alloc or objc_allocWithZone objc_alloc and objc_allocWithZone may throw exceptions if the underlying method does. If

Re: r352672 - Don't define __has_feature(objc_fixed_enum) in non-objc mode

2019-01-30 Thread Erik Pilkington via cfe-commits
Hans, can you cherry-pick this into LLVM 8? Thanks! On 1/30/19 1:14 PM, Erik Pilkington via cfe-commits wrote: Author: epilk Date: Wed Jan 30 13:14:08 2019 New Revision: 352672 URL: http://llvm.org/viewvc/llvm-project?rev=352672=rev Log: Don't define __has_feature(objc_fixed_enum) in non-objc

r352672 - Don't define __has_feature(objc_fixed_enum) in non-objc mode

2019-01-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Jan 30 13:14:08 2019 New Revision: 352672 URL: http://llvm.org/viewvc/llvm-project?rev=352672=rev Log: Don't define __has_feature(objc_fixed_enum) in non-objc mode This is only a formal language feature in ObjC, otherwise its just an extension. Making this change was also

r352664 - Add a 'dynamic' parameter to the objectsize intrinsic

2019-01-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Jan 30 12:34:35 2019 New Revision: 352664 URL: http://llvm.org/viewvc/llvm-project?rev=352664=rev Log: Add a 'dynamic' parameter to the objectsize intrinsic This is meant to be used with clang's __builtin_dynamic_object_size. When 'true' is passed to this parameter, the

r352665 - Add a new builtin: __builtin_dynamic_object_size

2019-01-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Jan 30 12:34:53 2019 New Revision: 352665 URL: http://llvm.org/viewvc/llvm-project?rev=352665=rev Log: Add a new builtin: __builtin_dynamic_object_size This builtin has the same UI as __builtin_object_size, but has the potential to be evaluated dynamically. It is meant to

r352239 - [Sema] Improve a -Warray-bounds diagnostic

2019-01-25 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Jan 25 12:52:45 2019 New Revision: 352239 URL: http://llvm.org/viewvc/llvm-project?rev=352239=rev Log: [Sema] Improve a -Warray-bounds diagnostic Fix a bug where we would compare array sizes with incompatible element types, and look through explicit casts.

r351595 - [Sema] Suppress a warning about a forward-declared fixed enum in C mode

2019-01-18 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Jan 18 13:33:23 2019 New Revision: 351595 URL: http://llvm.org/viewvc/llvm-project?rev=351595=rev Log: [Sema] Suppress a warning about a forward-declared fixed enum in C mode As of r343360, we support fixed-enums in C. This lead to some warnings in project headers where a

r351461 - [CodeGenObjC] Use a constant value for non-fragile ivar offsets when possible

2019-01-17 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jan 17 10:18:53 2019 New Revision: 351461 URL: http://llvm.org/viewvc/llvm-project?rev=351461=rev Log: [CodeGenObjC] Use a constant value for non-fragile ivar offsets when possible If a class inherits from NSObject and has an implementation, then we can assume that ivar

Re: r350856 - Split -Wdelete-non-virtual-dtor into two groups

2019-01-14 Thread Erik Pilkington via cfe-commits
be handy to summarize the changes from the previous reverted version of this patch (& mention the original commit revision and revert revision) - in the commit message is ideal, but in a reply to the commit after the fact will do in a pinch On Fri, Jan 11, 2019 at 4:06 AM Erik Pilkington via

r351108 - Improve a -Wunguarded-availability note

2019-01-14 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jan 14 11:17:31 2019 New Revision: 351108 URL: http://llvm.org/viewvc/llvm-project?rev=351108=rev Log: Improve a -Wunguarded-availability note Mention the deployment target, and don't say "partial" which doesn't really mean anything to users. rdar://problem/33601513

r350856 - Split -Wdelete-non-virtual-dtor into two groups

2019-01-10 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jan 10 10:03:07 2019 New Revision: 350856 URL: http://llvm.org/viewvc/llvm-project?rev=350856=rev Log: Split -Wdelete-non-virtual-dtor into two groups This group controls two diagnostics: deleting an abstract class with a non-virtual dtor, which is a guaranteed crash, and

Re: r350572 - Add a __has_feature check for namespaces on #pragma clang attribute.

2019-01-08 Thread Erik Pilkington via cfe-commits
On 1/7/19 4:43 PM, Richard Smith wrote: On Mon, 7 Jan 2019 at 16:12, Erik Pilkington via cfe-commits mailto:cfe-commits@lists.llvm.org>> wrote: On 1/7/19 3:51 PM, Richard Smith wrote: On Mon, 7 Jan 2019 at 13:57, Erik Pilkington via cfe-commits mailto:cfe-commits@lists.ll

r350642 - __has_feature(pragma_clang_attribute_namespaces) should be __has_extension

2019-01-08 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Jan 8 10:24:39 2019 New Revision: 350642 URL: http://llvm.org/viewvc/llvm-project?rev=350642=rev Log: __has_feature(pragma_clang_attribute_namespaces) should be __has_extension Thanks to Richard Smith for pointing this out. Modified:

r350639 - Revert "Split -Wdelete-non-virtual-dtor into -Wdelete-abstract-non-virtual-dtor"

2019-01-08 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Jan 8 09:04:38 2019 New Revision: 350639 URL: http://llvm.org/viewvc/llvm-project?rev=350639=rev Log: Revert "Split -Wdelete-non-virtual-dtor into -Wdelete-abstract-non-virtual-dtor" This reverts commit r350585. There was some late post-commit review on phab. Removed:

r350585 - Split -Wdelete-non-virtual-dtor into -Wdelete-abstract-non-virtual-dtor

2019-01-07 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jan 7 16:21:05 2019 New Revision: 350585 URL: http://llvm.org/viewvc/llvm-project?rev=350585=rev Log: Split -Wdelete-non-virtual-dtor into -Wdelete-abstract-non-virtual-dtor -Wdelete-non-virtual-dtor previously controlled two diagnostics: 1) calling a non-virtual dtor

Re: r350572 - Add a __has_feature check for namespaces on #pragma clang attribute.

2019-01-07 Thread Erik Pilkington via cfe-commits
On 1/7/19 3:51 PM, Richard Smith wrote: On Mon, 7 Jan 2019 at 13:57, Erik Pilkington via cfe-commits mailto:cfe-commits@lists.llvm.org>> wrote: Author: epilk Date: Mon JanĀ  7 13:54:00 2019 New Revision: 350572 URL: http://llvm.org/viewvc/llvm-project?rev=350572=rev

r350572 - Add a __has_feature check for namespaces on #pragma clang attribute.

2019-01-07 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jan 7 13:54:00 2019 New Revision: 350572 URL: http://llvm.org/viewvc/llvm-project?rev=350572=rev Log: Add a __has_feature check for namespaces on #pragma clang attribute. Support for this was added in r349845. Modified: cfe/trunk/docs/LanguageExtensions.rst

r350422 - [ObjCARC] Add an new attribute, objc_externally_retained

2019-01-04 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Jan 4 10:33:06 2019 New Revision: 350422 URL: http://llvm.org/viewvc/llvm-project?rev=350422=rev Log: [ObjCARC] Add an new attribute, objc_externally_retained This attribute, called "objc_externally_retained", exposes clang's notion of pseudo-__strong variables in ARC.

r349845 - Add support for namespaces on #pragma clang attribute

2018-12-20 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Dec 20 14:32:04 2018 New Revision: 349845 URL: http://llvm.org/viewvc/llvm-project?rev=349845=rev Log: Add support for namespaces on #pragma clang attribute Namespaces are introduced by adding an "identifier." before a push/pop directive. Pop directives with namespaces

Re: r348325 - [Sema] Remove some conditions of a failing assert

2018-12-05 Thread Erik Pilkington via cfe-commits
On 12/4/18 7:07 PM, Richard Smith wrote: On Tue, 4 Dec 2018 at 16:46, Erik Pilkington via cfe-commits mailto:cfe-commits@lists.llvm.org>> wrote: Author: epilk Date: Tue DecĀ  4 16:43:11 2018 New Revision: 348325 URL: http://llvm.org/viewvc/llvm-project?rev=348325=rev

r348388 - Address a post-commit review comment on r348325.

2018-12-05 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Dec 5 09:43:26 2018 New Revision: 348388 URL: http://llvm.org/viewvc/llvm-project?rev=348388=rev Log: Address a post-commit review comment on r348325. Modified: cfe/trunk/test/SemaCXX/friend-template-redecl.cpp Modified:

r348325 - [Sema] Remove some conditions of a failing assert

2018-12-04 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Dec 4 16:43:11 2018 New Revision: 348325 URL: http://llvm.org/viewvc/llvm-project?rev=348325=rev Log: [Sema] Remove some conditions of a failing assert We should have been checking that this state is consistent, but its possible for it to be filled later, so it isn't

r348218 - NFC: Make this test kinder on downstream forks

2018-12-03 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Dec 3 16:31:31 2018 New Revision: 348218 URL: http://llvm.org/viewvc/llvm-project?rev=348218=rev Log: NFC: Make this test kinder on downstream forks Downstream forks that have their own attributes often run into this test failing when a new attribute is added to clang

r346709 - [Sema] Make sure we substitute an instantiation-dependent default template argument

2018-11-12 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Nov 12 13:31:06 2018 New Revision: 346709 URL: http://llvm.org/viewvc/llvm-project?rev=346709=rev Log: [Sema] Make sure we substitute an instantiation-dependent default template argument Fixes llvm.org/PR39623 Differential revision: https://reviews.llvm.org/D54414

r346004 - [CodeGen] Fix a crash when updating a designated initializer

2018-11-02 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Nov 2 10:36:58 2018 New Revision: 346004 URL: http://llvm.org/viewvc/llvm-project?rev=346004=rev Log: [CodeGen] Fix a crash when updating a designated initializer We need to handle the ConstantAggregateZero case here too. rdar://45691981 Differential revision:

r345646 - NFC: Merge KEYOBJC and KEYARC

2018-10-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Oct 30 13:51:28 2018 New Revision: 345646 URL: http://llvm.org/viewvc/llvm-project?rev=345646=rev Log: NFC: Merge KEYOBJC and KEYARC We used to only define ARC keywords in -fobjc-arc mode, but now that we define them in ObjC mode, there isn't any reason to keep them

[clang-tools-extra] r345637 - NFC: Remove the ObjC1/ObjC2 distinction from clang (and related projects)

2018-10-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Oct 30 13:31:30 2018 New Revision: 345637 URL: http://llvm.org/viewvc/llvm-project?rev=345637=rev Log: NFC: Remove the ObjC1/ObjC2 distinction from clang (and related projects) We haven't supported compiling ObjC1 for a long time (and never will again), so there isn't any

r345637 - NFC: Remove the ObjC1/ObjC2 distinction from clang (and related projects)

2018-10-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Oct 30 13:31:30 2018 New Revision: 345637 URL: http://llvm.org/viewvc/llvm-project?rev=345637=rev Log: NFC: Remove the ObjC1/ObjC2 distinction from clang (and related projects) We haven't supported compiling ObjC1 for a long time (and never will again), so there isn't any

r345517 - Revert "Revert "Support for groups of attributes in #pragma clang attribute""

2018-10-29 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Oct 29 10:38:42 2018 New Revision: 345517 URL: http://llvm.org/viewvc/llvm-project?rev=345517=rev Log: Revert "Revert "Support for groups of attributes in #pragma clang attribute"" This reverts commit r345487, which reverted r345486. I think the crashes were caused by an

r345487 - Revert "Support for groups of attributes in #pragma clang attribute"

2018-10-28 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Sun Oct 28 20:24:16 2018 New Revision: 345487 URL: http://llvm.org/viewvc/llvm-project?rev=345487=rev Log: Revert "Support for groups of attributes in #pragma clang attribute" This reverts commit r345486. Looks like it causes some old versions of GCC to crash, I'll see if I

r345486 - Support for groups of attributes in #pragma clang attribute

2018-10-28 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Sun Oct 28 19:29:21 2018 New Revision: 345486 URL: http://llvm.org/viewvc/llvm-project?rev=345486=rev Log: Support for groups of attributes in #pragma clang attribute This commit enables pushing an empty #pragma clang attribute push, then adding multiple attributes to it,

r345075 - NFC: Remove MANGLE_CHECKER from ItaniumMangle.cpp

2018-10-23 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Oct 23 12:55:38 2018 New Revision: 345075 URL: http://llvm.org/viewvc/llvm-project?rev=345075=rev Log: NFC: Remove MANGLE_CHECKER from ItaniumMangle.cpp This hasn't even compiled since 2011. It would be useful to have some test to verify that ItaniumMangle and

r344373 - [CodeGen] Handle extern references to OBJC_CLASS_$_*

2018-10-12 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Oct 12 10:22:10 2018 New Revision: 344373 URL: http://llvm.org/viewvc/llvm-project?rev=344373=rev Log: [CodeGen] Handle extern references to OBJC_CLASS_$_* Some ObjC users declare a extern variable named OBJC_CLASS_$_Foo, then use it's address as a Class. I.e., one could

r344157 - [Sema] Fix a multiple definition bug with friends and templates

2018-10-10 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Oct 10 10:17:51 2018 New Revision: 344157 URL: http://llvm.org/viewvc/llvm-project?rev=344157=rev Log: [Sema] Fix a multiple definition bug with friends and templates The problem was that MergeFunctionDecl sometimes needs the injected template arguments of a

r344101 - [Basic] Split out -Wimplicit-int-conversion and -Wimplicit-float-conversion from -Wconversion

2018-10-09 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Oct 9 17:40:50 2018 New Revision: 344101 URL: http://llvm.org/viewvc/llvm-project?rev=344101=rev Log: [Basic] Split out -Wimplicit-int-conversion and -Wimplicit-float-conversion from -Wconversion These two diagnostics are noisy, so its reasonable for users to opt-out of

r343360 - Support enums with a fixed underlying type in all language modes.

2018-09-28 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Sep 28 13:24:58 2018 New Revision: 343360 URL: http://llvm.org/viewvc/llvm-project?rev=343360=rev Log: Support enums with a fixed underlying type in all language modes. Previously we supported these in C++, ObjC, and C with -fms-extensions. rdar://43831380 Differential

r343263 - NFC: Fix some darwin linker warnings introduced in r338385

2018-09-27 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Sep 27 13:36:28 2018 New Revision: 343263 URL: http://llvm.org/viewvc/llvm-project?rev=343263=rev Log: NFC: Fix some darwin linker warnings introduced in r338385 The darwin linker was complaining about Toolchains/RISCV.cpp and Toolchains/Arch/RISCV.cpp had the same name.

Re: r338385 - [RISCV] Add driver for riscv32-unknown-elf baremetal target

2018-09-26 Thread Erik Pilkington via cfe-commits
I put a patch up to fix this here: https://reviews.llvm.org/D52574 Please take these warnings more seriously next time. It's the committer's responsibility to fix these warnings [1], and they often identify legitimate issues in the patch. Thanks, Erik [1]:

r343050 - Fix a bot failure from r343042.

2018-09-25 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Sep 25 16:52:29 2018 New Revision: 343050 URL: http://llvm.org/viewvc/llvm-project?rev=343050=rev Log: Fix a bot failure from r343042. Modified: cfe/trunk/test/Sema/warn-duplicate-enum.c Modified: cfe/trunk/test/Sema/warn-duplicate-enum.c URL:

r343042 - [Sema] Use a more civilized hash map to implement -Wduplicate-enum.

2018-09-25 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Sep 25 15:53:06 2018 New Revision: 343042 URL: http://llvm.org/viewvc/llvm-project?rev=343042=rev Log: [Sema] Use a more civilized hash map to implement -Wduplicate-enum. DenseMap used LONG_MAX as a tombstone, so it asserts when you try to insert it! rdar://44774672

r342679 - Fix an assert in -Wquoted-include-in-framework-header

2018-09-20 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Sep 20 12:00:03 2018 New Revision: 342679 URL: http://llvm.org/viewvc/llvm-project?rev=342679=rev Log: Fix an assert in -Wquoted-include-in-framework-header Fixes rdar://43692300 Differential revision: https://reviews.llvm.org/D52253 Added:

r342672 - [Sema] Retain __restrict qualifiers when substituting a reference type.

2018-09-20 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Sep 20 11:12:24 2018 New Revision: 342672 URL: http://llvm.org/viewvc/llvm-project?rev=342672=rev Log: [Sema] Retain __restrict qualifiers when substituting a reference type. Fixes rdar://43760099 Differential revision: https://reviews.llvm.org/D52271 Added:

r341874 - [Sema][ObjC] Infer availability of +new from availability of -init.

2018-09-10 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Sep 10 15:20:09 2018 New Revision: 341874 URL: http://llvm.org/viewvc/llvm-project?rev=341874=rev Log: [Sema][ObjC] Infer availability of +new from availability of -init. When defined in NSObject, +new will call -init. If -init has been marked unavailable, diagnose uses

r341869 - [AST] Fix a crash on invalid.

2018-09-10 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Sep 10 14:54:04 2018 New Revision: 341869 URL: http://llvm.org/viewvc/llvm-project?rev=341869=rev Log: [AST] Fix a crash on invalid. Problem was that we were appending to the source location info buffer in the copy assignment operator (instead of overwriting).

r341566 - [Sema] Clean up some __builtin_*_chk diagnostics

2018-09-06 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Sep 6 10:19:33 2018 New Revision: 341566 URL: http://llvm.org/viewvc/llvm-project?rev=341566=rev Log: [Sema] Clean up some __builtin_*_chk diagnostics Namely, print the likely macro name when it's used, and include the actual computed sizes in the diagnostic message,

r341490 - [Sema] Don't warn about omitting unavailable enum constants in a switch

2018-09-05 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Sep 5 12:13:27 2018 New Revision: 341490 URL: http://llvm.org/viewvc/llvm-project?rev=341490=rev Log: [Sema] Don't warn about omitting unavailable enum constants in a switch rdar://42717026 Differential revision: https://reviews.llvm.org/D51649 Added:

[libcxx] r340544 - Comment out #define __cpp_lib_node_extract, we only support half of that functionality

2018-08-23 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Aug 23 10:08:02 2018 New Revision: 340544 URL: http://llvm.org/viewvc/llvm-project?rev=340544=rev Log: Comment out #define __cpp_lib_node_extract, we only support half of that functionality Differential revision: https://reviews.llvm.org/D51172 Modified:

r340311 - Address Aaron Ballman's post-commit review comments from r340306, NFC

2018-08-21 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Aug 21 10:50:10 2018 New Revision: 340311 URL: http://llvm.org/viewvc/llvm-project?rev=340311=rev Log: Address Aaron Ballman's post-commit review comments from r340306, NFC Modified: cfe/trunk/lib/Sema/SemaDeclAttr.cpp cfe/trunk/test/SemaCXX/no_destroy.cpp

r340306 - Add a new flag and attributes to control static destructor registration

2018-08-21 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Aug 21 10:24:06 2018 New Revision: 340306 URL: http://llvm.org/viewvc/llvm-project?rev=340306=rev Log: Add a new flag and attributes to control static destructor registration This commit adds the flag -fno-c++-static-destructors and the attributes [[clang::no_destroy]]

r340301 - [Parser] Support alternative operator token keyword args in Objective-C++

2018-08-21 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Aug 21 09:47:04 2018 New Revision: 340301 URL: http://llvm.org/viewvc/llvm-project?rev=340301=rev Log: [Parser] Support alternative operator token keyword args in Objective-C++ rdar://30741878 Differential revision: https://reviews.llvm.org/D50527 Added:

[libcxxabi] r339580 - [itanium demangler] Add llvm::itaniumFindTypesInMangledName()

2018-08-13 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Aug 13 09:37:47 2018 New Revision: 339580 URL: http://llvm.org/viewvc/llvm-project?rev=339580=rev Log: [itanium demangler] Add llvm::itaniumFindTypesInMangledName() This function calls a callback whenever a is parsed. This is necessary to implement

r339375 - [Sema] P0961R1: Relaxing the structured bindings customization point finding rules

2018-08-09 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Aug 9 13:11:13 2018 New Revision: 339375 URL: http://llvm.org/viewvc/llvm-project?rev=339375=rev Log: [Sema] P0961R1: Relaxing the structured bindings customization point finding rules Differential revision: https://reviews.llvm.org/D50418 Modified:

r339198 - [Sema] Ensure an auto non-type template parameter is dependent

2018-08-07 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Aug 7 15:59:02 2018 New Revision: 339198 URL: http://llvm.org/viewvc/llvm-project?rev=339198=rev Log: [Sema] Ensure an auto non-type template parameter is dependent The dependent auto was getting stripped away while rebuilding the template parameter type, so substitute

[libcxxabi] r338747 - [itanium demangler] Support dot suffixes on block invocation functions

2018-08-02 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Aug 2 10:45:01 2018 New Revision: 338747 URL: http://llvm.org/viewvc/llvm-project?rev=338747=rev Log: [itanium demangler] Support dot suffixes on block invocation functions rdar://32378759 Modified: libcxxabi/trunk/src/cxa_demangle.cpp

r338338 - [Sema] Relax a failing assert in TemplateArgumentLoc

2018-07-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jul 30 17:18:30 2018 New Revision: 338338 URL: http://llvm.org/viewvc/llvm-project?rev=338338=rev Log: [Sema] Relax a failing assert in TemplateArgumentLoc Any of these template argument kinds can be represented with an expression, so accept them in this constructor.

[libcxxabi] r338190 - [demangler] Fix an oss-fuzz bug from r338138

2018-07-27 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Jul 27 21:06:30 2018 New Revision: 338190 URL: http://llvm.org/viewvc/llvm-project?rev=338190=rev Log: [demangler] Fix an oss-fuzz bug from r338138 Stack overflow on invalid. While collapsing references, we were skipping over a cycle check in ForwardTemplateReference

Re: r338165 - [Sema] Use a TreeTransform to extract deduction guide parameter types

2018-07-27 Thread Erik Pilkington via cfe-commits
Okay, the bot can now compile this file, but it looks like somebody else broke it again in the meantime... FAIL: LLVM :: CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll (17518 of 39837) TEST 'LLVM :: CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll' FAILED

Re: r338165 - [Sema] Use a TreeTransform to extract deduction guide parameter types

2018-07-27 Thread Erik Pilkington via cfe-commits
This should be fixed by r338186. I'll keep an eye on this bot to make sure that this is the case. Thanks! Erik On 2018-07-27 5:46 PM, Galina Kistanova wrote: C:\ps4-buildslave2\llvm-clang-x86_64-expensive-checks-win\llvm\tools\clang\lib\Sema\SemaTemplate.cpp : fatal error C1128: number of

r338186 - Compile SemaTemplate.cpp with /bigobj on MSVC

2018-07-27 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Jul 27 18:29:31 2018 New Revision: 338186 URL: http://llvm.org/viewvc/llvm-project?rev=338186=rev Log: Compile SemaTemplate.cpp with /bigobj on MSVC This should fix some bot failures introduced by r338165. Modified: cfe/trunk/lib/Sema/CMakeLists.txt Modified:

r338165 - [Sema] Use a TreeTransform to extract deduction guide parameter types

2018-07-27 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Jul 27 14:23:48 2018 New Revision: 338165 URL: http://llvm.org/viewvc/llvm-project?rev=338165=rev Log: [Sema] Use a TreeTransform to extract deduction guide parameter types Previously, we just canonicalized the type, but this lead to crashes with parameter types that

[libcxxabi] r338138 - [demangler] Support for reference collapsing

2018-07-27 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Jul 27 10:27:40 2018 New Revision: 338138 URL: http://llvm.org/viewvc/llvm-project?rev=338138=rev Log: [demangler] Support for reference collapsing llvm.org/PR38323 Modified: libcxxabi/trunk/src/cxa_demangle.cpp libcxxabi/trunk/test/test_demangle.pass.cpp

r338089 - [Sema] Fix a crash by completing a type before using it

2018-07-26 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jul 26 16:40:42 2018 New Revision: 338089 URL: http://llvm.org/viewvc/llvm-project?rev=338089=rev Log: [Sema] Fix a crash by completing a type before using it Only apply this exception on a type that we're able to check. rdar://41903969 Differential revision:

Re: r337470 - [Sema] Add a new warning, -Wmemset-transposed-args

2018-07-26 Thread Erik Pilkington via cfe-commits
On 7/26/18 1:38 PM, Richard Smith wrote: On Thu, 26 Jul 2018 at 13:14, Erik Pilkington via cfe-commits mailto:cfe-commits@lists.llvm.org>> wrote: On 7/26/18 12:52 PM, Richard Smith wrote: Other than the (fixed) ffmpeg false positive, I see this firing in three places.

Re: r337470 - [Sema] Add a new warning, -Wmemset-transposed-args

2018-07-26 Thread Erik Pilkington via cfe-commits
arning shouldn't fire if the memset is from a macro? On Thu, Jul 19, 2018 at 12:51 PM Erik Pilkington via cfe-commits mailto:cfe-commits@lists.llvm.org>> wrote: Author: epilk Date: Thu Jul 19 09:46:15 2018 New Revision: 337470

r337780 - NFC: Add the emacs c++ mode hint "-*- C++ -*-" to the headers that don't have it

2018-07-23 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jul 23 17:07:49 2018 New Revision: 337780 URL: http://llvm.org/viewvc/llvm-project?rev=337780=rev Log: NFC: Add the emacs c++ mode hint "-*- C++ -*-" to the headers that don't have it https://llvm.org/docs/CodingStandards.html#file-headers Modified:

r337766 - [Sema] Fix crash on BlockExprs in a default member initializers

2018-07-23 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jul 23 15:47:37 2018 New Revision: 337766 URL: http://llvm.org/viewvc/llvm-project?rev=337766=rev Log: [Sema] Fix crash on BlockExprs in a default member initializers Clang would crash when instantiating a BlockDecl that appeared in a default-member-initializer of a class

[libcxxabi] r337759 - [demangler] call terminate() if allocation failed

2018-07-23 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jul 23 15:23:04 2018 New Revision: 337759 URL: http://llvm.org/viewvc/llvm-project?rev=337759=rev Log: [demangler] call terminate() if allocation failed We really should set *status to memory_alloc_failure, but we need to refactor the demangler a bit to properly propagate

  1   2   3   >