Re: [PATCH] D28931: Disable aligned new/delete on Apple platforms without posix_memalign

2017-01-20 Thread Richard Smith via cfe-commits
On 20 January 2017 at 11:53, Eric Fiselier via Phabricator < revi...@reviews.llvm.org> wrote: > EricWF added a comment. > > @rsmith I looked for an alternative provider for aligned allocation but > couldn't find one, which is quite unfortunate. Is this going to mess up the > `__libcpp_version` det

r292811 - Fix documentation typo from r292558.

2017-01-23 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jan 23 12:17:46 2017 New Revision: 292811 URL: http://llvm.org/viewvc/llvm-project?rev=292811&view=rev Log: Fix documentation typo from r292558. Modified: cfe/trunk/docs/LanguageExtensions.rst Modified: cfe/trunk/docs/LanguageExtensions.rst URL: http://llvm.org/view

Re: r292558 - Add documentation for constexpr string builtin support.

2017-01-23 Thread Richard Smith via cfe-commits
On 22 January 2017 at 07:57, Kim Gräsman wrote: > Hi Richard, > > On Fri, Jan 20, 2017 at 1:58 AM, Richard Smith via cfe-commits > wrote: > > > > +String builtins > > +--- > > + > > +Clang provides constant expression evaluation support

r292847 - PR31692: Don't mark a declaration as invalid if we haven't necessarily emitted a (user-visible) error.

2017-01-23 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jan 23 17:14:23 2017 New Revision: 292847 URL: http://llvm.org/viewvc/llvm-project?rev=292847&view=rev Log: PR31692: Don't mark a declaration as invalid if we haven't necessarily emitted a (user-visible) error. Added: cfe/trunk/test/SemaCXX/cxx11-default-member-initi

Re: r292847 - PR31692: Don't mark a declaration as invalid if we haven't necessarily emitted a (user-visible) error.

2017-01-23 Thread Richard Smith via cfe-commits
Hans, this should go into Clang 4. On 23 January 2017 at 15:14, Richard Smith via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: rsmith > Date: Mon Jan 23 17:14:23 2017 > New Revision: 292847 > > URL: http://llvm.org/viewvc/llvm-project?rev=292847&view=re

r292978 - Strengthen test from r292632 to also check we get the mangling correct for this case.

2017-01-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jan 24 15:03:48 2017 New Revision: 292978 URL: http://llvm.org/viewvc/llvm-project?rev=292978&view=rev Log: Strengthen test from r292632 to also check we get the mangling correct for this case. Modified: cfe/trunk/test/CodeGenCXX/mangle.cpp Modified: cfe/trunk/test/

Re: r292632 - Fix actually-reachable llvm_unreachable.

2017-01-24 Thread Richard Smith via cfe-commits
> is intended/should be tested for) > A very reasonable suggestion :) r292978, thanks! > On Fri, Jan 20, 2017 at 11:01 AM Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: rsmith >> Date: Fri Jan 20 12:50:12 2017 >> New Revi

r292991 - PR31742: Don't emit a bogus "zero size array" extwarn when initializing a

2017-01-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jan 24 17:18:28 2017 New Revision: 292991 URL: http://llvm.org/viewvc/llvm-project?rev=292991&view=rev Log: PR31742: Don't emit a bogus "zero size array" extwarn when initializing a runtime-sized array from an empty list in an array new. Modified: cfe/trunk/lib/Sema/S

Re: r292991 - PR31742: Don't emit a bogus "zero size array" extwarn when initializing a

2017-01-24 Thread Richard Smith via cfe-commits
Hi Hans, This is relatively minor, but it's safe and fixes a rejects-valid regression in some configurations. Might be worth taking for Clang 4. On 24 January 2017 at 15:18, Richard Smith via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: rsmith > Date: Tue Jan

r293123 - Remove and replace DiagStatePoint tracking and lookup data structure.

2017-01-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jan 25 19:01:01 2017 New Revision: 293123 URL: http://llvm.org/viewvc/llvm-project?rev=293123&view=rev Log: Remove and replace DiagStatePoint tracking and lookup data structure. Rather than storing a single flat list of SourceLocations where the diagnostic state changes (

r293207 - PR0091R3: Implement parsing support for using templates as types.

2017-01-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jan 26 14:40:47 2017 New Revision: 293207 URL: http://llvm.org/viewvc/llvm-project?rev=293207&view=rev Log: PR0091R3: Implement parsing support for using templates as types. This change adds a new type node, DeducedTemplateSpecializationType, to represent a type template

r293219 - [modules] When reading / writing a typedef that is a name for linkage for

2017-01-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jan 26 16:39:55 2017 New Revision: 293219 URL: http://llvm.org/viewvc/llvm-project?rev=293219&view=rev Log: [modules] When reading / writing a typedef that is a name for linkage for another declaration, ensure we actually serialize / deserialize that declaration. Before t

r293222 - Add files forgotten in r293219.

2017-01-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jan 26 17:06:10 2017 New Revision: 293222 URL: http://llvm.org/viewvc/llvm-project?rev=293222&view=rev Log: Add files forgotten in r293219. Added: cfe/trunk/test/Modules/Inputs/merge-name-for-linkage/c1.h cfe/trunk/test/Modules/Inputs/merge-name-for-linkage/c2.h

r293223 - [modules] Additional tests.

2017-01-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jan 26 17:07:59 2017 New Revision: 293223 URL: http://llvm.org/viewvc/llvm-project?rev=293223&view=rev Log: [modules] Additional tests. Added: cfe/trunk/test/Modules/Inputs/anon-redecl/ cfe/trunk/test/Modules/Inputs/anon-redecl/a.h cfe/trunk/test/Modules/Input

Re: r292561 - PR31701: Fix crash on invalid caused by parsing a dependent initializer when we

2017-01-26 Thread Richard Smith via cfe-commits
Sure, why not. On 26 January 2017 at 15:56, Hans Wennborg wrote: > A candidate for clang 4? > > On Thu, Jan 19, 2017 at 5:19 PM, Richard Smith via cfe-commits > wrote: > > Author: rsmith > > Date: Thu Jan 19 19:19:46 2017 > > New Revision: 292561 > >

r293252 - Improve workaround for Sphinx's lack of support for command line options containing '+', '.' etc. to be more stable as the set of options changes.

2017-01-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jan 26 19:54:42 2017 New Revision: 293252 URL: http://llvm.org/viewvc/llvm-project?rev=293252&view=rev Log: Improve workaround for Sphinx's lack of support for command line options containing '+', '.' etc. to be more stable as the set of options changes. Modified: cf

r293254 - [docs] Add help text and refine grouping for various options.

2017-01-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jan 26 20:08:37 2017 New Revision: 293254 URL: http://llvm.org/viewvc/llvm-project?rev=293254&view=rev Log: [docs] Add help text and refine grouping for various options. Also accept -G= (and -msmall-data-threshold=) as an alias for -G on MIPS as well as Hexagon. Modifie

r293333 - PR31783: Don't request the alignment of an invalid declaration.

2017-01-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jan 27 15:28:37 2017 New Revision: 29 URL: http://llvm.org/viewvc/llvm-project?rev=29&view=rev Log: PR31783: Don't request the alignment of an invalid declaration. Fixes an assertion failure on PS4 targets. Modified: cfe/trunk/lib/Sema/SemaDecl.cpp cfe/tr

Re: Add warning for c++ member variable shadowing

2017-01-27 Thread Richard Smith via cfe-commits
+def warn_shadow_member_variable : Warning< + "shadowed variable '%0' in type '%1' inheriting from type '%2'">, The phrasing of this is incorrect: the things you're warning about are not variables, they're non-static data members. Perhaps something like: "non-static data member '%0' of '%1' sh

Re: [PATCH] D29233: Fix linkage of static locals in available_externally functions to be DiscardableODR/linkonce_odr

2017-01-27 Thread Richard Smith via cfe-commits
On 27 January 2017 at 14:44, David Blaikie wrote: > > > On Fri, Jan 27, 2017 at 2:11 PM Mehdi AMINI via Phabricator < > revi...@reviews.llvm.org> wrote: > >> mehdi_amini accepted this revision. >> mehdi_amini added a comment. >> This revision is now accepted and ready to land. >> >> LGTM. >> >> >

r293350 - When converting a template argument representing &array to an expression for a

2017-01-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jan 27 18:38:35 2017 New Revision: 293350 URL: http://llvm.org/viewvc/llvm-project?rev=293350&view=rev Log: When converting a template argument representing &array to an expression for a pointer typed template parameter, form &array rather than an array-to-pointer decay on

r293354 - Convert sequence of 'if's on the same value to a switch. No functionality change intended.

2017-01-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jan 27 19:12:10 2017 New Revision: 293354 URL: http://llvm.org/viewvc/llvm-project?rev=293354&view=rev Log: Convert sequence of 'if's on the same value to a switch. No functionality change intended. Modified: cfe/trunk/lib/Parse/ParseDeclCXX.cpp Modified: cfe/trunk/

r293355 - Support '#pragma clang __debug dump' within C++ classes.

2017-01-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jan 27 19:20:57 2017 New Revision: 293355 URL: http://llvm.org/viewvc/llvm-project?rev=293355&view=rev Log: Support '#pragma clang __debug dump' within C++ classes. Modified: cfe/trunk/lib/Parse/ParseDeclCXX.cpp Modified: cfe/trunk/lib/Parse/ParseDeclCXX.cpp URL: ht

r293358 - -Wunused-func-template: do not warn on non-template function declarations that

2017-01-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jan 27 19:50:33 2017 New Revision: 293358 URL: http://llvm.org/viewvc/llvm-project?rev=293358&view=rev Log: -Wunused-func-template: do not warn on non-template function declarations that were nonetheless instantiated (particularly, non-template friends declared within clas

r293367 - Switch the template specialization kind for a non-defining declaration of a

2017-01-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jan 27 20:56:07 2017 New Revision: 293367 URL: http://llvm.org/viewvc/llvm-project?rev=293367&view=rev Log: Switch the template specialization kind for a non-defining declaration of a non-template function instantiated from a friend declaration in a class template from TSK

Re: r293123 - Remove and replace DiagStatePoint tracking and lookup data structure.

2017-01-28 Thread Richard Smith via cfe-commits
agnostic flags as needed, or by emitting it into an unhashed portion of the file. Thanks, Duncan > On 2017-Jan-25, at 17:01, Richard Smith via cfe-commits < cfe-commits@lists.llvm.org> wrote: > > Author: rsmith > Date: Wed Jan 25 19:01:01 2017 > New Revision: 293123 > >

r293455 - Towards P0091R3: parsing support for class template argument deduction in typename-specifiers.

2017-01-29 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Jan 29 22:38:28 2017 New Revision: 293455 URL: http://llvm.org/viewvc/llvm-project?rev=293455&view=rev Log: Towards P0091R3: parsing support for class template argument deduction in typename-specifiers. Modified: cfe/trunk/include/clang/AST/DeclTemplate.h cfe/tru

r293544 - Towards P0091R3: parsing support for class template argument deduction in typename-specifiers.

2017-01-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jan 30 14:39:26 2017 New Revision: 293544 URL: http://llvm.org/viewvc/llvm-project?rev=293544&view=rev Log: Towards P0091R3: parsing support for class template argument deduction in typename-specifiers. This reinstates r293455, reverted in r293455, with a fix for cv-qual

Re: r293473 - Revert r293455, which breaks v8 with a spurious error. Testcase added.

2017-01-30 Thread Richard Smith via cfe-commits
Thanks for the revert; fixed and re-committed as r293544. On 30 January 2017 at 02:44, Sam McCall via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: sammccall > Date: Mon Jan 30 04:44:11 2017 > New Revision: 293473 > > URL: http://llvm.org/viewvc/llvm-project?rev=293473&view=rev > Log

r293568 - PR28739: Check that integer values fit into 64 bits before extracting them as 64 bit values for pointer arithmetic.

2017-01-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jan 30 17:30:26 2017 New Revision: 293568 URL: http://llvm.org/viewvc/llvm-project?rev=293568&view=rev Log: PR28739: Check that integer values fit into 64 bits before extracting them as 64 bit values for pointer arithmetic. This fixes various ways to tickle an assertion

Re: r289787 - Re-commit r289252 and r289285, and fix PR31374

2017-01-30 Thread Richard Smith via cfe-commits
On 15 December 2016 at 00:09, Yaxun Liu via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: yaxunl > Date: Thu Dec 15 02:09:08 2016 > New Revision: 289787 > > URL: http://llvm.org/viewvc/llvm-project?rev=289787&view=rev > Log: > Re-commit r289252 and r289285, and fix PR31374 > > Added:

r293595 - Improve fix for PR28739

2017-01-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jan 30 20:23:02 2017 New Revision: 293595 URL: http://llvm.org/viewvc/llvm-project?rev=293595&view=rev Log: Improve fix for PR28739 Don't try to map an APSInt addend to an int64_t in pointer arithmetic before bounds-checking it. This gives more consistent behavior (outsid

Re: r291963 - [clang] Emit `diagnose_if` warnings from system headers

2017-01-31 Thread Richard Smith via cfe-commits
Yes, this makes sense. We should also decide what we're going to do about the larger diagnose_if patch that George has asked to be ported to Clang 4. Are you comfortable taking a patch of that size? If not, perhaps we should disable the attribute for the Clang 4 release instead. On 31 January 2017

Re: r292194 - [AST] AttributedType should derive type properties from the EquivalentType

2017-01-31 Thread Richard Smith via cfe-commits
Sure, let's take this for Clang 4. On 31 January 2017 at 10:39, Hans Wennborg wrote: > Ping? > > On Thu, Jan 26, 2017 at 3:42 PM, Hans Wennborg wrote: > > Should we merge this to the release branch? > > > > On Mon, Jan 16, 2017 at 8:14 PM, David Majnemer via cfe-commits > > wrote: > >> Author:

Re: [PATCH] D24969: [Sema] Use the instantiated name of destructors in FindInstantiatedDecl and RebuildMemberExpr

2017-01-31 Thread Richard Smith via cfe-commits
On 31 January 2017 at 14:49, Hans Wennborg wrote: > Richard, what do you think? I don't believe this fixes a 3.9 > regression, but the fix looks small, so it might be worth it. > I think on the whole the benefit of this change outweighs the risk of it regressing something. > On Tue, Jan 31, 20

Re: r291963 - [clang] Emit `diagnose_if` warnings from system headers

2017-01-31 Thread Richard Smith via cfe-commits
I'm fine with these patches being merged. Hopefully we still have plenty of time to shake out any problems between now and the release. On 31 January 2017 at 19:09, George Burgess IV wrote: > > IIUC the major risk is that diagnose_if itself turns out to be broken, > not that we'd miscompile anyt

r293740 - Remove apparently-unnecessary copy of constructor lookup result.

2017-01-31 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jan 31 21:28:59 2017 New Revision: 293740 URL: http://llvm.org/viewvc/llvm-project?rev=293740&view=rev Log: Remove apparently-unnecessary copy of constructor lookup result. Contrary to the comment, DeclContext intends to guarantee that the lookup results for a particular

r293815 - Fix hole in our enforcement of rule requiring 'typename' prior to a dependent

2017-02-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Feb 1 15:36:38 2017 New Revision: 293815 URL: http://llvm.org/viewvc/llvm-project?rev=293815&view=rev Log: Fix hole in our enforcement of rule requiring 'typename' prior to a dependent name. If the dependent name happened to end in a template-id (X::Y), we would fail to n

r293817 - Repoint 'missing typename' diagnostic to the location where 'typename' should be added.

2017-02-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Feb 1 15:41:18 2017 New Revision: 293817 URL: http://llvm.org/viewvc/llvm-project?rev=293817&view=rev Log: Repoint 'missing typename' diagnostic to the location where 'typename' should be added. Modified: cfe/trunk/lib/Sema/SemaTemplate.cpp cfe/trunk/test/CXX/te

Re: Add warning for c++ member variable shadowing

2017-02-01 Thread Richard Smith via cfe-commits
+ std::set bases; +const auto baseName = Specifier->getType()->getAsCXXRecordDecl()->getName(); Please capitalize local variable names. Also, please don't use the record name as a key in your set; that's not guaranteed to be unique. Instead, you could either use a set of canonical types or of

r293853 - Fix attribute name in diagnostic message to match actual attribute name.

2017-02-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Feb 1 19:50:47 2017 New Revision: 293853 URL: http://llvm.org/viewvc/llvm-project?rev=293853&view=rev Log: Fix attribute name in diagnostic message to match actual attribute name. Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td cfe/trunk/test/SemaC

Re: Add warning for c++ member variable shadowing

2017-02-02 Thread Richard Smith via cfe-commits
Thanks, James! I think I have only one more substantive comment: + (Field->getAccess() == AS_public || Field->getAccess() == AS_protected)) { Have you considered also taking into account the access of the inheritance path? Eg, a public member of a private base class of a public base clas

Re: r294008 - [Sema][ObjC++] Typo correction should handle ivars and properties

2017-02-03 Thread Richard Smith via cfe-commits
It looks like the only cases it should have any real impact on are those where we would previously miscompile/crash, so this seems OK to me to merge to Clang 4. On 3 February 2017 at 13:45, Hans Wennborg wrote: > IIUC, this isn't strictly fixing a regression from 3.9, but it looks > like a prett

r294078 - PR31846: Don't replace 'auto' type with a template parameter type in a generic lambda

2017-02-03 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Feb 3 19:28:01 2017 New Revision: 294078 URL: http://llvm.org/viewvc/llvm-project?rev=294078&view=rev Log: PR31846: Don't replace 'auto' type with a template parameter type in a generic lambda until after we've checked whether 'auto' is valid in the current language mode

Re: Add warning for c++ member variable shadowing

2017-02-04 Thread Richard Smith via cfe-commits
Hmm, now we're emitting one warning per path, it looks like we might diagnose shadowing the same field more than once (for a repeated non-virtual base class). Is that intentional? Maybe we should just skip producing the warning if the lookup would be ambiguous, since any use of the shadowed field w

Re: Add warning for c++ member variable shadowing

2017-02-04 Thread Richard Smith via cfe-commits
Thanks, just one more thing I noticed (sorry!) and this looks good to go. +def warn_shadow_field : Warning< + "non-static data member '%0' of '%1' shadows member inherited from type '%2'">, + InGroup; -Wshadow-ivar doesn't really make sense for this; that's for an Objective-C feature. A new -W

r294266 - P0091R3: Implement basic parsing support for C++17 deduction-guides.

2017-02-06 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Feb 6 19:37:30 2017 New Revision: 294266 URL: http://llvm.org/viewvc/llvm-project?rev=294266&view=rev Log: P0091R3: Implement basic parsing support for C++17 deduction-guides. We model deduction-guides as functions with a new kind of name that identifies the template who

Re: Add warning for c++ member variable shadowing

2017-02-07 Thread Richard Smith via cfe-commits
Great, thanks! On 7 February 2017 at 10:54, James Sun wrote: > Hi Richard, Saleem > > > > I cleaned up the patch by removing some unrelated unit tests. Also Saleem > can help me with the commit. > > > > Thanks! > > > > James > > > > *From: *James Sun > *Date: *Saturday, February 4, 2017 at 11:3

r294395 - P0091R3: Improved syntactic checking of deduction-guides.

2017-02-07 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Feb 7 18:35:25 2017 New Revision: 294395 URL: http://llvm.org/viewvc/llvm-project?rev=294395&view=rev Log: P0091R3: Improved syntactic checking of deduction-guides. Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td cfe/trunk/lib/AST/DeclarationName.c

r294396 - Fix constructor declarator detection for the case when the name is followed by

2017-02-07 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Feb 7 19:16:55 2017 New Revision: 294396 URL: http://llvm.org/viewvc/llvm-project?rev=294396&view=rev Log: Fix constructor declarator detection for the case when the name is followed by an attribute-specifier-seq. (Also fixes the same problem for deduction-guides.) Modif

r294397 - Diagnose an attempt to give a deduction-guide a function body.

2017-02-07 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Feb 7 19:27:29 2017 New Revision: 294397 URL: http://llvm.org/viewvc/llvm-project?rev=294397&view=rev Log: Diagnose an attempt to give a deduction-guide a function body. Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td cfe/trunk/lib/Sema/SemaDeclCXX

r294506 - Don't crash on 'decltype(auto)::'. Rather than treating it as a meaningless

2017-02-08 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Feb 8 13:58:48 2017 New Revision: 294506 URL: http://llvm.org/viewvc/llvm-project?rev=294506&view=rev Log: Don't crash on 'decltype(auto)::'. Rather than treating it as a meaningless nested-name-specifier (as the standard appears to require), treat it as the type specifie

r294509 - More fixes for places where 'decltype(auto)' is permitted in the C++ grammar but makes no sense.

2017-02-08 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Feb 8 14:39:08 2017 New Revision: 294509 URL: http://llvm.org/viewvc/llvm-project?rev=294509&view=rev Log: More fixes for places where 'decltype(auto)' is permitted in the C++ grammar but makes no sense. Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td

r294613 - [c++1z] P0091R3: Basic support for deducing class template arguments via deduction-guides.

2017-02-09 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Feb 9 13:17:44 2017 New Revision: 294613 URL: http://llvm.org/viewvc/llvm-project?rev=294613&view=rev Log: [c++1z] P0091R3: Basic support for deducing class template arguments via deduction-guides. Added: cfe/trunk/test/CXX/expr/expr.post/expr.type.conv/p1.cpp c

r294622 - Rename IsExplicitSpecialization -> IsMemberSpecialization when we're talking

2017-02-09 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Feb 9 15:04:43 2017 New Revision: 294622 URL: http://llvm.org/viewvc/llvm-project?rev=294622&view=rev Log: Rename IsExplicitSpecialization -> IsMemberSpecialization when we're talking about member specializations to avoid ambiguous and confusing terminology. Modified:

r294639 - Diagnose attempts to explicitly instantiate a template at class scope. Previously Clang would simply ignore the 'template' keyword in this case.

2017-02-09 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Feb 9 16:14:25 2017 New Revision: 294639 URL: http://llvm.org/viewvc/llvm-project?rev=294639&view=rev Log: Diagnose attempts to explicitly instantiate a template at class scope. Previously Clang would simply ignore the 'template' keyword in this case. Modified: cfe/

Re: [cfe-commits] r164177 - in /cfe/trunk: lib/Driver/ test/Driver/ test/Driver/Inputs/freescale_ppc_tree/ test/Driver/Inputs/freescale_ppc_tree/lib/ test/Driver/Inputs/freescale_ppc_tree/usr/ test/Dr

2017-02-09 Thread Richard Smith via cfe-commits
On 9 February 2017 at 14:33, Hal Finkel via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On 02/08/2017 07:21 PM, Chandler Carruth wrote: > > It's blast from the past time! > > On Tue, Sep 18, 2012 at 3:28 PM Hal Finkel wrote: > >> Author: hfinkel >> Date: Tue Sep 18 17:25:07 2012 >> New Rev

r294641 - Disallow explicit instantiation and explicit specialization for deduction guides.

2017-02-09 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Feb 9 16:47:51 2017 New Revision: 294641 URL: http://llvm.org/viewvc/llvm-project?rev=294641&view=rev Log: Disallow explicit instantiation and explicit specialization for deduction guides. Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td cfe/trunk/

Re: [cfe-commits] r164177 - in /cfe/trunk: lib/Driver/ test/Driver/ test/Driver/Inputs/freescale_ppc_tree/ test/Driver/Inputs/freescale_ppc_tree/lib/ test/Driver/Inputs/freescale_ppc_tree/usr/ test/Dr

2017-02-09 Thread Richard Smith via cfe-commits
On 9 February 2017 at 16:15, Hal Finkel via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On 02/09/2017 04:58 PM, Chandler Carruth wrote: > > On Thu, Feb 9, 2017 at 2:46 PM Tobias von Koch > wrote: > >> On Wed, Feb 8, 2017 at 7:21 PM, Chandler Carruth >> wrote: >> >> >> +// The Freescal

r294684 - Sink IsExplicitSpecified flag from CXXConstructorDecl and CXXConversionDecl

2017-02-09 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Feb 9 19:32:04 2017 New Revision: 294684 URL: http://llvm.org/viewvc/llvm-project?rev=294684&view=rev Log: Sink IsExplicitSpecified flag from CXXConstructorDecl and CXXConversionDecl into FunctionDecl. Makes CXXConversionDecl 8 bytes smaller. No functionality change inten

r294693 - [c++1z] P0512R0: support for 'explicit' specifier on deduction-guides.

2017-02-09 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Feb 9 20:19:05 2017 New Revision: 294693 URL: http://llvm.org/viewvc/llvm-project?rev=294693&view=rev Log: [c++1z] P0512R0: support for 'explicit' specifier on deduction-guides. Added: cfe/trunk/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cp

r306320 - When preprocessing with -frewrite-imports and -fmodule-file=, do not pass all

2017-06-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jun 26 12:39:25 2017 New Revision: 306320 URL: http://llvm.org/viewvc/llvm-project?rev=306320&view=rev Log: When preprocessing with -frewrite-imports and -fmodule-file=, do not pass all modules to preprocessing of nested .pcm files. Making those module files available res

r306325 - Remove some redundant setup when preprocessing .pcm files.

2017-06-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jun 26 13:15:21 2017 New Revision: 306325 URL: http://llvm.org/viewvc/llvm-project?rev=306325&view=rev Log: Remove some redundant setup when preprocessing .pcm files. Both of these steps are immediately overwritten by the FrontendAction setup. Modified: cfe/trunk/lib

r306327 - Check that the initializer of a non-dependent constexpr variable is constant even within templates.

2017-06-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jun 26 13:33:42 2017 New Revision: 306327 URL: http://llvm.org/viewvc/llvm-project?rev=306327&view=rev Log: Check that the initializer of a non-dependent constexpr variable is constant even within templates. Modified: cfe/trunk/lib/Sema/SemaDecl.cpp cfe/trunk/tes

Re: r306149 - Emit warning when throw exception in destruct or dealloc functions which has a

2017-06-26 Thread Richard Smith via cfe-commits
On 23 June 2017 at 13:22, Erich Keane via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: erichkeane > Date: Fri Jun 23 15:22:19 2017 > New Revision: 306149 > > URL: http://llvm.org/viewvc/llvm-project?rev=306149&view=rev > Log: > Emit warning when throw exception in destruct or dealloc

r306346 - Revert r301742, which caused us to try to evaluate all full-expressions.

2017-06-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jun 26 16:19:32 2017 New Revision: 306346 URL: http://llvm.org/viewvc/llvm-project?rev=306346&view=rev Log: Revert r301742, which caused us to try to evaluate all full-expressions. Also add testcases for a bunch of expression forms that cause our evaluator to crash. See P

r306349 - Fix this test to use a construct that actually forces struct layout to happen when testing -Wpadded.

2017-06-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jun 26 17:22:07 2017 New Revision: 306349 URL: http://llvm.org/viewvc/llvm-project?rev=306349&view=rev Log: Fix this test to use a construct that actually forces struct layout to happen when testing -Wpadded. Modified: cfe/trunk/test/Modules/diag-flags.cpp Modified:

r306350 - Remove redundant check.

2017-06-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jun 26 17:29:32 2017 New Revision: 306350 URL: http://llvm.org/viewvc/llvm-project?rev=306350&view=rev Log: Remove redundant check. Modified: cfe/trunk/lib/Serialization/ASTReader.cpp Modified: cfe/trunk/lib/Serialization/ASTReader.cpp URL: http://llvm.org/viewvc/ll

r306628 - Track the set of module maps read while building a .pcm file and reload those when preprocessing from that .pcm file.

2017-06-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jun 28 19:19:42 2017 New Revision: 306628 URL: http://llvm.org/viewvc/llvm-project?rev=306628&view=rev Log: Track the set of module maps read while building a .pcm file and reload those when preprocessing from that .pcm file. Added: cfe/trunk/test/Modules/Inputs/prep

r306760 - Teach ASTReader how to read only the Preprocessor state from an AST file, not the ASTContext state.

2017-06-29 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jun 29 16:23:46 2017 New Revision: 306760 URL: http://llvm.org/viewvc/llvm-project?rev=306760&view=rev Log: Teach ASTReader how to read only the Preprocessor state from an AST file, not the ASTContext state. We use this when running a preprocessor-only action on an AST f

[clang-tools-extra] r306879 - Fix ODR violations due to abuse of LLVM_YAML_IS_(FLOW_)?SEQUENCE_VECTOR

2017-06-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 30 13:57:16 2017 New Revision: 306879 URL: http://llvm.org/viewvc/llvm-project?rev=306879&view=rev Log: Fix ODR violations due to abuse of LLVM_YAML_IS_(FLOW_)?SEQUENCE_VECTOR This is a short-term fix for PR33650 aimed to get the modules build bots green again. Remo

r306881 - Fix ODR violations due to abuse of LLVM_YAML_IS_(FLOW_)?SEQUENCE_VECTOR

2017-06-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 30 13:57:39 2017 New Revision: 306881 URL: http://llvm.org/viewvc/llvm-project?rev=306881&view=rev Log: Fix ODR violations due to abuse of LLVM_YAML_IS_(FLOW_)?SEQUENCE_VECTOR This is a short-term fix for PR33650 aimed to get the modules build bots green again. Remo

r307115 - [modules ts] Declarations from a module interface unit are only visible outside

2017-07-05 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jul 4 18:42:07 2017 New Revision: 307115 URL: http://llvm.org/viewvc/llvm-project?rev=307115&view=rev Log: [modules ts] Declarations from a module interface unit are only visible outside the module if declared in an export block. Added: cfe/trunk/test/CXX/modules-ts

r307129 - [modules ts] Improve merging of module-private declarations.

2017-07-05 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jul 5 00:47:11 2017 New Revision: 307129 URL: http://llvm.org/viewvc/llvm-project?rev=307129&view=rev Log: [modules ts] Improve merging of module-private declarations. These cases occur frequently for declarations in the global module (above the module-declaration) in a

Re: r307197 - Cope with Range-v3's CONCEPT_REQUIRES idiom

2017-07-05 Thread Richard Smith via cfe-commits
On 5 July 2017 at 14:05, Douglas Gregor via cfe-commits < cfe-commits@lists.llvm.org> wrote: > > On Jul 5, 2017, at 1:33 PM, Aaron Ballman wrote: > > On Wed, Jul 5, 2017 at 4:20 PM, Douglas Gregor via cfe-commits > wrote: > > Author: dgregor > Date: Wed Jul 5 13:20:15 2017 > New Revision: 30719

Re: [PATCH] D31022: Implement P0298R3: `std::byte`

2017-07-05 Thread Richard Smith via cfe-commits
On 5 July 2017 at 14:29, James Y Knight wrote: > I actually didn't know that attribute existed. It does look like the right > thing to use here. However, unfortunately, it appears it doesn't work for > enum class in clang [[1]]. It *does* seem to work in GCC. > > Unfortunately, it seems that GCC

Re: [PATCH] D34158: to support gcc 4.8 (and newer) compatibility on Linux, preinclude

2017-07-05 Thread Richard Smith via cfe-commits
On 5 July 2017 at 14:09, Melanie Blower via Phabricator < revi...@reviews.llvm.org> wrote: > mibintc added a comment. > > Jonas asked about adding a new test to ensure that "-include > stdc-predef.h" does not get added if the file doesn't exist. > > I added a reply to that but I can't see where it

r307231 - [cxx_status] Update link to Modules TS to latest working draft. Fix Coroutines TS flag to work if copy-pasted.

2017-07-05 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jul 5 17:29:13 2017 New Revision: 307231 URL: http://llvm.org/viewvc/llvm-project?rev=307231&view=rev Log: [cxx_status] Update link to Modules TS to latest working draft. Fix Coroutines TS flag to work if copy-pasted. Modified: cfe/trunk/www/cxx_status.html Modifie

r307232 - [modules ts] Do not emit strong function definitions from the module interface unit in every user.

2017-07-05 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jul 5 17:30:00 2017 New Revision: 307232 URL: http://llvm.org/viewvc/llvm-project?rev=307232&view=rev Log: [modules ts] Do not emit strong function definitions from the module interface unit in every user. Added: cfe/trunk/test/CXX/modules-ts/basic/basic.def.odr/

r307316 - Reject attempts to build a module without -fmodules, rather than silently doing weird things.

2017-07-06 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jul 6 14:05:56 2017 New Revision: 307316 URL: http://llvm.org/viewvc/llvm-project?rev=307316&view=rev Log: Reject attempts to build a module without -fmodules, rather than silently doing weird things. Added: cfe/trunk/test/Modules/missing-flag.cpp Modified: cfe/

r307434 - [modules ts] Basic for module linkage.

2017-07-07 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jul 7 13:04:28 2017 New Revision: 307434 URL: http://llvm.org/viewvc/llvm-project?rev=307434&view=rev Log: [modules ts] Basic for module linkage. In addition to the formal linkage rules, the Modules TS includes cases where internal-linkage symbols within a module interfa

Re: r307434 - [modules ts] Basic for module linkage.

2017-07-07 Thread Richard Smith via cfe-commits
On 7 July 2017 at 13:04, Richard Smith via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: rsmith > Date: Fri Jul 7 13:04:28 2017 > New Revision: 307434 > > URL: http://llvm.org/viewvc/llvm-project?rev=307434&view=rev > Log: > [modules ts] Basic for

r307455 - Fix warnings introduced by r307434.

2017-07-07 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jul 7 17:37:59 2017 New Revision: 307455 URL: http://llvm.org/viewvc/llvm-project?rev=307455&view=rev Log: Fix warnings introduced by r307434. Modified: cfe/trunk/tools/libclang/CIndex.cpp cfe/trunk/tools/libclang/CXIndexDataConsumer.cpp Modified: cfe/trunk/tool

r308099 - [cxx_status] Add approved Toronto WG21 motions.

2017-07-15 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jul 15 08:42:36 2017 New Revision: 308099 URL: http://llvm.org/viewvc/llvm-project?rev=308099&view=rev Log: [cxx_status] Add approved Toronto WG21 motions. Modified: cfe/trunk/www/cxx_status.html Modified: cfe/trunk/www/cxx_status.html URL: http://llvm.org/viewvc/ll

r308101 - [cxx_status] Fix typos.

2017-07-15 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jul 15 08:51:59 2017 New Revision: 308101 URL: http://llvm.org/viewvc/llvm-project?rev=308101&view=rev Log: [cxx_status] Fix typos. Modified: cfe/trunk/www/cxx_status.html Modified: cfe/trunk/www/cxx_status.html URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/www

Re: r308099 - [cxx_status] Add approved Toronto WG21 motions.

2017-07-16 Thread Richard Smith via cfe-commits
On 16 July 2017 at 05:49, Nico Weber via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Jul 15, 2017 11:43 AM, "Richard Smith via cfe-commits" < > cfe-commits@lists.llvm.org> wrote: > > Author: rsmith > Date: Sat Jul 15 08:42:36 2017 > New Revision

r309054 - Reorder tests to match latest SD-6 draft.

2017-07-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jul 25 16:31:42 2017 New Revision: 309054 URL: http://llvm.org/viewvc/llvm-project?rev=309054&view=rev Log: Reorder tests to match latest SD-6 draft. Modified: cfe/trunk/test/Lexer/cxx-features.cpp Modified: cfe/trunk/test/Lexer/cxx-features.cpp URL: http://llvm.org

Re: r309058 - [CodeGen] Correctly model std::byte's aliasing properties

2017-07-26 Thread Richard Smith via cfe-commits
I think so too :) On 26 Jul 2017 9:23 am, "Hans Wennborg via cfe-commits" < cfe-commits@lists.llvm.org> wrote: Yes, I think so. Richard, what say you? On Tue, Jul 25, 2017 at 4:41 PM, David Majnemer via cfe-commits wrote: > Should this go into 5.0 ? > > On Tue, Jul 25, 2017 at 4:33 PM, David Ma

r309195 - Add branch weights to branches for static initializers.

2017-07-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jul 26 15:01:09 2017 New Revision: 309195 URL: http://llvm.org/viewvc/llvm-project?rev=309195&view=rev Log: Add branch weights to branches for static initializers. The initializer for a static local variable cannot be hot, because it runs at most once per program. That's

r322316 - Handle scoped_lockable objects being returned by value in C++17.

2018-01-11 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jan 11 14:13:57 2018 New Revision: 322316 URL: http://llvm.org/viewvc/llvm-project?rev=322316&view=rev Log: Handle scoped_lockable objects being returned by value in C++17. In C++17, guaranteed copy elision means that there isn't necessarily a constructor call when a loca

r322414 - When rebuilding an InitListExpr, don't give it a type.

2018-01-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jan 12 14:21:33 2018 New Revision: 322414 URL: http://llvm.org/viewvc/llvm-project?rev=322414&view=rev Log: When rebuilding an InitListExpr, don't give it a type. InitListExprs without types (well, with type 'void') represent not-yet-analyzed initializer lists; InitListEx

r322431 - DR126: partially implement the const-correct rules for exception handler matching.

2018-01-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jan 12 21:05:45 2018 New Revision: 322431 URL: http://llvm.org/viewvc/llvm-project?rev=322431&view=rev Log: DR126: partially implement the const-correct rules for exception handler matching. While here, fix up the myriad other ways in which Sema's two "can this handler c

Re: r322813 - Fix Scope::dump()

2018-01-19 Thread Richard Smith via cfe-commits
Sounds like a good idea to me. On 19 Jan 2018 15:23, "Richard Trieu via cfe-commits" < cfe-commits@lists.llvm.org> wrote: > Hans, > > I recommend merging this revision into the release. It fixes an infinite > loop in Scope::dump() > > Richard > > On Wed, Jan 17, 2018 at 8:28 PM, Richard Trieu vi

r323935 - PR36181: Teach CodeGen to properly ignore requests to emit dependent entities.

2018-01-31 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jan 31 16:28:36 2018 New Revision: 323935 URL: http://llvm.org/viewvc/llvm-project?rev=323935&view=rev Log: PR36181: Teach CodeGen to properly ignore requests to emit dependent entities. Previously, friend function definitions within class templates slipped through the ga

Re: r323935 - PR36181: Teach CodeGen to properly ignore requests to emit dependent entities.

2018-01-31 Thread Richard Smith via cfe-commits
.org/show_bug.cgi?id=35473, and > https://bugs.llvm.org/show_bug.cgi?id=35939. > I'd be OK with that once it's had a few days to work its way through various automated build systems. > > *From: *cfe-commits on behalf of > Richard Smith via cfe-commits > *Reply-To:

r323998 - PR36157: When injecting an implicit function declaration in C89, find the right

2018-02-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Feb 1 12:01:49 2018 New Revision: 323998 URL: http://llvm.org/viewvc/llvm-project?rev=323998&view=rev Log: PR36157: When injecting an implicit function declaration in C89, find the right DeclContext rather than injecting it wherever we happen to be. This avoids creating

[libcxx] r324020 - Make std::get_temporary_buffer respect overaligned types when possible

2018-02-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Feb 1 14:24:45 2018 New Revision: 324020 URL: http://llvm.org/viewvc/llvm-project?rev=324020&view=rev Log: Make std::get_temporary_buffer respect overaligned types when possible Patch by Chris Kennelly! Differential Revision: https://reviews.llvm.org/D41746 Added:

[libcxx] r324033 - Disable test in C++<11 mode due to use of alignas.

2018-02-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Feb 1 15:31:22 2018 New Revision: 324033 URL: http://llvm.org/viewvc/llvm-project?rev=324033&view=rev Log: Disable test in C++<11 mode due to use of alignas. Modified: libcxx/trunk/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp Modified: libcxx/tru

r324151 - Add missing direct-init / parameter-declaration-clause disambiguation when

2018-02-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Feb 2 14:24:54 2018 New Revision: 324151 URL: http://llvm.org/viewvc/llvm-project?rev=324151&view=rev Log: Add missing direct-init / parameter-declaration-clause disambiguation when parsing a trailing-return-type of a (function pointer) variable declaration. Modified:

r324160 - Fix crash when trying to pack-expand a GNU statement expression.

2018-02-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Feb 2 16:44:57 2018 New Revision: 324160 URL: http://llvm.org/viewvc/llvm-project?rev=324160&view=rev Log: Fix crash when trying to pack-expand a GNU statement expression. We could in principle support such pack expansion, using techniques similar to what we do for pack

<    17   18   19   20   21   22   23   24   25   26   >