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-tests.html) > and create a

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> wrote: > >> > >> Author: aaronballman > >>

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 is in any case the wrong fix.

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
Committed as r365377. On Mon, 8 Jul 2019 at 12:43, Kristóf Umann via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Thank you so much! Sorry for the inconvencience, I'll be that much more > careful next time :) > =) No worries. It's one of those pesky "no diagnostic required" cases; they're

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 surprised. Perhaps we should stop claiming to >> s

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
hris Bieneman via cfe-commits > >> wrote: > >> > >> Hey Richard, > >> > >> This change is tripping up a bunch of the bots: > >> > >> http://lab.llvm.org:8011/builders/clang-cmake-armv8-lld/builds/1397 > >> > >> I'm goin

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
t;>> error: 'warning' diagnostics seen but not expected: >>> File >>> C:\b\s\w\ir\k\src\third_party\llvm\tools\clang\test\SemaCXX\builtin-object-size-cxx14.cpp >>> Line 105: implicit conversion from 'unsigned long long' to 'const long&#x

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

r361182 - Rearrange and clean up how we disambiguate lambda-introducers from ObjC

2019-05-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon May 20 11:01:54 2019 New Revision: 361182 URL: http://llvm.org/viewvc/llvm-project?rev=361182&view=rev Log: Rearrange and clean up how we disambiguate lambda-introducers from ObjC message sends, designators, and attributes. Instead of having the tentative parsing phase so

r361208 - Give 'fixit-cxx0x.cpp' a more modern name.

2019-05-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon May 20 16:37:18 2019 New Revision: 361208 URL: http://llvm.org/viewvc/llvm-project?rev=361208&view=rev Log: Give 'fixit-cxx0x.cpp' a more modern name. Added: cfe/trunk/test/FixIt/fixit-c++11.cpp - copied, changed from r361193, cfe/trunk/test/FixIt/fixit-cxx0x.cp

r361301 - Fix test failures after r361278 on non-Darwin platforms and when

2019-05-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 21 13:10:52 2019 New Revision: 361301 URL: http://llvm.org/viewvc/llvm-project?rev=361301&view=rev Log: Fix test failures after r361278 on non-Darwin platforms and when CLANG_DEFAULT_STDLIB is defined to libstdc++. Modified: cfe/trunk/test/Driver/darwin-header-sea

r361300 - [c++20] P0780R2: Support pack-expansion of init-captures.

2019-05-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 21 13:10:50 2019 New Revision: 361300 URL: http://llvm.org/viewvc/llvm-project?rev=361300&view=rev Log: [c++20] P0780R2: Support pack-expansion of init-captures. This permits an init-capture to introduce a new pack: template auto x = [...a = T()] { /* a is a pack *

Re: r361278 - [clang][Darwin] Refactor header search path logic into the driver

2019-05-21 Thread Richard Smith via cfe-commits
Awesome! But... this resulted in two test failures for me. I've fixed them in r361301, can you check that's correct? On Tue, 21 May 2019 at 10:45, Louis Dionne via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: ldionne > Date: Tue May 21 10:48:04 2019 > New Revision: 361278 > > URL:

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

2019-05-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 21 16:15:20 2019 New Revision: 361329 URL: http://llvm.org/viewvc/llvm-project?rev=361329&view=rev Log: [c++20] P1330R0: permit simple-assignments that change the active member of a union within constant expression evaluation. Modified: cfe/trunk/include/clang/AST

r361328 - Refactor: split Uninitialized state on APValue into an "Absent" state

2019-05-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 21 16:15:18 2019 New Revision: 361328 URL: http://llvm.org/viewvc/llvm-project?rev=361328&view=rev Log: Refactor: split Uninitialized state on APValue into an "Absent" state representing no such object, and an "Indeterminate" state representing an uninitialized object.

r361424 - Part of P1091R3: permit structured bindings to be declared 'static' and

2019-05-22 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed May 22 12:52:55 2019 New Revision: 361424 URL: http://llvm.org/viewvc/llvm-project?rev=361424&view=rev Log: Part of P1091R3: permit structured bindings to be declared 'static' and 'thread_local' in C++20. Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td

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