r362147 - [c++2a] Fix assertion failure if we would walk over more than one level

2019-05-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 30 13:45:12 2019 New Revision: 362147 URL: http://llvm.org/viewvc/llvm-project?rev=362147&view=rev Log: [c++2a] Fix assertion failure if we would walk over more than one level of derived-to-base conversion path when implicitly starting union subobject lifetimes in cons

Re: r361329 - [c++20] P1330R0: permit simple-assignments that change the active member

2019-05-30 Thread Richard Smith via cfe-commits
On Thu, 30 May 2019 at 04:31, Stephan Bergmann via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On 22/05/2019 01:15, Richard Smith via cfe-commits wrote: > > Author: rsmith > > Date: Tue May 21 16:15:20 2019 > > New Revision: 361329 > > > > URL:

r362172 - Refactor OpenMP stack management.

2019-05-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 30 16:21:14 2019 New Revision: 362172 URL: http://llvm.org/viewvc/llvm-project?rev=362172&view=rev Log: Refactor OpenMP stack management. Instead of duplicating access to the directive stack throughout SemaOpenMP.cpp, consolidate it to a few methods and call those eve

r362171 - Fix "fallthrough annotation in unreachable code" warning.

2019-05-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 30 16:21:13 2019 New Revision: 362171 URL: http://llvm.org/viewvc/llvm-project?rev=362171&view=rev Log: Fix "fallthrough annotation in unreachable code" warning. Modified: cfe/trunk/lib/Sema/SemaType.cpp Modified: cfe/trunk/lib/Sema/SemaType.cpp URL: http://llvm

r362178 - Defer capture initialization for blocks until after we've left the

2019-05-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 30 17:45:09 2019 New Revision: 362178 URL: http://llvm.org/viewvc/llvm-project?rev=362178&view=rev Log: Defer capture initialization for blocks until after we've left the function scope. This removes one of the last few cases where we build expressions in the wrong fu

r362179 - Defer capture initialization for captured regions until after we've left

2019-05-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 30 17:45:10 2019 New Revision: 362179 URL: http://llvm.org/viewvc/llvm-project?rev=362179&view=rev Log: Defer capture initialization for captured regions until after we've left the captured region scope. This removes a case where we would build expressions (and mark d

r362182 - Defer building 'this' captures until we have left the capturing region

2019-05-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 30 18:17:04 2019 New Revision: 362182 URL: http://llvm.org/viewvc/llvm-project?rev=362182&view=rev Log: Defer building 'this' captures until we have left the capturing region and returned to the context in which 'this' should be captured. This means we now always mark

r362184 - PR39728: When completing a class, complete the destructor first.

2019-05-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 30 18:25:16 2019 New Revision: 362184 URL: http://llvm.org/viewvc/llvm-project?rev=362184&view=rev Log: PR39728: When completing a class, complete the destructor first. We need to know whether the destructor is trivial in order to tell whether other parts of the class

r362316 - Add script to update OpenMP -ast-dump test expectations, and use it to

2019-06-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jun 1 21:00:38 2019 New Revision: 362316 URL: http://llvm.org/viewvc/llvm-project?rev=362316&view=rev Log: Add script to update OpenMP -ast-dump test expectations, and use it to regenerate the test expectations. (Only two tests change, as a result of no longer matching t

r362317 - Factor out commonality between variable capture initialization and

2019-06-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jun 1 21:00:43 2019 New Revision: 362317 URL: http://llvm.org/viewvc/llvm-project?rev=362317&view=rev Log: Factor out commonality between variable capture initialization and 'this' capture initialization. Modified: cfe/trunk/include/clang/Sema/Initialization.h cf

r362336 - Transform lambda expression captures when transforming an expression to

2019-06-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Jun 2 11:53:44 2019 New Revision: 362336 URL: http://llvm.org/viewvc/llvm-project?rev=362336&view=rev Log: Transform lambda expression captures when transforming an expression to potentially-evaluated. This ensures that every potentially-evaluated expression is built in

r362358 - PR42104: Support instantiations of lambdas that implicitly capture

2019-06-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Jun 2 23:02:10 2019 New Revision: 362358 URL: http://llvm.org/viewvc/llvm-project?rev=362358&view=rev Log: PR42104: Support instantiations of lambdas that implicitly capture packs. Two changes: * Track odr-use via FunctionParmPackExprs to properly handle dependent od

Re: r356569 - [NFC][clang][astdump] Some baseline tests for OpenMP

2019-06-03 Thread Richard Smith via cfe-commits
On Fri, 31 May 2019 at 16:20, Roman Lebedev via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Sat, Jun 1, 2019 at 2:00 AM Richard Smith > wrote: > > > > These are change detector tests ( > https://testing.googleblog.com/2015/01/testing-on-toilet-change-detector

r362531 - PR42104: Support instantiations of lambdas that implicitly capture

2019-06-04 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 4 10:17:20 2019 New Revision: 362531 URL: http://llvm.org/viewvc/llvm-project?rev=362531&view=rev Log: PR42104: Support instantiations of lambdas that implicitly capture packs. Two changes: * Track odr-use via FunctionParmPackExprs to properly handle dependent od

r362537 - Factor out repeated code to build a DeclRefExpr and mark it referenced.

2019-06-04 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 4 11:30:46 2019 New Revision: 362537 URL: http://llvm.org/viewvc/llvm-project?rev=362537&view=rev Log: Factor out repeated code to build a DeclRefExpr and mark it referenced. Modified: cfe/trunk/include/clang/Sema/Sema.h cfe/trunk/lib/Sema/SemaDeclCXX.cpp

r362551 - Convert MemberExpr creation and serialization to work the same way as

2019-06-04 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 4 14:29:28 2019 New Revision: 362551 URL: http://llvm.org/viewvc/llvm-project?rev=362551&view=rev Log: Convert MemberExpr creation and serialization to work the same way as most / all other Expr subclasses. Modified: cfe/trunk/include/clang/AST/Expr.h cfe/tru

r362562 - PR42111: Use guarded initialization for thread-local variables with

2019-06-04 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 4 17:04:33 2019 New Revision: 362562 URL: http://llvm.org/viewvc/llvm-project?rev=362562&view=rev Log: PR42111: Use guarded initialization for thread-local variables with unordered initialization and internal linkage. We'll run their initializers once on each referen

r362563 - Factor out duplicated code building a MemberExpr and marking it

2019-06-04 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 4 17:21:47 2019 New Revision: 362563 URL: http://llvm.org/viewvc/llvm-project?rev=362563&view=rev Log: Factor out duplicated code building a MemberExpr and marking it referenced. Modified: cfe/trunk/include/clang/Sema/Sema.h cfe/trunk/lib/Sema/SemaExprCXX.cpp

Re: r362551 - Convert MemberExpr creation and serialization to work the same way as

2019-06-05 Thread Richard Smith via cfe-commits
2563 in r362597. > Thanks! On Wed, Jun 5, 2019 at 9:37 AM Martin Storsjö via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> This broke building of Qt when using PCH. Selfcontained repro is a bit >> hard to make though... >> >> // Martin >>

r362756 - Convert MemberExpr creation and serialization to work the same way as

2019-06-06 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jun 6 16:24:15 2019 New Revision: 362756 URL: http://llvm.org/viewvc/llvm-project?rev=362756&view=rev Log: Convert MemberExpr creation and serialization to work the same way as most / all other Expr subclasses. This reinstates r362551, reverted in r362597, with a fix to

r362757 - Factor out duplicated code building a MemberExpr and marking it

2019-06-06 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jun 6 16:24:18 2019 New Revision: 362757 URL: http://llvm.org/viewvc/llvm-project?rev=362757&view=rev Log: Factor out duplicated code building a MemberExpr and marking it referenced. This reinstates r362563, reverted in r362597. Modified: cfe/trunk/include/clang/Sem

r363088 - Remove redundant check for whether a DeclRefExpr that names a capture

2019-06-11 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 11 10:50:37 2019 New Revision: 363088 URL: http://llvm.org/viewvc/llvm-project?rev=363088&view=rev Log: Remove redundant check for whether a DeclRefExpr that names a capture constitutes an odr-use. We now track this accurately on the DeclRefExpr. Modified: cfe/tr

r363087 - For DR712: store on a MemberExpr whether it constitutes an odr-use.

2019-06-11 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 11 10:50:36 2019 New Revision: 363087 URL: http://llvm.org/viewvc/llvm-project?rev=363087&view=rev Log: For DR712: store on a MemberExpr whether it constitutes an odr-use. Modified: cfe/trunk/include/clang/AST/Expr.h cfe/trunk/include/clang/AST/Stmt.h cfe/

r363086 - For DR712: store on a DeclRefExpr whether it constitutes an odr-use.

2019-06-11 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 11 10:50:32 2019 New Revision: 363086 URL: http://llvm.org/viewvc/llvm-project?rev=363086&view=rev Log: For DR712: store on a DeclRefExpr whether it constitutes an odr-use. Begin restructuring to support the forms of non-odr-use reference permitted by DR712. Modified

r363113 - Mark declarations as referenced by a default argument in a

2019-06-11 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 11 16:51:46 2019 New Revision: 363113 URL: http://llvm.org/viewvc/llvm-project?rev=363113&view=rev Log: Mark declarations as referenced by a default argument in a potentially-evaluated context. This applies even if the use of the default argument is within an unevalua

Re: r363086 - For DR712: store on a DeclRefExpr whether it constitutes an odr-use.

2019-06-11 Thread Richard Smith via cfe-commits
Thanks, should be fixed by r363113. On Tue, 11 Jun 2019 at 16:21, Reid Kleckner via cfe-commits < cfe-commits@lists.llvm.org> wrote: > > The new assert is firing across Chromium, please fix or revert. This is a > reduced test case: > > int a; > struct Foo { > template void operator()(b, c = >

r363188 - PR42220: take into account the possibility of aggregates with base

2019-06-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jun 12 11:32:22 2019 New Revision: 363188 URL: http://llvm.org/viewvc/llvm-project?rev=363188&view=rev Log: PR42220: take into account the possibility of aggregates with base classes when checking an InitListExpr for lifetime extension. Modified: cfe/trunk/lib/Sema/Se

r363295 - C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression.

2019-06-13 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jun 13 12:00:16 2019 New Revision: 363295 URL: http://llvm.org/viewvc/llvm-project?rev=363295&view=rev Log: C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression.

r363337 - PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type

2019-06-13 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jun 13 16:31:04 2019 New Revision: 363337 URL: http://llvm.org/viewvc/llvm-project?rev=363337&view=rev Log: PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type nullptr_t does not access memory. We now reuse CK_NullToPointer to represent a conversion from

r363340 - Remove unused SK_LValueToRValue initialization step.

2019-06-13 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jun 13 16:47:42 2019 New Revision: 363340 URL: http://llvm.org/viewvc/llvm-project?rev=363340&view=rev Log: Remove unused SK_LValueToRValue initialization step. In addition to being unused and duplicating code, this was also wrong (it didn't properly mark the operand as b

r363428 - C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression.

2019-06-14 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 14 10:46:37 2019 New Revision: 363428 URL: http://llvm.org/viewvc/llvm-project?rev=363428&view=rev Log: C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression.

r363430 - Remove unused SK_LValueToRValue initialization step.

2019-06-14 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 14 10:46:39 2019 New Revision: 363430 URL: http://llvm.org/viewvc/llvm-project?rev=363430&view=rev Log: Remove unused SK_LValueToRValue initialization step. In addition to being unused and duplicating code, this was also wrong (it didn't properly mark the operand as b

r363429 - PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type

2019-06-14 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 14 10:46:38 2019 New Revision: 363429 URL: http://llvm.org/viewvc/llvm-project?rev=363429&view=rev Log: PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type nullptr_t does not access memory. We now reuse CK_NullToPointer to represent a conversion from

Re: r363295 - C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression.

2019-06-14 Thread Richard Smith via cfe-commits
ed and recommitted as r363428-r363430. > Nico > > On Thu, Jun 13, 2019 at 2:56 PM Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: rsmith >> Date: Thu Jun 13 12:00:16 2019 >> New Revision: 363295 >> >> URL: http://

r363446 - Use getOperatorSpelling to get the spelling of an overloaded operator

2019-06-14 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 14 13:01:51 2019 New Revision: 363446 URL: http://llvm.org/viewvc/llvm-project?rev=363446&view=rev Log: Use getOperatorSpelling to get the spelling of an overloaded operator rather than duplicating operator name tables in multiple places. Modified: cfe/trunk/lib/A

r363447 - PR42071: Reject weird names for non-type template parameters.

2019-06-14 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 14 13:01:54 2019 New Revision: 363447 URL: http://llvm.org/viewvc/llvm-project?rev=363447&view=rev Log: PR42071: Reject weird names for non-type template parameters. Also reject default arguments appearing in invalid locations. Modified: cfe/trunk/include/clang/B

r363620 - Rewrite ConstStructBuilder with a mechanism that can cope with splitting and updating constants.

2019-06-17 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jun 17 14:08:30 2019 New Revision: 363620 URL: http://llvm.org/viewvc/llvm-project?rev=363620&view=rev Log: Rewrite ConstStructBuilder with a mechanism that can cope with splitting and updating constants. Summary: This adds a ConstantBuilder class that deals with increme

r363622 - Fix crash when checking a dependently-typed reference that is

2019-06-17 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jun 17 14:46:17 2019 New Revision: 363622 URL: http://llvm.org/viewvc/llvm-project?rev=363622&view=rev Log: Fix crash when checking a dependently-typed reference that is initialized from a non-value-dependent initializer. Modified: cfe/trunk/lib/AST/Decl.cpp cfe/t

r363972 - Fix crash and rejects-valid when a later template parameter or default

2019-06-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jun 20 12:49:13 2019 New Revision: 363972 URL: http://llvm.org/viewvc/llvm-project?rev=363972&view=rev Log: Fix crash and rejects-valid when a later template parameter or default template argument contains a backreference to a dependently-typed earlier parameter. In a cas

r363976 - P0840R2: support for [[no_unique_address]] attribute

2019-06-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jun 20 13:44:45 2019 New Revision: 363976 URL: http://llvm.org/viewvc/llvm-project?rev=363976&view=rev Log: P0840R2: support for [[no_unique_address]] attribute Summary: Add support for the C++2a [[no_unique_address]] attribute for targets using the Itanium C++ ABI. Thi

r363980 - Rename CodeGenFunction::overlapFor* to getOverlapFor*.

2019-06-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jun 20 13:56:20 2019 New Revision: 363980 URL: http://llvm.org/viewvc/llvm-project?rev=363980&view=rev Log: Rename CodeGenFunction::overlapFor* to getOverlapFor*. Modified: cfe/trunk/lib/CodeGen/CGClass.cpp cfe/trunk/lib/CodeGen/CGDecl.cpp cfe/trunk/lib/CodeGe

r366627 - [cxx_status] Update status page for WG21 Cologne meeting motions.

2019-07-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jul 20 01:20:54 2019 New Revision: 366627 URL: http://llvm.org/viewvc/llvm-project?rev=366627&view=rev Log: [cxx_status] Update status page for WG21 Cologne meeting motions. Note that many of the paper links will be dead until the post-meeting mailing is released. Modifi

Re: r366628 - We support P1301R4 in C++2a as of r366626.

2019-07-20 Thread Richard Smith via cfe-commits
On Sat, 20 Jul 2019 at 10:24, Aaron Ballman via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: aaronballman > Date: Sat Jul 20 01:24:56 2019 > New Revision: 366628 > > URL: http://llvm.org/viewvc/llvm-project?rev=366628&view=rev > Log: > We support P1301R4 in C++2a as of r366626. > > M

Re: r366628 - We support P1301R4 in C++2a as of r366626.

2019-07-20 Thread Richard Smith via cfe-commits
On Sat, 20 Jul 2019 at 10:56, Aaron Ballman via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Sat, Jul 20, 2019 at 4:54 AM Richard Smith > wrote: > > > > On Sat, 20 Jul 2019 at 10:24, Aaron Ballman via cfe-commits < > cfe-commits@lists.llvm.org> wrot

r366630 - [c++20] P1161R3: a[b,c] is deprecated.

2019-07-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jul 20 02:32:27 2019 New Revision: 366630 URL: http://llvm.org/viewvc/llvm-project?rev=366630&view=rev Log: [c++20] P1161R3: a[b,c] is deprecated. Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td

Re: r366626 - Implement P1301R4, which allows specifying an optional message on the [[nodiscard]] attribute.

2019-07-21 Thread Richard Smith via cfe-commits
On Sat, 20 Jul 2019 at 09:55, Aaron Ballman via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: aaronballman > Date: Sat Jul 20 00:56:34 2019 > New Revision: 366626 > > URL: http://llvm.org/viewvc/llvm-project?rev=366626&view=rev > Log: > Implement P1301R4, which allows specifying an op

Re: r367027 - Implement P1771

2019-07-25 Thread Richard Smith via cfe-commits
On Thu, 25 Jul 2019, 08:10 Erich Keane via cfe-commits, < cfe-commits@lists.llvm.org> wrote: > Author: erichkeane > Date: Thu Jul 25 08:10:56 2019 > New Revision: 367027 > > URL: http://llvm.org/viewvc/llvm-project?rev=367027&view=rev > Log: > Implement P1771 > > As passed in the Cologne meeting a

r367254 - When determining whether a lambda-expression is implicitly constexpr,

2019-07-29 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jul 29 12:59:45 2019 New Revision: 367254 URL: http://llvm.org/viewvc/llvm-project?rev=367254&view=rev Log: When determining whether a lambda-expression is implicitly constexpr, check the formal rules rather than seeing if the normal checks produce a diagnostic. This fixe

r367255 - Give the 'signed/unsigned wchar_t' extension a warning flag, and follow

2019-07-29 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jul 29 13:00:46 2019 New Revision: 367255 URL: http://llvm.org/viewvc/llvm-project?rev=367255&view=rev Log: Give the 'signed/unsigned wchar_t' extension a warning flag, and follow GCC 9 in promoting it to an error by default. Modified: cfe/trunk/include/clang/Basic/Di

Re: r368600 - [Sema] Require a complete type for __builtin_bit_cast operands

2019-08-12 Thread Richard Smith via cfe-commits
On Mon, 12 Aug 2019 at 11:30, Erik Pilkington via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: epilk > Date: Mon Aug 12 11:31:27 2019 > New Revision: 368600 > > URL: http://llvm.org/viewvc/llvm-project?rev=368600&view=rev > Log: > [Sema] Require a complete type for __builtin_bit_cast

r368785 - Add __has_builtin support for builtin function-like type traits.

2019-08-13 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Aug 13 19:30:11 2019 New Revision: 368785 URL: http://llvm.org/viewvc/llvm-project?rev=368785&view=rev Log: Add __has_builtin support for builtin function-like type traits. Summary: Previously __has_builtin(__builtin_*) would return false for __builtin_*s that we modeled

r368940 - Fix handling of class member access into a vector type.

2019-08-14 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Aug 14 15:57:50 2019 New Revision: 368940 URL: http://llvm.org/viewvc/llvm-project?rev=368940&view=rev Log: Fix handling of class member access into a vector type. When handling a member access into a non-class, non-ObjC-object type, we would perform a lookup into the sur

r368941 - [www] Update DR status page to match latest version of CWG issues list.

2019-08-14 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Aug 14 15:57:51 2019 New Revision: 368941 URL: http://llvm.org/viewvc/llvm-project?rev=368941&view=rev Log: [www] Update DR status page to match latest version of CWG issues list. Modified: cfe/trunk/www/cxx_dr_status.html Modified: cfe/trunk/www/cxx_dr_status.html U

r369145 - Stop abusing SuppressAllDiagnostics when speculatively determining

2019-08-16 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Aug 16 12:53:22 2019 New Revision: 369145 URL: http://llvm.org/viewvc/llvm-project?rev=369145&view=rev Log: Stop abusing SuppressAllDiagnostics when speculatively determining whether an expression would be valid during error recovery. Modified: cfe/trunk/lib/Parse/Par

r369161 - [doc] Fix some minor formatting issues.

2019-08-16 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Aug 16 15:08:39 2019 New Revision: 369161 URL: http://llvm.org/viewvc/llvm-project?rev=369161&view=rev Log: [doc] Fix some minor formatting issues. Modified: cfe/trunk/docs/LanguageExtensions.rst Modified: cfe/trunk/docs/LanguageExtensions.rst URL: http://llvm.org/v

r364081 - Fix ARM buildbot.

2019-06-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 21 10:41:20 2019 New Revision: 364081 URL: http://llvm.org/viewvc/llvm-project?rev=364081&view=rev Log: Fix ARM buildbot. Modified: cfe/trunk/test/CodeGenCXX/tail-padding.cpp Modified: cfe/trunk/test/CodeGenCXX/tail-padding.cpp URL: http://llvm.org/viewvc/llvm-p

Re: [PATCH] D63451: P0840R2: support for [[no_unique_address]] attribute

2019-06-21 Thread Richard Smith via cfe-commits
Thanks, should hopefully be fixed by r364081. On Fri, 21 Jun 2019 at 01:12, Yvan Roux via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Hi Richard, > > This commit broke ARM bots, logs are available here: > > > http://lab.llvm.org:8011/builders/clang-cmake-armv8-quick/builds/13576/steps/ninj

r364102 - Fix __has_cpp_attribute expansion to produce trailing L and (where

2019-06-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 21 13:20:21 2019 New Revision: 364102 URL: http://llvm.org/viewvc/llvm-project?rev=364102&view=rev Log: Fix __has_cpp_attribute expansion to produce trailing L and (where necessary) leading whitespace. Simplify unit test and extend to cover no_unique_address attribute

r364103 - PR42301: Abort cleanly if we encounter a huge source file rather than

2019-06-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Jun 21 13:46:22 2019 New Revision: 364103 URL: http://llvm.org/viewvc/llvm-project?rev=364103&view=rev Log: PR42301: Abort cleanly if we encounter a huge source file rather than crashing. Ideally we wouldn't care about the size of a file so long as it fits in memory, but

r364139 - Remove reliance on toCharUnitsFromBits rounding down.

2019-06-22 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jun 22 13:41:57 2019 New Revision: 364139 URL: http://llvm.org/viewvc/llvm-project?rev=364139&view=rev Log: Remove reliance on toCharUnitsFromBits rounding down. Modified: cfe/trunk/lib/CodeGen/CGExprConstant.cpp Modified: cfe/trunk/lib/CodeGen/CGExprConstant.cpp URL

r364140 - Fix TBAA representation for zero-sized fields and unnamed bit-fields.

2019-06-22 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jun 22 14:30:43 2019 New Revision: 364140 URL: http://llvm.org/viewvc/llvm-project?rev=364140&view=rev Log: Fix TBAA representation for zero-sized fields and unnamed bit-fields. Unnamed bit-fields should not be represented in the TBAA metadata because they do not represen

r364157 - Fix test for 32-bit targets.

2019-06-23 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Jun 23 10:42:18 2019 New Revision: 364157 URL: http://llvm.org/viewvc/llvm-project?rev=364157&view=rev Log: Fix test for 32-bit targets. Modified: cfe/trunk/test/CodeGenCXX/tail-padding.cpp Modified: cfe/trunk/test/CodeGenCXX/tail-padding.cpp URL: http://llvm.org/vi

r364165 - PR42362: Fix auto deduction of template parameter packs from

2019-06-23 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Jun 23 22:53:11 2019 New Revision: 364165 URL: http://llvm.org/viewvc/llvm-project?rev=364165&view=rev Log: PR42362: Fix auto deduction of template parameter packs from type-dependent argument packs. We need to strip off the PackExpansionExpr to get the real (dependent) t

r364265 - [cxx2a] P1236R1: the validity of a left shift does not depend on the

2019-06-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jun 24 18:45:26 2019 New Revision: 364265 URL: http://llvm.org/viewvc/llvm-project?rev=364265&view=rev Log: [cxx2a] P1236R1: the validity of a left shift does not depend on the value of the LHS operand. Added: cfe/trunk/test/Analysis/left-shift-cxx2a.cpp cfe/trunk

r364340 - Add regression test for PR41576 (which is already fixed in trunk,

2019-06-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 25 11:42:53 2019 New Revision: 364340 URL: http://llvm.org/viewvc/llvm-project?rev=364340&view=rev Log: Add regression test for PR41576 (which is already fixed in trunk, perhaps by r361300). Modified: cfe/trunk/test/SemaTemplate/lambda-capture-pack.cpp Modified:

r364347 - Remove redundant expression evaluation context when substituting into a

2019-06-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 25 13:40:27 2019 New Revision: 364347 URL: http://llvm.org/viewvc/llvm-project?rev=364347&view=rev Log: Remove redundant expression evaluation context when substituting into a template argument. We do need one of these but we don't need two. Modified: cfe/trunk/l

Re: r364331 - [ARM] Support inline assembler constraints for MVE.

2019-06-25 Thread Richard Smith via cfe-commits
On Tue, 25 Jun 2019 at 09:49, Simon Tatham via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: statham > Date: Tue Jun 25 09:49:32 2019 > New Revision: 364331 > > URL: http://llvm.org/viewvc/llvm-project?rev=364331&view=rev > Log: > [ARM] Support inline assembler constraints for MVE. >

r365272 - Treat the range of representable values of floating-point types as [-inf, +inf] not as [-max, +max].

2019-07-06 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jul 6 14:05:52 2019 New Revision: 365272 URL: http://llvm.org/viewvc/llvm-project?rev=365272&view=rev Log: Treat the range of representable values of floating-point types as [-inf, +inf] not as [-max, +max]. Summary: Prior to r329065, we used [-max, max] as the range of

Re: r281071 - Myriad: nominally "support" ASAN.

2019-07-08 Thread Richard Smith via cfe-commits
On Fri, 9 Sep 2016 at 11:29, Douglas Katzman via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: dougk > Date: Fri Sep 9 13:20:49 2016 > New Revision: 281071 > > URL: http://llvm.org/viewvc/llvm-project?rev=281071&view=rev > Log: > Myriad: nominally "support" ASAN. > > Doesn't work, bu

Re: r365030 - Make a buildbot using a buggy gcc happy

2019-07-08 Thread Richard Smith via cfe-commits
This is in any case the wrong fix. The code *is* wrong, for the reason this compiler is reporting. The correct fix is to declare the explicit specializations in the header file: template <> void CFGDominatorTreeImpl::anchor(); template <> void CFGDominatorTreeImpl::anchor(); Clang will tell you

Re: r365030 - Make a buildbot using a buggy gcc happy

2019-07-08 Thread Richard Smith via cfe-commits
I'll commit the change below once my testing finishes :) On Mon, 8 Jul 2019 at 12:40, Kristóf Umann via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Noted, thanks! Gabor, could you please fix this? > > On Mon, 8 Jul 2019, 21:37 Richard Smith, wrote: > >> This

r365377 - Add missing declarations of explicit member specializations.

2019-07-08 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Jul 8 12:45:46 2019 New Revision: 365377 URL: http://llvm.org/viewvc/llvm-project?rev=365377&view=rev Log: Add missing declarations of explicit member specializations. This should fix the build under -Wundefined-func-template and certain versions of GCC. Modified: c

Re: r365030 - Make a buildbot using a buggy gcc happy

2019-07-08 Thread Richard Smith via cfe-commits
ostic required" cases; they're often a pain. > On Mon, 8 Jul 2019, 21:42 Richard Smith, wrote: > >> I'll commit the change below once my testing finishes :) >> >> On Mon, 8 Jul 2019 at 12:40, Kristóf Umann via cfe-commits < >> cfe-commits

r360387 - Remember to decay arrays to pointers before checking whether the

2019-05-09 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 9 15:22:48 2019 New Revision: 360387 URL: http://llvm.org/viewvc/llvm-project?rev=360387&view=rev Log: Remember to decay arrays to pointers before checking whether the left-hand side of an -> operator is a pointer to class type. Modified: cfe/trunk/lib/Sema/SemaE

r360464 - Fix handling of objects under construction during constant expression

2019-05-10 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 10 13:05:32 2019 New Revision: 360464 URL: http://llvm.org/viewvc/llvm-project?rev=360464&view=rev Log: Fix handling of objects under construction during constant expression evaluation. It's not enough to just track the LValueBase that we're evaluating, we need to als

r360463 - Improve interface of APValuePathEntry.

2019-05-10 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 10 13:05:31 2019 New Revision: 360463 URL: http://llvm.org/viewvc/llvm-project?rev=360463&view=rev Log: Improve interface of APValuePathEntry. Modified: cfe/trunk/include/clang/AST/APValue.h cfe/trunk/lib/AST/APValue.cpp cfe/trunk/lib/AST/ExprConstant.cpp

r360499 - Reject attempts to call non-static member functions on objects outside

2019-05-10 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 10 19:00:06 2019 New Revision: 360499 URL: http://llvm.org/viewvc/llvm-project?rev=360499&view=rev Log: Reject attempts to call non-static member functions on objects outside their lifetime in constant expressions. This is undefined behavior per [class.cdtor]p2. We c

r360537 - Fix handling of objects under construction during constant expression

2019-05-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun May 12 01:57:59 2019 New Revision: 360537 URL: http://llvm.org/viewvc/llvm-project?rev=360537&view=rev Log: Fix handling of objects under construction during constant expression evaluation. It's not enough to just track the LValueBase that we're evaluating, we need to als

r360538 - Reject attempts to call non-static member functions on objects outside

2019-05-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun May 12 02:39:08 2019 New Revision: 360538 URL: http://llvm.org/viewvc/llvm-project?rev=360538&view=rev Log: Reject attempts to call non-static member functions on objects outside their lifetime in constant expressions. This is undefined behavior per [class.cdtor]p2. We c

r360559 - [c++20] P1064R0: Allow virtual function calls in constant expression

2019-05-13 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon May 13 00:42:10 2019 New Revision: 360559 URL: http://llvm.org/viewvc/llvm-project?rev=360559&view=rev Log: [c++20] P1064R0: Allow virtual function calls in constant expression evaluation. Modified: cfe/trunk/include/clang/AST/DeclCXX.h cfe/trunk/include/clang/Bas

r360560 - PR41854: Don't assert when constant-evaluating a member function call on an invalid designator.

2019-05-13 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon May 13 00:51:29 2019 New Revision: 360560 URL: http://llvm.org/viewvc/llvm-project?rev=360560&view=rev Log: PR41854: Don't assert when constant-evaluating a member function call on an invalid designator. Modified: cfe/trunk/lib/AST/ExprConstant.cpp cfe/trunk/test

r360563 - PR41845: Detect and reject mismatched inner/outer pack expansion sizes

2019-05-13 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon May 13 01:31:14 2019 New Revision: 360563 URL: http://llvm.org/viewvc/llvm-project?rev=360563&view=rev Log: PR41845: Detect and reject mismatched inner/outer pack expansion sizes in fold expressions rather than crashing. Modified: cfe/trunk/include/clang/AST/ExprCXX.h

Re: r360559 - [c++20] P1064R0: Allow virtual function calls in constant expression

2019-05-13 Thread Richard Smith via cfe-commits
ng clang with -w. > > From: Hans Wennborg > Date: Mon, May 13, 2019 at 3:16 PM > To: Richard Smith > Cc: cfe-commits > > > This caused asserts in Chromium, so I've reverted in r360580. There's > > a repro at > https://bugs.chromium.org/p/chromium/issues/de

r360635 - [c++20] P1064R0: Allow virtual function calls in constant expression

2019-05-13 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon May 13 16:35:21 2019 New Revision: 360635 URL: http://llvm.org/viewvc/llvm-project?rev=360635&view=rev Log: [c++20] P1064R0: Allow virtual function calls in constant expression evaluation. This reinstates r360559, reverted in r360580, with a fix to avoid crashing if evalu

r360637 - PR41817: Fix regression in r359260 that caused the MS compatibility

2019-05-13 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon May 13 17:27:16 2019 New Revision: 360637 URL: http://llvm.org/viewvc/llvm-project?rev=360637&view=rev Log: PR41817: Fix regression in r359260 that caused the MS compatibility extension allowing a "static" declaration to follow an "extern" declaration to stop working. Add

Re: r360637 - PR41817: Fix regression in r359260 that caused the MS compatibility

2019-05-14 Thread Richard Smith via cfe-commits
eantime. > Yep, I'm not at all surprised. Perhaps we should stop claiming to support this extension, given that it fundamentally violates assumptions made by clang (that linkage doesn't change after the first declaration). Presumably we instead used to miscompile the example you give

r360806 - [c++20] For P1327R1: support dynamic_cast in constant expression

2019-05-15 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed May 15 13:22:21 2019 New Revision: 360806 URL: http://llvm.org/viewvc/llvm-project?rev=360806&view=rev Log: [c++20] For P1327R1: support dynamic_cast in constant expression evaluation. Modified: cfe/trunk/include/clang/Basic/DiagnosticASTKinds.td cfe/trunk/lib/AST

r360827 - Make tentative parsing to detect template-argument-lists less aggressive

2019-05-15 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed May 15 16:36:14 2019 New Revision: 360827 URL: http://llvm.org/viewvc/llvm-project?rev=360827&view=rev Log: Make tentative parsing to detect template-argument-lists less aggressive (and less wrong). It's not correct to assume that X is always a template-id; there are a fe

Re: r360637 - PR41817: Fix regression in r359260 that caused the MS compatibility

2019-05-15 Thread Richard Smith via cfe-commits
On Wed, 15 May 2019 at 15:54, Reid Kleckner via cfe-commits < cfe-commits@lists.llvm.org> wrote: > *From: *Hans Wennborg > *Date: *Wed, May 15, 2019 at 1:22 AM > >> On Tue, May 14, 2019 at 6:35 PM Richard Smith >> wrote: >> > Yep, I'm not at all surp

r360837 - Fix regression in r360311 caused by reversed bool arguments.

2019-05-15 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed May 15 19:06:16 2019 New Revision: 360837 URL: http://llvm.org/viewvc/llvm-project?rev=360837&view=rev Log: Fix regression in r360311 caused by reversed bool arguments. Added: cfe/trunk/test/CXX/over/over.match/over.match.funcs/over.match.ref/p1.cpp Modified: cfe/

Re: r360308 - [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose

2019-05-16 Thread Richard Smith via cfe-commits
On Thu, 16 May 2019, 03:38 Stephan Bergmann via cfe-commits, < cfe-commits@lists.llvm.org> wrote: > On 15/05/2019 18:16, Stephan Bergmann wrote: > > The below commit started to cause the following failure: > > ...and which apparently got fixed in the meantime, presumably by > < > https://github.co

r360974 - Refactor constant evaluation of typeid(T) to track a symbolic type_info

2019-05-16 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 16 18:46:05 2019 New Revision: 360974 URL: http://llvm.org/viewvc/llvm-project?rev=360974&view=rev Log: Refactor constant evaluation of typeid(T) to track a symbolic type_info object rather than tracking the originating expression. This is groundwork for supporting po

r360977 - [c++20] P1327R1: Support for typeid applied to objects of polymorphic

2019-05-16 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 16 19:16:45 2019 New Revision: 360977 URL: http://llvm.org/viewvc/llvm-project?rev=360977&view=rev Log: [c++20] P1327R1: Support for typeid applied to objects of polymorphic class type in constant evaluation. Modified: cfe/trunk/include/clang/Basic/DiagnosticASTKi

Re: r360974 - Refactor constant evaluation of typeid(T) to track a symbolic type_info

2019-05-16 Thread Richard Smith via cfe-commits
has a 64-bit CPU. > > Douglas Yung > > -Original Message- > From: cfe-commits On Behalf Of Chris > Bieneman via cfe-commits > Sent: Thursday, May 16, 2019 22:45 > To: Chris Bieneman > Cc: Richard Smith ; cfe-commits@lists.llvm.org > Subject: Re: r360974 - Refac

r360995 - Refactor constant evaluation of typeid(T) to track a symbolic type_info

2019-05-17 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 17 00:06:46 2019 New Revision: 360995 URL: http://llvm.org/viewvc/llvm-project?rev=360995&view=rev Log: Refactor constant evaluation of typeid(T) to track a symbolic type_info object rather than tracking the originating expression. This is groundwork for supporting po

r360997 - Fix alignment check to check the alignment of the intended type.

2019-05-17 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 17 00:28:41 2019 New Revision: 360997 URL: http://llvm.org/viewvc/llvm-project?rev=360997&view=rev Log: Fix alignment check to check the alignment of the intended type. Modified: cfe/trunk/lib/AST/APValue.cpp Modified: cfe/trunk/lib/AST/APValue.cpp URL: http://l

r360998 - Fix crash if, during evaluation of __builtin_object_size, we try to load

2019-05-17 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 17 01:01:34 2019 New Revision: 360998 URL: http://llvm.org/viewvc/llvm-project?rev=360998&view=rev Log: Fix crash if, during evaluation of __builtin_object_size, we try to load through an invalid base. Modified: cfe/trunk/lib/AST/ExprConstant.cpp cfe/trunk/tes

r360999 - Suppress false-positive GCC -Wreturn-type warning.

2019-05-17 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 17 01:06:49 2019 New Revision: 360999 URL: http://llvm.org/viewvc/llvm-project?rev=360999&view=rev Log: Suppress false-positive GCC -Wreturn-type warning. Modified: cfe/trunk/include/clang/AST/Expr.h Modified: cfe/trunk/include/clang/AST/Expr.h URL: http://llvm.

Re: r360998 - Fix crash if, during evaluation of __builtin_object_size, we try to load

2019-05-17 Thread Richard Smith via cfe-commits
Looks good, thanks :) On Fri, 17 May 2019, 10:31 Nico Weber via cfe-commits, < cfe-commits@lists.llvm.org> wrote: > I attempted to fix this in 361054. > > *From: *Nico Weber > *Date: *Fri, May 17, 2019 at 1:16 PM > *To: *Richard Smith > *Cc: *cfe-commits > > Also

r361067 - [c++20] P1327R1: Support for typeid applied to objects of polymorphic

2019-05-17 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 17 12:19:28 2019 New Revision: 361067 URL: http://llvm.org/viewvc/llvm-project?rev=361067&view=rev Log: [c++20] P1327R1: Support for typeid applied to objects of polymorphic class type in constant evaluation. This reinstates r360977, reverted in r360987, now that its

<    1   2   3   4   5   6   7   8   9   10   >