Re: r310382 - [Availability] Don't make an availability attribute imply default visibility on macOS

2017-08-15 Thread Erik Pilkington via cfe-commits
Probably not, this might be a risky change. - Erik On 8/15/17 9:15 AM, Nico Weber wrote: Do we want to merge this to 5.0? On Tue, Aug 8, 2017 at 1:09 PM, Erik Pilkington via cfe-commits <cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>> wrote: Author: epilk

r310874 - [Sema] Improve some -Wunguarded-availability diagnostics

2017-08-14 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Aug 14 12:49:12 2017 New Revision: 310874 URL: http://llvm.org/viewvc/llvm-project?rev=310874=rev Log: [Sema] Improve some -Wunguarded-availability diagnostics rdar://33543523 Differential revision: https://reviews.llvm.org/D36200 Modified:

[libcxxabi] r310546 - [demangler] Fix some more -Wshadow warnings I missed in r310535

2017-08-09 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Aug 9 19:48:13 2017 New Revision: 310546 URL: http://llvm.org/viewvc/llvm-project?rev=310546=rev Log: [demangler] Fix some more -Wshadow warnings I missed in r310535 Modified: libcxxabi/trunk/src/cxa_demangle.cpp Modified: libcxxabi/trunk/src/cxa_demangle.cpp URL:

[libcxxabi] r310535 - [demangler] Fix a bunch of -Wshadow warnings

2017-08-09 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Aug 9 15:45:35 2017 New Revision: 310535 URL: http://llvm.org/viewvc/llvm-project?rev=310535=rev Log: [demangler] Fix a bunch of -Wshadow warnings These were causing failures in -Werror builds. Modified: libcxxabi/trunk/src/cxa_demangle.cpp Modified:

[libcxxabi] r310530 - Mark test as unsupported c++98/03 to fix buildbots

2017-08-09 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Aug 9 14:51:56 2017 New Revision: 310530 URL: http://llvm.org/viewvc/llvm-project?rev=310530=rev Log: Mark test as unsupported c++98/03 to fix buildbots Modified: libcxxabi/trunk/test/unittest_demangle.pass.cpp Modified:

[libcxxabi] r310525 - [demangler] Improve representation of substitutions/templates

2017-08-09 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Aug 9 14:30:57 2017 New Revision: 310525 URL: http://llvm.org/viewvc/llvm-project?rev=310525=rev Log: [demangler] Improve representation of substitutions/templates Differential revision: https://reviews.llvm.org/D36427 Added:

r310382 - [Availability] Don't make an availability attribute imply default visibility on macOS

2017-08-08 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Aug 8 10:09:09 2017 New Revision: 310382 URL: http://llvm.org/viewvc/llvm-project?rev=310382=rev Log: [Availability] Don't make an availability attribute imply default visibility on macOS Fixes PR33796, rdar://33655115 Differential revision:

[libcxxabi] r310226 - [demangler] Fix another oss-fuzz bug

2017-08-06 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Sun Aug 6 13:46:33 2017 New Revision: 310226 URL: http://llvm.org/viewvc/llvm-project?rev=310226=rev Log: [demangler] Fix another oss-fuzz bug Modified: libcxxabi/trunk/src/cxa_demangle.cpp libcxxabi/trunk/test/test_demangle.pass.cpp Modified:

Re: [libcxxabi] r309349 - [demangler] Fix some overzealous -Wreturn-type errors

2017-07-31 Thread Erik Pilkington via cfe-commits
On 7/31/17 11:44 AM, David Blaikie wrote: On Thu, Jul 27, 2017 at 6:35 PM Erik Pilkington via cfe-commits <cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>> wrote: Author: epilk Date: Thu Jul 27 18:35:14 2017 New Revision: 309349 URL: http://llv

[libcxxabi] r309650 - [demangler] Fix another bug found by oss-fuzz in r309340

2017-07-31 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jul 31 19:38:41 2017 New Revision: 309650 URL: http://llvm.org/viewvc/llvm-project?rev=309650=rev Log: [demangler] Fix another bug found by oss-fuzz in r309340 Modified: libcxxabi/trunk/src/cxa_demangle.cpp libcxxabi/trunk/test/test_demangle.pass.cpp Modified:

[libcxxabi] r309649 - [demangler] Use _LIBCPP_UNREACHABLE()

2017-07-31 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jul 31 19:38:40 2017 New Revision: 309649 URL: http://llvm.org/viewvc/llvm-project?rev=309649=rev Log: [demangler] Use _LIBCPP_UNREACHABLE() Modified: libcxxabi/trunk/src/cxa_demangle.cpp Modified: libcxxabi/trunk/src/cxa_demangle.cpp URL:

[libcxxabi] r309520 - [demangler] Fix some bugs in r309340 found by oss-fuzz

2017-07-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Sun Jul 30 13:09:55 2017 New Revision: 309520 URL: http://llvm.org/viewvc/llvm-project?rev=309520=rev Log: [demangler] Fix some bugs in r309340 found by oss-fuzz Modified: libcxxabi/trunk/src/cxa_demangle.cpp libcxxabi/trunk/test/test_demangle.pass.cpp Modified:

[libcxxabi] r309349 - [demangler] Fix some overzealous -Wreturn-type errors

2017-07-27 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jul 27 18:35:14 2017 New Revision: 309349 URL: http://llvm.org/viewvc/llvm-project?rev=309349=rev Log: [demangler] Fix some overzealous -Wreturn-type errors Modified: libcxxabi/trunk/src/cxa_demangle.cpp Modified: libcxxabi/trunk/src/cxa_demangle.cpp URL:

[libcxxabi] r309342 - [demangler] Attempt to fix linux bots, include

2017-07-27 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jul 27 17:53:30 2017 New Revision: 309342 URL: http://llvm.org/viewvc/llvm-project?rev=309342=rev Log: [demangler] Attempt to fix linux bots, include Modified: libcxxabi/trunk/src/cxa_demangle.cpp Modified: libcxxabi/trunk/src/cxa_demangle.cpp URL:

r308356 - [Sema] NFC: Move all availability checking code to SemaDeclAttr.cpp

2017-07-18 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Jul 18 13:32:07 2017 New Revision: 308356 URL: http://llvm.org/viewvc/llvm-project?rev=308356=rev Log: [Sema] NFC: Move all availability checking code to SemaDeclAttr.cpp Previously, this was awkwardly split up between SemaExpr.cpp. Modified:

[libcxxabi] r307941 - [demangler] Respect try_to_parse_template_args

2017-07-13 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jul 13 12:37:37 2017 New Revision: 307941 URL: http://llvm.org/viewvc/llvm-project?rev=307941=rev Log: [demangler] Respect try_to_parse_template_args Fixes an exponential parse found by oss-fuzz. Modified: libcxxabi/trunk/src/cxa_demangle.cpp

[libcxxabi] r307482 - [Demangler] NFC: Don't make the parse_* functions templates

2017-07-08 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Sat Jul 8 11:54:08 2017 New Revision: 307482 URL: http://llvm.org/viewvc/llvm-project?rev=307482=rev Log: [Demangler] NFC: Don't make the parse_* functions templates Differential revision: https://reviews.llvm.org/D35158 Modified: libcxxabi/trunk/src/cxa_demangle.cpp

[libcxxabi] r307481 - [Demangler] NFC: Move Db struct to beginning of file

2017-07-08 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Sat Jul 8 11:54:07 2017 New Revision: 307481 URL: http://llvm.org/viewvc/llvm-project?rev=307481=rev Log: [Demangler] NFC: Move Db struct to beginning of file Differential revision: https://reviews.llvm.org/D35158 Modified: libcxxabi/trunk/src/cxa_demangle.cpp

Re: r307175 - [Sema] Don't allow -Wunguarded-availability to be silenced with redecls

2017-07-06 Thread Erik Pilkington via cfe-commits
o, where's the logic for that? If not, what library is supposed to provide the runtime check function? The runtime component (__isOSVersionAtLeast) is in compiler-rt/builtins. Are you having problems linking with it? Erik On Jul 5, 2017 7:09 PM, "Erik Pilkington via cfe-commits" <cfe

r307175 - [Sema] Don't allow -Wunguarded-availability to be silenced with redecls

2017-07-05 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Jul 5 10:08:56 2017 New Revision: 307175 URL: http://llvm.org/viewvc/llvm-project?rev=307175=rev Log: [Sema] Don't allow -Wunguarded-availability to be silenced with redecls Differential revision: https://reviews.llvm.org/D33816 Modified:

Re: [libcxxabi] r305173 - cxa_demangle: fix -Wimplicit-fallthrough for GCC:7

2017-06-12 Thread Erik Pilkington via cfe-commits
Clang warns on macos here: /Users/epilk/llvm/projects/libcxxabi/src/cxa_demangle.cpp:2261:27: warning: unknown attribute 'fallthrough' ignored [-Wunknown-attributes] [[gnu::fallthrough]]; ^ Can you try defining a compatibility macro like

r305195 - [Sema][C++1z] Ensure binding in dependent range for have non-null type

2017-06-12 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jun 12 11:11:06 2017 New Revision: 305195 URL: http://llvm.org/viewvc/llvm-project?rev=305195=rev Log: [Sema][C++1z] Ensure binding in dependent range for have non-null type Fixes PR32172 Differential revision: https://reviews.llvm.org/D34096 Modified:

r304306 - [Sema][ObjC] Don't emit availability diags for category @implementations

2017-05-31 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed May 31 10:45:57 2017 New Revision: 304306 URL: http://llvm.org/viewvc/llvm-project?rev=304306=rev Log: [Sema][ObjC] Don't emit availability diags for category @implementations These diagnostics can't be disabled, and can't actually catch any bugs. rdar://32427296

[libcxxabi] r304113 - [demangler] Fix a exponential string copying bug

2017-05-28 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Sun May 28 18:15:50 2017 New Revision: 304113 URL: http://llvm.org/viewvc/llvm-project?rev=304113=rev Log: [demangler] Fix a exponential string copying bug The problem was that if base_name() was called from a context without an actual base name, it could gulp up the entire

[libcxx] r303878 - Fix a test that was failing in C++11 mode introduced in r303874

2017-05-25 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu May 25 11:16:17 2017 New Revision: 303878 URL: http://llvm.org/viewvc/llvm-project?rev=303878=rev Log: Fix a test that was failing in C++11 mode introduced in r303874 Modified:

[libcxx] r303874 - Add support for shared_ptr

2017-05-25 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu May 25 10:43:31 2017 New Revision: 303874 URL: http://llvm.org/viewvc/llvm-project?rev=303874=rev Log: Add support for shared_ptr Fixes PR27566. Differential revision: https://reviews.llvm.org/D30837 Added:

[libcxxabi] r303806 - [Demangler] Remove a failing assert introduced in r303718

2017-05-24 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed May 24 15:53:13 2017 New Revision: 303806 URL: http://llvm.org/viewvc/llvm-project?rev=303806=rev Log: [Demangler] Remove a failing assert introduced in r303718 Modified: libcxxabi/trunk/src/cxa_demangle.cpp Modified: libcxxabi/trunk/src/cxa_demangle.cpp URL:

r303562 - [Sema][ObjC] Fix a bug where -Wunguarded-availability was emitted at the wrong location

2017-05-22 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon May 22 10:41:12 2017 New Revision: 303562 URL: http://llvm.org/viewvc/llvm-project?rev=303562=rev Log: [Sema][ObjC] Fix a bug where -Wunguarded-availability was emitted at the wrong location Differential revision: https://reviews.llvm.org/D33250 Modified:

[libcxx] r303466 - [test] Add support for Objective-C++ tests

2017-05-19 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri May 19 18:02:49 2017 New Revision: 303466 URL: http://llvm.org/viewvc/llvm-project?rev=303466=rev Log: [test] Add support for Objective-C++ tests Differential revision: https://reviews.llvm.org/D33049 Added: libcxx/trunk/test/libcxx/selftest/test.arc.fail.mm

r302695 - [Sema] Objective-C++ support for type trait __is_base_of

2017-05-10 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed May 10 12:18:56 2017 New Revision: 302695 URL: http://llvm.org/viewvc/llvm-project?rev=302695=rev Log: [Sema] Objective-C++ support for type trait __is_base_of rdar://24308607 Differential revision: https://reviews.llvm.org/D32891 Added:

r296015 - [ObjC][CodeGen] CodeGen support for @available.

2017-02-23 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Feb 23 15:08:08 2017 New Revision: 296015 URL: http://llvm.org/viewvc/llvm-project?rev=296015=rev Log: [ObjC][CodeGen] CodeGen support for @available. CodeGens uses of @available into calls to the compiler-rt function __isOSVersionAtLeast. This commit is part of a

r295763 - Fix copy and paste mistake in header comment, NFC.

2017-02-21 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Feb 21 14:31:01 2017 New Revision: 295763 URL: http://llvm.org/viewvc/llvm-project?rev=295763=rev Log: Fix copy and paste mistake in header comment, NFC. Modified: cfe/trunk/lib/CodeGen/CGObjC.cpp Modified: cfe/trunk/lib/CodeGen/CGObjC.cpp URL:

Re: r290792 - [c++17] Implement P0522R0 as written. This allows a template template argument

2017-01-01 Thread Erik Pilkington via cfe-commits
> On Dec 31, 2016, at 4:41 PM, Richard Smith via cfe-commits > wrote: > > Author: rsmith > Date: Sat Dec 31 15:41:23 2016 > New Revision: 290792 > > URL: http://llvm.org/viewvc/llvm-project?rev=290792=rev > Log: > [c++17] Implement P0522R0 as written. This allows a

[PATCH] D24639: [Sema] Warn when returning a lambda that captures a local variable by reference

2016-11-23 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Ping! https://reviews.llvm.org/D24639 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D26893: [Sema] Fix assert on valid during template argument deduction

2016-11-19 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added a reviewer: rsmith. erik.pilkington added a subscriber: cfe-commits. This patch fixes an assert that fired when diagnosing a failed template argument deduction attempt. The problem is that when deducing template arguments for a

[PATCH] D26664: [ObjC] Prevent infinite loops when iterating over redeclaration of a method that was declared in an invalid interface

2016-11-15 Thread Erik Pilkington via cfe-commits
erik.pilkington added inline comments. Comment at: lib/AST/DeclObjC.cpp:841 +return nullptr; + if (const auto *Ctx = cast(Redecl->getDeclContext())) +if (Ctx->isInvalidDecl()) arphaman wrote: > mehdi_amini wrote: > > Either you should use `dyn_cast`, or

[PATCH] D24639: [Sema] Warn when returning a lambda that captures a local variable by reference

2016-11-12 Thread Erik Pilkington via cfe-commits
erik.pilkington added inline comments. Comment at: test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp:185 f(y, d); - f(z, d); + f(z, d); // expected-warning {{address of stack memory associated with local variable 'z' returned}} decltype(a)

[PATCH] D24639: [Sema] Warn when returning a lambda that captures a local variable by reference

2016-11-12 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 77717. erik.pilkington added a comment. This new patch rewrites the check to just use the captures in the lambda's CXXRecordDecl, instead of searching through the returned expression to find the LambdaExpr. Thanks! https://reviews.llvm.org/D24639

[PATCH] D26189: Add a note that points to the linkage specifier for the "must have C++ linkage" errors

2016-11-01 Thread Erik Pilkington via cfe-commits
erik.pilkington added inline comments. Comment at: lib/Sema/SemaTemplate.cpp:5946 +if (const LinkageSpecDecl *LSD = Ctx->getExternCContext()) + Diag(LSD->getExternLoc(), diag::note_module_import_in_extern_c); +return true; Can you update the name of

r285457 - [Sema] Delay partial availability diagnostics, just like deprecated

2016-10-28 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Oct 28 16:39:27 2016 New Revision: 285457 URL: http://llvm.org/viewvc/llvm-project?rev=285457=rev Log: [Sema] Delay partial availability diagnostics, just like deprecated This is done so that the following compiles with no warnings: int fn(type_10_12)

Re: [PATCH] D23003: [ObjC Availability] Warn upon unguarded use of partially available declaration

2016-10-26 Thread Erik Pilkington via cfe-commits
Hi Nico, All that is left for the diagnostic to make sense it CodeGen support for @available, which is something I’m working on now. I should have a patch up for it in a couple days. I suppose it was a mistake to mention upgrading to something that doesn’t work yet, if this is an inconvenience

r285098 - Reapply r284265: "[Sema] Refactor context checking for availability diagnostics"

2016-10-25 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Oct 25 14:05:50 2016 New Revision: 285098 URL: http://llvm.org/viewvc/llvm-project?rev=285098=rev Log: Reapply r284265: "[Sema] Refactor context checking for availability diagnostics" The problem with the original commit was that some of Apple's headers depended on an

r284690 - Replace uses of LLVM_FUNCTION_NAME with __func__, this was macro was removed from llvm/Support in r284681

2016-10-19 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Oct 19 21:46:22 2016 New Revision: 284690 URL: http://llvm.org/viewvc/llvm-project?rev=284690=rev Log: Replace uses of LLVM_FUNCTION_NAME with __func__, this was macro was removed from llvm/Support in r284681 Modified: cfe/trunk/tools/libclang/CIndexHigh.cpp

Re: r284265 - [Sema] Refactor context checking for availability diagnostics

2016-10-18 Thread Erik Pilkington via cfe-commits
teBalanceGains __attribute__((availability(ios,introduced=... >> ^ >> 1 error generated. >> >> Maybe we can carve out an exception based on the fact that this is just an >> extern declaration of the variable — it’s not actually being used here. It >> is also defined

Re: r284265 - [Sema] Refactor context checking for availability diagnostics

2016-10-18 Thread Erik Pilkington via cfe-commits
ot actually being used here. It is > also defined within the @interface for an Objective-C class, in case that > helps at all. > >> On Oct 14, 2016, at 12:08 PM, Erik Pilkington via cfe-commits >> <cfe-commits@lists.llvm.org> wrote: >> >> Author: epilk >

r284486 - Revert r284265 "[Sema] Refactor context checking for availability diagnostics"

2016-10-18 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Oct 18 10:26:43 2016 New Revision: 284486 URL: http://llvm.org/viewvc/llvm-project?rev=284486=rev Log: Revert r284265 "[Sema] Refactor context checking for availability diagnostics" This has a bug in it, pointed out by Bob Wilson! Modified:

[PATCH] D25284: AvailabilityAttrs: Delay partial availability diagnostics

2016-10-14 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 74738. erik.pilkington added a comment. This new patch renames `DelayedDiagnostic::DeprecationData` to `DelayedDiagnostic::AvailabilityData`, because now that it can hold information about deprecated, unavailable, and partial diagnostics. Thanks,

r284265 - [Sema] Refactor context checking for availability diagnostics

2016-10-14 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Oct 14 14:08:01 2016 New Revision: 284265 URL: http://llvm.org/viewvc/llvm-project?rev=284265=rev Log: [Sema] Refactor context checking for availability diagnostics This commit combines a couple of redundant functions that do availability attribute context checking into a

[PATCH] D25283: AvailabilityAttrs: Refactor context checking when diagnosing an availability violation

2016-10-13 Thread Erik Pilkington via cfe-commits
erik.pilkington added inline comments. Comment at: lib/Sema/SemaExpr.cpp:179 - if (const DeclContext *DC = S.getCurObjCLexicalContext()) -ContextVersion = S.getVersionForDecl(cast(DC)); - manmanren wrote: > I don't quite get why we can remove the above

[PATCH] D25283: AvailabilityAttrs: Refactor context checking when diagnosing an availability violation

2016-10-13 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 74547. erik.pilkington added a comment. This new patch fixes the style issues @aaron.ballman and @manmanren brought up. Thanks, Erik https://reviews.llvm.org/D25283 Files: include/clang/Sema/Sema.h lib/Sema/SemaDecl.cpp

[PATCH] D25284: AvailabilityAttrs: Delay partial availability diagnostics

2016-10-05 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added a reviewer: manmanren. erik.pilkington added a subscriber: cfe-commits. Note: this patch depends on: https://reviews.llvm.org/D25283 This patch delays handling of `AR_NotYetIntroduced` diagnostics, so that the following compiles with

[PATCH] D25283: AvailabilityAttrs: Refactor context checking when diagnosing an availability violation

2016-10-05 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added a reviewer: manmanren. erik.pilkington added a subscriber: cfe-commits. This patch removes some redundant functions that implement checking availability against context, and implements a new, more correct one:

Re: [PATCH] D22053: [Sema] Fix a C++1z bug where initializer for static constexpr data member was not instantiated

2016-09-15 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Ping, sorry for the delay. https://reviews.llvm.org/D22053 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D24639: [Sema] Warn when returning a lambda that captures a local variable by reference

2016-09-15 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added reviewers: faisalv, rsmith. erik.pilkington added a subscriber: cfe-commits. Previously, clang emitted no diagnostic for the following: ``` auto f() { int loc; return [&] { return loc; }; } ``` The problem being that this returns a

r278826 - [ObjC] Warn on unguarded use of partial declaration

2016-08-16 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Aug 16 12:44:11 2016 New Revision: 278826 URL: http://llvm.org/viewvc/llvm-project?rev=278826=rev Log: [ObjC] Warn on unguarded use of partial declaration This commit adds a traversal of the AST after Sema of a function that diagnoses unguarded references to declarations

Re: [PATCH] D23003: [ObjC Availability] Warn upon unguarded use of partially available declaration

2016-08-11 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 67713. erik.pilkington added a comment. This new patch adds some testcases for templates, and simplifies some control flow in `TraverseIfStmt`. This patch also removes diagnostics for instantiated templates, instead just using the pattern. This

Re: [PATCH] D23003: [ObjC Availability] Warn upon unguarded use of partially available declaration

2016-08-10 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 67582. erik.pilkington added a comment. This new patch rebases on top of r277887, and addresses Manman's comments. After looking through the AST nodes, I realized I neglected to emit a diagnostic for member expressions. I also noticed that function

r277906 - [NFC] Silence noisy -Wreturn-type warnings

2016-08-05 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Aug 5 20:54:50 2016 New Revision: 277906 URL: http://llvm.org/viewvc/llvm-project?rev=277906=rev Log: [NFC] Silence noisy -Wreturn-type warnings Modified: cfe/trunk/lib/Sema/SemaExpr.cpp Modified: cfe/trunk/lib/Sema/SemaExpr.cpp URL:

r277887 - [NFC][ObjC Availability] Refactor DiagnoseAvailabilityOfDecl

2016-08-05 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Aug 5 17:59:03 2016 New Revision: 277887 URL: http://llvm.org/viewvc/llvm-project?rev=277887=rev Log: [NFC][ObjC Availability] Refactor DiagnoseAvailabilityOfDecl Differential revision: https://reviews.llvm.org/D23221 Modified:

[PATCH] D23221: [NFC][ObjC Availability] Split up DiagnoseAvailabilityOfDecl, remove redundant enumeration

2016-08-05 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added a reviewer: manmanren. erik.pilkington added a subscriber: cfe-commits. This patch removes the enum `Sema::AvailabilityDiagnostic`, which is redundant with `clang::AvailabilityResult`, and pulls out a function,

Re: r277095 - [Parser] Fix bug where delayed typo in conditional expression was corrected twice

2016-08-02 Thread Erik Pilkington via cfe-commits
Sure, this is a pretty harmless bugfix. Cheers, Erik > On Aug 2, 2016, at 11:05 AM, Hans Wennborg <h...@chromium.org> wrote: > > Should we merge this to 3.9? > > Thanks, > Hans > > On Thu, Jul 28, 2016 at 5:55 PM, Erik Pilkington via cfe-commits > <cfe-comm

Re: [PATCH] D23003: [ObjC Availability] Warn upon unguarded use of partially available declaration

2016-08-02 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 66555. erik.pilkington added a comment. @dcoughlin: Yes, good point! This new patch uses the enclosing version to diagnose both branches of the '*' case, as opposed to ignoring them. https://reviews.llvm.org/D23003 Files:

Re: [PATCH] D23003: [ObjC Availability] Warn upon unguarded use of partially available declaration

2016-08-02 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 66501. erik.pilkington added a comment. This new patch removes the warning `diag::warn_available_using_star_case`, as per Devin's suggestion. https://reviews.llvm.org/D23003 Files: include/clang/AST/Stmt.h

r277378 - [ObjC Availability] Fix partial-availability false positive introduced in r277058

2016-08-01 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Aug 1 15:19:49 2016 New Revision: 277378 URL: http://llvm.org/viewvc/llvm-project?rev=277378=rev Log: [ObjC Availability] Fix partial-availability false positive introduced in r277058 Thanks to Nico Weber for pointing this out! Differential revision:

[PATCH] D23024: [ObjC Availability] Fix false positive of -Wpartial-availability introduced in r277058

2016-08-01 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added reviewers: manmanren, thakis. erik.pilkington added a subscriber: cfe-commits. As of r277058, Clang would incorrectly emit -Wpartial-availability for the following (when compiled with -mmacosx-verison-min=10.6): ``` int fn_10_5()

r277175 - Reapply r277058: "[ObjC] Consider availability of context when emitting availability warnings"

2016-07-29 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Jul 29 12:37:38 2016 New Revision: 277175 URL: http://llvm.org/viewvc/llvm-project?rev=277175=rev Log: Reapply r277058: "[ObjC] Consider availability of context when emitting availability warnings" Modified: cfe/trunk/include/clang/AST/DeclBase.h

r277095 - [Parser] Fix bug where delayed typo in conditional expression was corrected twice

2016-07-28 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jul 28 19:55:40 2016 New Revision: 277095 URL: http://llvm.org/viewvc/llvm-project?rev=277095=rev Log: [Parser] Fix bug where delayed typo in conditional expression was corrected twice Patch by David Tarditi! Differential revision: https://reviews.llvm.org/D22930

Re: [PATCH] D22930: [Parser] only correct delayed typos for conditional expressions when needed.

2016-07-28 Thread Erik Pilkington via cfe-commits
erik.pilkington accepted this revision. erik.pilkington added a comment. This revision is now accepted and ready to land. LGTM, thanks! https://reviews.llvm.org/D22930 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

r277070 - Revert "[ObjC] Consider availability of context when emitting availability warnings"

2016-07-28 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jul 28 17:51:11 2016 New Revision: 277070 URL: http://llvm.org/viewvc/llvm-project?rev=277070=rev Log: Revert "[ObjC] Consider availability of context when emitting availability warnings" Reverting r277058, while I fugure out why it broke internal bots. This reverts

r277058 - [ObjC] Consider availability of context when emitting availability warnings

2016-07-28 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jul 28 17:09:53 2016 New Revision: 277058 URL: http://llvm.org/viewvc/llvm-project?rev=277058=rev Log: [ObjC] Consider availability of context when emitting availability warnings This means that a function marked with an availability attribute can safely refer to a

r276900 - [Sema] Teach getCurrentThisType to reconize lambda in in-class initializer

2016-07-27 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Wed Jul 27 13:25:10 2016 New Revision: 276900 URL: http://llvm.org/viewvc/llvm-project?rev=276900=rev Log: [Sema] Teach getCurrentThisType to reconize lambda in in-class initializer Fixes PR27994, a crash on valid. Differential revision: https://reviews.llvm.org/D21145

Re: [PATCH] D22697: [ObjC Availability] Consider lexical context of use of declaration when emitting availability diagnostics

2016-07-26 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 65595. erik.pilkington added a comment. Thanks for taking a look! This new patch makes a `getCurContextVersion` (now `getVersionForDecl`) take a parameter, which is the declaration that needs to be considered. This is so that we can later reuse it

[PATCH] D22770: [Sema, NFC] Reset HasFallthroughStmt when clearing FunctionScopeInfo

2016-07-25 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added a reviewer: rsmith. erik.pilkington added a subscriber: cfe-commits. The FunctionScopeInfo stack in Sema uses an optimization where the memory for the top-level functions is reused. The function FunctionScopeInfo::Clear() is used to

[PATCH] D22697: [ObjC Availability] Consider lexical context of use of declaration when emitting availability diagnostics

2016-07-22 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added a reviewer: manmanren. erik.pilkington added a subscriber: cfe-commits. -Wpartial-availability currently fires on the following: ``` void f1() __attribute__((availability(macos, introduced=10.10))); void f2()

r276350 - [CodeGen] Fix a crash when constant folding switch statement

2016-07-21 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jul 21 17:31:40 2016 New Revision: 276350 URL: http://llvm.org/viewvc/llvm-project?rev=276350=rev Log: [CodeGen] Fix a crash when constant folding switch statement Differential revision: https://reviews.llvm.org/D22542 Modified: cfe/trunk/lib/CodeGen/CGStmt.cpp

Re: [PATCH] D21145: [Sema] Fix crash on valid where instantiation of lambda cannot access type of 'this'

2016-07-20 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Ping! https://reviews.llvm.org/D21145 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D22542: [CodeGen] Fix a crash on valid when constant folding 'default:' statement in switch

2016-07-19 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added reviewers: rsmith, manmanren. erik.pilkington added a subscriber: cfe-commits. The following valid code crashes Clang in CodeGen: ``` void other_test() { switch(0) { case 0: do { default:; } while(0); } } ``` The

Re: [PATCH] D22053: [Sema] Fix a C++1z bug where initializer for static constexpr data member was not instantiated

2016-07-17 Thread Erik Pilkington via cfe-commits
erik.pilkington added inline comments. Comment at: lib/Sema/SemaTemplateInstantiateDecl.cpp:3861 @@ -3860,3 +3860,3 @@ // static data members until a definition of the variable is needed. We need - // it right away if the type contains 'auto'. + // it right away if the type

r275654 - [ObjC] Implement @available in the Parser and AST

2016-07-15 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Fri Jul 15 19:35:23 2016 New Revision: 275654 URL: http://llvm.org/viewvc/llvm-project?rev=275654=rev Log: [ObjC] Implement @available in the Parser and AST This patch adds a new AST node: ObjCAvailabilityCheckExpr, and teaches the Parser and Sema to generate it. This node

Re: [PATCH] D22171: [ObjC Availability] Implement parser support for Objective-C's @available

2016-07-15 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Ping! https://reviews.llvm.org/D22171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D22311: [Sema] Improve template argument deduction diagnostic for ambiguous base classes

2016-07-13 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added reviewers: rsmith, faisalv. erik.pilkington added a subscriber: cfe-commits. Previously, clang would give a terrible diagnostic for the following: ``` template struct B {}; struct D : B<0>, B<1> {}; template int f(B) { return 0; } //

Re: [PATCH] D22053: [Sema] Fix a C++1z bug where initializer for static constexpr data member was not instantiated

2016-07-13 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Ping! http://reviews.llvm.org/D22053 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D21145: [Sema] Fix crash on valid where instantiation of lambda cannot access type of 'this'

2016-07-13 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Pong! http://reviews.llvm.org/D21145 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r275095 - [NFC] Reorder fields of VersionTuple to reduce size

2016-07-11 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jul 11 15:00:48 2016 New Revision: 275095 URL: http://llvm.org/viewvc/llvm-project?rev=275095=rev Log: [NFC] Reorder fields of VersionTuple to reduce size Differential revision: http://reviews.llvm.org/D19934 Modified: cfe/trunk/include/clang/Basic/VersionTuple.h

[PATCH] D22171: [ObjC Availability] Implement parser support for Objective-C's @available

2016-07-08 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added reviewers: manmanren, dexonsmith. erik.pilkington added a subscriber: cfe-commits. This patch is the first of the feature I proposed on Monday here: http://lists.llvm.org/pipermail/cfe-dev/2016-July/049851.html This patch adds a new

[PATCH] D22053: [Sema] Fix a C++1z bug where initializer for static constexpr data member was not instantiated

2016-07-06 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added reviewers: rsmith, faisalv. erik.pilkington added a subscriber: cfe-commits. This is a regression that only affects -std=c++1z, introduced in r273754. The following test case (thanks rsmith!) fails to compile: ``` template struct X

Re: [PATCH] D21145: [Sema] Fix crash on valid where instantiation of lambda cannot access type of 'this'

2016-07-05 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Ping! http://reviews.llvm.org/D21145 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r274566 - [Sema] Fix a bug where pack expansion was not expanded in type alias

2016-07-05 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Jul 5 12:57:24 2016 New Revision: 274566 URL: http://llvm.org/viewvc/llvm-project?rev=274566=rev Log: [Sema] Fix a bug where pack expansion was not expanded in type alias The problem is that the parameter pack in a function type type alias is not reexpanded after being

Re: [PATCH] D21619: [Sema] Implement C++14's DR1579: Prefer moving id-expression out of functions

2016-07-01 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Yes, also PR28096. I marked them as being duplicates on the bugzilla. Repository: rL LLVM http://reviews.llvm.org/D21619 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

r274291 - [Sema] Implement C++14's DR1579: Prefer returning by converting move constructor

2016-06-30 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Thu Jun 30 18:09:13 2016 New Revision: 274291 URL: http://llvm.org/viewvc/llvm-project?rev=274291=rev Log: [Sema] Implement C++14's DR1579: Prefer returning by converting move constructor Fixes PR28096. Differential Revision: http://reviews.llvm.org/D21619 Modified:

Re: [PATCH] D21619: [Sema] Implement C++14's DR1579: Prefer moving id-expression out of functions

2016-06-30 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 62405. erik.pilkington added a comment. This new patch addresses all of Richard's comments. http://reviews.llvm.org/D21619 Files: include/clang/Sema/Initialization.h include/clang/Sema/Sema.h lib/Sema/SemaStmt.cpp test/CXX/drs/dr15xx.cpp

r274077 - [Sema] Disallow ambigious base classes in template argument deduction

2016-06-28 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Tue Jun 28 18:05:09 2016 New Revision: 274077 URL: http://llvm.org/viewvc/llvm-project?rev=274077=rev Log: [Sema] Disallow ambigious base classes in template argument deduction Fixes PR28195. Differential revision: http://reviews.llvm.org/D21653 Modified:

Re: [PATCH] D21653: [Sema] Disallow ambiguous base-to-derived conversion in template argument deduction

2016-06-28 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Do you mean Faisal's example? He committed that in r270016. Thanks for taking a look! http://reviews.llvm.org/D21653 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D21145: [Sema] Fix crash on valid where instantiation of lambda cannot access type of 'this'

2016-06-28 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Okay, thanks! I'll add the assert in. @rsmith: Any thoughts on this? http://reviews.llvm.org/D21145 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D21030: [Sema] Fix rejects-valid where parameter pack was not expanded in type alias

2016-06-27 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Ping! http://reviews.llvm.org/D21030 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D21653: [Sema] Disallow ambiguous base-to-derived conversion in template argument deduction

2016-06-23 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added reviewers: rsmith, faisalv. erik.pilkington added a subscriber: cfe-commits. Previously, Clang would incorrectly accept the following: ``` template struct A {}; struct B : A<0>, A<1> {}; template int f(A); int main() { f(B()); } ``` The

[PATCH] D21619: [Sema] Implement C++14's DR1579: Prefer moving id-expression out of functions

2016-06-22 Thread Erik Pilkington via cfe-commits
erik.pilkington created this revision. erik.pilkington added reviewers: rsmith, faisalv. erik.pilkington added a subscriber: cfe-commits. DR1579 says that when returning a id-expression from a function, we should attempt to return said expression by move first, then fallback to copy. This patch

r273193 - [Sema] Only define function as move assignment when needed

2016-06-20 Thread Erik Pilkington via cfe-commits
Author: epilk Date: Mon Jun 20 15:04:15 2016 New Revision: 273193 URL: http://llvm.org/viewvc/llvm-project?rev=273193=rev Log: [Sema] Only define function as move assignment when needed Fixes PR27941, a crash on invalid. Differential revision: http://reviews.llvm.org/D20923 Modified:

Re: [PATCH] D20923: [Sema] Fix a crash on invalid where invalid defaulted function is called

2016-06-16 Thread Erik Pilkington via cfe-commits
erik.pilkington added a comment. Ping! http://reviews.llvm.org/D20923 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D21030: [Sema] Fix rejects-valid where parameter pack was not expanded in type alias

2016-06-15 Thread Erik Pilkington via cfe-commits
erik.pilkington updated this revision to Diff 60908. erik.pilkington added a comment. This new patch replaces the call to `RebuildPackExpansion` with a direct call to `getPackExpansionType`. Also use `None` instead of `NumExpansions` as argument. As far as the `assert(*NumExpansions == 1)`, I

<    1   2   3   4   >