r361433 - Add some notes on immutability and faithfulness to the internals manual.

2019-05-22 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed May 22 14:20:09 2019 New Revision: 361433 URL: http://llvm.org/viewvc/llvm-project?rev=361433&view=rev Log: Add some notes on immutability and faithfulness to the internals manual. Modified: cfe/trunk/docs/InternalsManual.rst Modified: cfe/trunk/docs/InternalsManual.

r361588 - Factor out repeated code to build 'this' expressions and mark them

2019-05-23 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 23 18:35:07 2019 New Revision: 361588 URL: http://llvm.org/viewvc/llvm-project?rev=361588&view=rev Log: Factor out repeated code to build 'this' expressions and mark them referenced. Modified: cfe/trunk/include/clang/Sema/Sema.h cfe/trunk/lib/Sema/SemaExprCXX.

r361668 - Refactor use-marking to better match standard terminology. No

2019-05-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 24 13:42:25 2019 New Revision: 361668 URL: http://llvm.org/viewvc/llvm-project?rev=361668&view=rev Log: Refactor use-marking to better match standard terminology. No functionality change intended. Modified: cfe/trunk/lib/Sema/SemaExpr.cpp Modified: cfe/trunk/lib/

r361670 - Default arguments are potentially constant evaluated.

2019-05-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 24 14:08:12 2019 New Revision: 361670 URL: http://llvm.org/viewvc/llvm-project?rev=361670&view=rev Log: Default arguments are potentially constant evaluated. We need to eagerly instantiate constexpr functions used in them even if the default argument is never actually

r361680 - Fix crash deserializing a CUDAKernelCallExpr with a +Asserts binary.

2019-05-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 24 16:26:07 2019 New Revision: 361680 URL: http://llvm.org/viewvc/llvm-project?rev=361680&view=rev Log: Fix crash deserializing a CUDAKernelCallExpr with a +Asserts binary. The assertion in setConfig read from the (uninitialized) CONFIG expression. Modified: cfe/

r361686 - Permit static local structured bindings to be named from arbitrary scopes inside their declaring scope.

2019-05-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 24 18:04:17 2019 New Revision: 361686 URL: http://llvm.org/viewvc/llvm-project?rev=361686&view=rev Log: Permit static local structured bindings to be named from arbitrary scopes inside their declaring scope. Modified: cfe/trunk/include/clang/AST/DeclCXX.h cfe

r361893 - Defer creating fields for captures until we finish building the

2019-05-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 28 16:09:46 2019 New Revision: 361893 URL: http://llvm.org/viewvc/llvm-project?rev=361893&view=rev Log: Defer creating fields for captures until we finish building the capturing expression or statement. No functionality change yet. The intent is that we will also dela

r361892 - Simplify clang::Capture. No functionality change intended.

2019-05-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 28 16:09:45 2019 New Revision: 361892 URL: http://llvm.org/viewvc/llvm-project?rev=361892&view=rev Log: Simplify clang::Capture. No functionality change intended. We don't need to pack flags into the bottom bits of pointers here; we have plenty of trailing bits in thi

r361890 - Move code to mark a variable as odr-used adjacement to all the related

2019-05-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 28 16:09:42 2019 New Revision: 361890 URL: http://llvm.org/viewvc/llvm-project?rev=361890&view=rev Log: Move code to mark a variable as odr-used adjacement to all the related code. No functional change intended. Modified: cfe/trunk/include/clang/Sema/Sema.h c

r361891 - If capturing a variable fails, add a capture anyway (and mark it

2019-05-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 28 16:09:44 2019 New Revision: 361891 URL: http://llvm.org/viewvc/llvm-project?rev=361891&view=rev Log: If capturing a variable fails, add a capture anyway (and mark it invalid) so that we can avoid repeated diagnostics for the same capture. Modified: cfe/trunk/in

r361895 - Fix r361893 to also update a recently-added test.

2019-05-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 28 16:20:52 2019 New Revision: 361895 URL: http://llvm.org/viewvc/llvm-project?rev=361895&view=rev Log: Fix r361893 to also update a recently-added test. Modified: cfe/trunk/test/AST/ast-dump-expr-json.cpp Modified: cfe/trunk/test/AST/ast-dump-expr-json.cpp URL:

Re: r349201 - Add extension to always default-initialize nullptr_t.

2018-12-14 Thread Richard Smith via cfe-commits
Sorry, I was late with my review comment. I think this is the wrong way to approach this problem. This does not "fix all situations where nullptr_t would seem uninitialized", and it makes our AST representation lose source fidelity. On Fri, 14 Dec 2018 at 14:25, Erich Keane via cfe-commits < cfe-c

Re: r349201 - Add extension to always default-initialize nullptr_t.

2018-12-14 Thread Richard Smith via cfe-commits
I have a patch I put together a while back as an attempt to fix a different bug, that creates a new CastKind for this operation (didn't work out there, but it might do so here). I'll dig it out and mail it to you in case it's a useful starting point. On Fri, 14 Dec 2018 at 14:42, Keane, Erich via

Re: r349201 - Add extension to always default-initialize nullptr_t.

2018-12-14 Thread Richard Smith via cfe-commits
Attached. With the functional part of your change reverted and this applied, the modified tests still pass except error: 'note' diagnostics expected but not seen: File /usr/local/google/home/richardsmith/llvm-git-1/src/tools/clang/test/Analysis/nullptr.cpp Line 128: 'p' initialized to a null poi

Re: r349212 - Mangle calling conventions into function pointer types where GCC does

2018-12-14 Thread Richard Smith via cfe-commits
Should this change be disableable by -fclang-abi-compat=7 or below? On Fri, 14 Dec 2018, 15:46 Reid Kleckner via cfe-commits < cfe-commits@lists.llvm.org wrote: > Author: rnk > Date: Fri Dec 14 15:42:59 2018 > New Revision: 349212 > > URL: http://llvm.org/viewvc/llvm-project?rev=349212&view=rev >

r349820 - Make the "too many braces in scalar initialization" extension cause

2018-12-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Dec 20 12:58:53 2018 New Revision: 349820 URL: http://llvm.org/viewvc/llvm-project?rev=349820&view=rev Log: Make the "too many braces in scalar initialization" extension cause SFINAE failures. Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td cfe/trun

Re: r350404 - Refactor the way we handle diagnosing unused expression results.

2019-01-04 Thread Richard Smith via cfe-commits
On Fri, 4 Jan 2019 at 17:33, Nico Weber via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Nice, this is finding bugs: > https://bugs.chromium.org/p/chromium/issues/detail?id=919262 > > However, I noticed that for that case, the same warning is printed twice: > > ../../third_party/crashpad/cra

r350505 - DR674, PR38883, PR40238: Qualified friend lookup should look for a

2019-01-06 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Jan 6 22:00:46 2019 New Revision: 350505 URL: http://llvm.org/viewvc/llvm-project?rev=350505&view=rev Log: DR674, PR38883, PR40238: Qualified friend lookup should look for a template specialization if there is no matching non-template function. This exposed a couple of r

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

2019-01-07 Thread Richard Smith via cfe-commits
On Mon, 7 Jan 2019 at 13:57, Erik Pilkington via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: epilk > Date: Mon Jan 7 13:54:00 2019 > New Revision: 350572 > > URL: http://llvm.org/viewvc/llvm-project?rev=350572&view=rev > Log: > Add a __has_feature check for namespaces on #pragma cl

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

2019-01-07 Thread Richard Smith via cfe-commits
On Mon, 7 Jan 2019 at 16:12, Erik Pilkington via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On 1/7/19 3:51 PM, Richard Smith wrote: > > On Mon, 7 Jan 2019 at 13:57, Erik Pilkington via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: epilk >> Date: Mon Jan 7 13:54:00 2019 >

r350779 - In nothrow new-expressions, null-check the result if we're going to

2019-01-09 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jan 9 16:03:29 2019 New Revision: 350779 URL: http://llvm.org/viewvc/llvm-project?rev=350779&view=rev Log: In nothrow new-expressions, null-check the result if we're going to apply sanitizers to it. This avoids a sanitizer false positive that we are initializing a null p

r350915 - Remember to instantiate explicit template argument lists in a friend

2019-01-10 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Jan 10 17:59:33 2019 New Revision: 350915 URL: http://llvm.org/viewvc/llvm-project?rev=350915&view=rev Log: Remember to instantiate explicit template argument lists in a friend function declaration. We'd previously often just drop these on the floor, and friend redeclarat

r371476 - Fix crash mangling an explicit lambda non-type template parameter pack

2019-09-09 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Sep 9 17:39:53 2019 New Revision: 371476 URL: http://llvm.org/viewvc/llvm-project?rev=371476&view=rev Log: Fix crash mangling an explicit lambda non-type template parameter pack that is not a pack expansion. Modified: cfe/trunk/lib/AST/ItaniumMangle.cpp cfe/trunk

r371557 - When evaluating a __builtin_constant_p conditional, always enter

2019-09-10 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Sep 10 14:24:09 2019 New Revision: 371557 URL: http://llvm.org/viewvc/llvm-project?rev=371557&view=rev Log: When evaluating a __builtin_constant_p conditional, always enter constant-folding mode regardless of the original evaluation mode. In order for this to be correct,

Re: r359367 - Reinstate r359059, reverted in r359361, with a fix to properly prevent

2019-09-10 Thread Richard Smith via cfe-commits
Thanks, fixed in r371557. On Mon, 9 Sep 2019 at 19:12, Michael Spencer via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Fri, Apr 26, 2019 at 7:56 PM Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: rsmith >> Date: Fri Apr

r371767 - Improve code generation for thread_local variables:

2019-09-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 12 13:00:24 2019 New Revision: 371767 URL: http://llvm.org/viewvc/llvm-project?rev=371767&view=rev Log: Improve code generation for thread_local variables: Summary: * Don't bother using a thread wrapper when the variable is known to have constant initialization.

r371805 - For PR17164: split -fno-lax-vector-conversion into three different

2019-09-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 12 19:20:00 2019 New Revision: 371805 URL: http://llvm.org/viewvc/llvm-project?rev=371805&view=rev Log: For PR17164: split -fno-lax-vector-conversion into three different levels: -- none: no lax vector conversions [new GCC default] -- integer: only conversions betwe

r371814 - Remove reliance on lax vector conversions from altivec.h and its test.

2019-09-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 12 22:19:12 2019 New Revision: 371814 URL: http://llvm.org/viewvc/llvm-project?rev=371814&view=rev Log: Remove reliance on lax vector conversions from altivec.h and its test. Modified: cfe/trunk/include/clang/Basic/BuiltinsPPC.def cfe/trunk/lib/Headers/altivec

r371816 - Fix interaction between r371813 and r371814.

2019-09-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 12 22:29:16 2019 New Revision: 371816 URL: http://llvm.org/viewvc/llvm-project?rev=371816&view=rev Log: Fix interaction between r371813 and r371814. Modified: cfe/trunk/test/CodeGen/builtins-ppc-altivec.c Modified: cfe/trunk/test/CodeGen/builtins-ppc-altivec.c UR

Re: r371813 - Revert "For PR17164: split -fno-lax-vector-conversion into three different"

2019-09-12 Thread Richard Smith via cfe-commits
Thanks for the revert, re-landed in r371817 with a (hopeful) fix for lldb (which I can't build; cmake seems unable to enable it in a monorepo checkout?) On Thu, 12 Sep 2019 at 22:15, Jonas Devlieghere via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: jdevlieghere > Date: Thu Sep 12 2

r371817 - For PR17164: split -fno-lax-vector-conversion into three different

2019-09-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 12 23:02:15 2019 New Revision: 371817 URL: http://llvm.org/viewvc/llvm-project?rev=371817&view=rev Log: For PR17164: split -fno-lax-vector-conversion into three different levels: -- none: no lax vector conversions [new GCC default] -- integer: only conversions betwe

r372061 - Remove reliance on lax vector conversions from altivec.h in VSX mode.

2019-09-16 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Sep 16 20:56:26 2019 New Revision: 372061 URL: http://llvm.org/viewvc/llvm-project?rev=372061&view=rev Log: Remove reliance on lax vector conversions from altivec.h in VSX mode. Modified: cfe/trunk/lib/Headers/altivec.h cfe/trunk/test/CodeGen/altivec-ct.c cfe/

r372063 - Fix reliance on -flax-vector-conversions in AVX intrinsics headers and

2019-09-16 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Sep 16 20:56:30 2019 New Revision: 372063 URL: http://llvm.org/viewvc/llvm-project?rev=372063&view=rev Log: Fix reliance on -flax-vector-conversions in AVX intrinsics headers and corresponding tests. Modified: cfe/trunk/lib/Headers/avx512fintrin.h cfe/trunk/test/C

r372062 - Fix reliance on lax vector conversions in tests for x86 intrinsics.

2019-09-16 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Sep 16 20:56:28 2019 New Revision: 372062 URL: http://llvm.org/viewvc/llvm-project?rev=372062&view=rev Log: Fix reliance on lax vector conversions in tests for x86 intrinsics. Modified: cfe/trunk/test/CodeGen/const-init.c cfe/trunk/test/CodeGen/ppc-smmintrin.c

Re: r372185 - Revert "Create UsersManual section entitled 'Controlling Floating Point"

2019-09-17 Thread Richard Smith via cfe-commits
On Tue, 17 Sep 2019, 15:25 Erich Keane via cfe-commits, < cfe-commits@lists.llvm.org> wrote: > Author: erichkeane > Date: Tue Sep 17 14:27:07 2019 > New Revision: 372185 > > URL: http://llvm.org/viewvc/llvm-project?rev=372185&view=rev > Log: > Revert "Create UsersManual section entitled 'Controlli

r372237 - [c++20] P1331R2: Allow transient use of uninitialized objects in

2019-09-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Sep 18 10:37:44 2019 New Revision: 372237 URL: http://llvm.org/viewvc/llvm-project?rev=372237&view=rev Log: [c++20] P1331R2: Allow transient use of uninitialized objects in constant evaluation. Modified: cfe/trunk/include/clang/AST/DeclCXX.h cfe/trunk/include/clan

r372359 - Model converted constant expressions as full-expressions.

2019-09-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 19 15:00:16 2019 New Revision: 372359 URL: http://llvm.org/viewvc/llvm-project?rev=372359&view=rev Log: Model converted constant expressions as full-expressions. This is groundwork for C++20's P0784R7, where non-trivial destructors can be constexpr, so we need ExprWit

r372368 - Finish building the full-expression for a static_assert expression

2019-09-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 19 20:29:19 2019 New Revision: 372368 URL: http://llvm.org/viewvc/llvm-project?rev=372368&view=rev Log: Finish building the full-expression for a static_assert expression before evaluating it rather than afterwards. This is groundwork for C++20's P0784R7, where non-tr

r372415 - [www] Turn 'Clang 9' boxes green in C++ status pages now Clang 9 is

2019-09-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Sep 20 11:09:05 2019 New Revision: 372415 URL: http://llvm.org/viewvc/llvm-project?rev=372415&view=rev Log: [www] Turn 'Clang 9' boxes green in C++ status pages now Clang 9 is released. Modified: cfe/trunk/www/cxx_dr_status.html cfe/trunk/www/cxx_status.html c

r372437 - Fix assertion failure when constant evaluation of a switch jumps over an

2019-09-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Sep 20 16:08:59 2019 New Revision: 372437 URL: http://llvm.org/viewvc/llvm-project?rev=372437&view=rev Log: Fix assertion failure when constant evaluation of a switch jumps over an uninitialized variable in an init-statement of a 'for' or 'if'. Modified: cfe/trunk/lib

r372438 - Remove outdated FIXME.

2019-09-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Sep 20 16:12:51 2019 New Revision: 372438 URL: http://llvm.org/viewvc/llvm-project?rev=372438&view=rev Log: Remove outdated FIXME. Modified: cfe/trunk/lib/AST/ExprConstant.cpp Modified: cfe/trunk/lib/AST/ExprConstant.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/

r372538 - For P0784R7: add support for constexpr destructors, and call them as

2019-09-22 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Sep 22 20:48:44 2019 New Revision: 372538 URL: http://llvm.org/viewvc/llvm-project?rev=372538&view=rev Log: For P0784R7: add support for constexpr destructors, and call them as appropriate during constant evaluation. Note that the evaluator is sometimes invoked on incompl

r372541 - For P0784R7: add further testing of requirements on constexpr

2019-09-22 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Sep 22 22:08:55 2019 New Revision: 372541 URL: http://llvm.org/viewvc/llvm-project?rev=372541&view=rev Log: For P0784R7: add further testing of requirements on constexpr destructors. Added: cfe/trunk/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/dtor.cpp Added: cfe/trunk/t

r373022 - Always rebuild a DeclRefExpr if its FoundDecl would change.

2019-09-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 26 15:28:32 2019 New Revision: 373022 URL: http://llvm.org/viewvc/llvm-project?rev=373022&view=rev Log: Always rebuild a DeclRefExpr if its FoundDecl would change. Fixes a regression introduced by r36. Added: cfe/trunk/test/SemaTemplate/using-decl.cpp Modifie

Re: r369999 - Don't lose the FoundDecl and template arguments for a DeclRefExpr in

2019-09-26 Thread Richard Smith via cfe-commits
nstantiationOf(const clang::Decl *): > Assertion `isa(D) && "declaration not instantiated in this > scope"' failed. > > Can you please take a look? > Thanks, great testcase. Fixed in r373022. > Peter > > On Mon, Aug 26, 2019 at 6:04 PM Richard Smith v

r373036 - For P0784R7: Add support for dynamic allocation with new / delete during

2019-09-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 26 18:26:47 2019 New Revision: 373036 URL: http://llvm.org/viewvc/llvm-project?rev=373036&view=rev Log: For P0784R7: Add support for dynamic allocation with new / delete during constant evaluation. Added: cfe/trunk/test/CodeGenCXX/const-init-cxx2a.cpp Modified:

r373037 - For P0784R7: add support for new (std::nothrow).

2019-09-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 26 18:26:49 2019 New Revision: 373037 URL: http://llvm.org/viewvc/llvm-project?rev=373037&view=rev Log: For P0784R7: add support for new (std::nothrow). Modified: cfe/trunk/include/clang/AST/Type.h cfe/trunk/lib/AST/Decl.cpp cfe/trunk/lib/AST/ExprConstant.

r373042 - Fix use-after-free found in Clang's testsuite.

2019-09-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Sep 26 22:36:16 2019 New Revision: 373042 URL: http://llvm.org/viewvc/llvm-project?rev=373042&view=rev Log: Fix use-after-free found in Clang's testsuite. We need to discard all remaining cleanups if an earlier cleanup failed, otherwise we may try to rerun the remaining c

r373122 - For P0784R7: add support for explicit destructor calls and

2019-09-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Sep 27 13:24:36 2019 New Revision: 373122 URL: http://llvm.org/viewvc/llvm-project?rev=373122&view=rev Log: For P0784R7: add support for explicit destructor calls and pseudo-destructor calls in constant evaluation. Modified: cfe/trunk/include/clang/Basic/DiagnosticAST

r373159 - For P0784R7: compute whether a variable has constant destruction if it

2019-09-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Sep 28 22:08:46 2019 New Revision: 373159 URL: http://llvm.org/viewvc/llvm-project?rev=373159&view=rev Log: For P0784R7: compute whether a variable has constant destruction if it has a constexpr destructor. For constexpr variables, reject if the variable does not have con

r373160 - Fix checking for permitted results of constant expressions.

2019-09-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Sep 28 22:58:31 2019 New Revision: 373160 URL: http://llvm.org/viewvc/llvm-project?rev=373160&view=rev Log: Fix checking for permitted results of constant expressions. In the presence of mutable state, we need to check whether temporaries involved in a constant expression

r373161 - For now, disallow lifetime-extended temporaries with non-trivial (but

2019-09-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Sep 28 23:22:54 2019 New Revision: 373161 URL: http://llvm.org/viewvc/llvm-project?rev=373161&view=rev Log: For now, disallow lifetime-extended temporaries with non-trivial (but constexpr) destructors from being used in the values of constexpr variables. The standard rule

r373162 - [cxx_status] Mark P0784R7 as partially complete.

2019-09-29 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Sep 29 00:16:13 2019 New Revision: 373162 URL: http://llvm.org/viewvc/llvm-project?rev=373162&view=rev Log: [cxx_status] Mark P0784R7 as partially complete. Modified: cfe/trunk/www/cxx_status.html Modified: cfe/trunk/www/cxx_status.html URL: http://llvm.org/viewvc/l

r373173 - Don't crash if a variable with a constexpr destructor has a

2019-09-29 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Sep 29 13:30:13 2019 New Revision: 373173 URL: http://llvm.org/viewvc/llvm-project?rev=373173&view=rev Log: Don't crash if a variable with a constexpr destructor has a value-dependent initializer. Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp cfe/trunk/test/SemaCXX

r373272 - Fix crash on value-dependent delete-expressions.

2019-09-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Sep 30 15:55:27 2019 New Revision: 373272 URL: http://llvm.org/viewvc/llvm-project?rev=373272&view=rev Log: Fix crash on value-dependent delete-expressions. We used to miscompute the 'value-dependent' bit, and would crash if we tried to evaluate a delete expression that s

r373276 - [c++20] Fix crash when constant-evaluating an assignment with a

2019-09-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Sep 30 17:07:14 2019 New Revision: 373276 URL: http://llvm.org/viewvc/llvm-project?rev=373276&view=rev Log: [c++20] Fix crash when constant-evaluating an assignment with a reference member access on its left-hand side. Modified: cfe/trunk/lib/AST/ExprConstant.cpp

r373279 - During constant evaluation, handle CXXBindTemporaryExprs for

2019-09-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Sep 30 17:41:16 2019 New Revision: 373279 URL: http://llvm.org/viewvc/llvm-project?rev=373279&view=rev Log: During constant evaluation, handle CXXBindTemporaryExprs for array-of-class types, not just for class types. Modified: cfe/trunk/lib/AST/ExprConstant.cpp cf

r373281 - [c++20] Add a C++20 version of the existing turing machine test.

2019-09-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Sep 30 17:47:41 2019 New Revision: 373281 URL: http://llvm.org/viewvc/llvm-project?rev=373281&view=rev Log: [c++20] Add a C++20 version of the existing turing machine test. Unlike the C++11 version, this one uese mutable state and dynamic allocation instead of a carefully

r373289 - Don't elide the use of the thread wrapper for a thread_local constinit

2019-09-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Sep 30 18:23:23 2019 New Revision: 373289 URL: http://llvm.org/viewvc/llvm-project?rev=373289&view=rev Log: Don't elide the use of the thread wrapper for a thread_local constinit variable with non-trivial destruction. We still need to invoke the thread wrapper to trigger

r373418 - Fix crash on constant-evaluation of pseudo-destruction of a pointer.

2019-10-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 1 18:13:57 2019 New Revision: 373418 URL: http://llvm.org/viewvc/llvm-project?rev=373418&view=rev Log: Fix crash on constant-evaluation of pseudo-destruction of a pointer. We got confused and thought we might be pseudo-destroying the pointee instead. Modified: c

r373546 - For P0784R7: allow direct calls to operator new / operator delete from

2019-10-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Oct 2 17:39:33 2019 New Revision: 373546 URL: http://llvm.org/viewvc/llvm-project?rev=373546&view=rev Log: For P0784R7: allow direct calls to operator new / operator delete from std::allocator::{allocate,deallocate} in constant evaluation. Added: cfe/trunk/test/SemaC

r373548 - Mark P0784R7 as complete and start defining its feature-test macro.

2019-10-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Oct 2 17:39:37 2019 New Revision: 373548 URL: http://llvm.org/viewvc/llvm-project?rev=373548&view=rev Log: Mark P0784R7 as complete and start defining its feature-test macro. Note that this only covers the language side of this feature. (The library side has its own feat

r373547 - For P0784R7: support placement new-expressions in constant evaluation.

2019-10-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Oct 2 17:39:35 2019 New Revision: 373547 URL: http://llvm.org/viewvc/llvm-project?rev=373547&view=rev Log: For P0784R7: support placement new-expressions in constant evaluation. For now, we restrict this support to use from within the standard library implementation, sin

r373553 - PR43519: don't inject a diagnostic when constant-evaulation of a

2019-10-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Oct 2 18:20:27 2019 New Revision: 373553 URL: http://llvm.org/viewvc/llvm-project?rev=373553&view=rev Log: PR43519: don't inject a diagnostic when constant-evaulation of a pointer-to-member call can't determine a callee. We will have produced a diagnostic already if the

r373643 - PR43547: substitute into the type of a non-type template parameter if

2019-10-03 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 3 11:24:40 2019 New Revision: 373643 URL: http://llvm.org/viewvc/llvm-project?rev=373643&view=rev Log: PR43547: substitute into the type of a non-type template parameter if it's instantiation-dependent, even if it's not dependent. There might be a SFINAE check in the

r373648 - Check for qualified function types after substituting into the operand

2019-10-03 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 3 11:55:23 2019 New Revision: 373648 URL: http://llvm.org/viewvc/llvm-project?rev=373648&view=rev Log: Check for qualified function types after substituting into the operand of 'typeid'. This is a rare place where it's valid for a function type to be substituted but

r373685 - Properly handle instantiation-dependent array bounds.

2019-10-03 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 3 18:25:59 2019 New Revision: 373685 URL: http://llvm.org/viewvc/llvm-project?rev=373685&view=rev Log: Properly handle instantiation-dependent array bounds. We previously failed to treat an array with an instantiation-dependent but not value-dependent bound as being

r330626 - DR727: remove wrong assertion for use of class-scope explicit

2018-04-23 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Apr 23 11:38:30 2018 New Revision: 330626 URL: http://llvm.org/viewvc/llvm-project?rev=330626&view=rev Log: DR727: remove wrong assertion for use of class-scope explicit specialization without -fms-extensions. Modified: cfe/trunk/lib/Sema/SemaTemplate.cpp cfe/trun

Re: [PATCH] D45766: [Sema] Add -Wno-self-assign-overloaded

2018-04-23 Thread Richard Smith via cfe-commits
On 23 April 2018 at 16:23, David Blaikie via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Mon, Apr 23, 2018 at 4:12 PM John McCall wrote: > >> On Mon, Apr 23, 2018 at 6:32 PM, David Blaikie >> wrote: >> >>> On Mon, Apr 23, 2018 at 3:29 PM John McCall via Phabricator < >>> revi...@review

Re: r329804 - [Sema] Fix built-in decrement operator overload resolution

2018-04-25 Thread Richard Smith via cfe-commits
On 12 April 2018 at 07:20, Jan Korous via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Hi Richard, > > Here you are: > https://reviews.llvm.org/D45569 > > I am now thinking if it makes sense to output this warning for pre-17 > standards: > > warning: incrementing expression of type bool is d

r330881 - Fix crash on qualified template name instantiation if the template name has no

2018-04-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Apr 25 15:58:55 2018 New Revision: 330881 URL: http://llvm.org/viewvc/llvm-project?rev=330881&view=rev Log: Fix crash on qualified template name instantiation if the template name has no template argument list. Modified: cfe/trunk/lib/Sema/SemaTemplate.cpp cfe/tru

r330890 - Factor out common code for diagnosing missing template arguments.

2018-04-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Apr 25 18:08:00 2018 New Revision: 330890 URL: http://llvm.org/viewvc/llvm-project?rev=330890&view=rev Log: Factor out common code for diagnosing missing template arguments. In passing, add 'concept' to the list of template kinds in diagnostics. Modified: cfe/trunk/i

r330891 - Revert addition of 'concept' to diagnostics in r330890.

2018-04-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Apr 25 18:16:08 2018 New Revision: 330891 URL: http://llvm.org/viewvc/llvm-project?rev=330891&view=rev Log: Revert addition of 'concept' to diagnostics in r330890. Matches revert in r330888 of r330794. Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td

Re: [PATCH] D45766: [Sema] Add -Wno-self-assign-overloaded

2018-04-25 Thread Richard Smith via cfe-commits
On 23 April 2018 at 20:07, John McCall via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Mon, Apr 23, 2018 at 8:23 PM, Richard Smith > wrote: > >> On 23 April 2018 at 16:23, David Blaikie via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> On Mon, Apr 23, 2018 at 4:12 PM John M

r330894 - Diagnose missing template arguments for a variable template even when there is

2018-04-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Apr 25 19:10:22 2018 New Revision: 330894 URL: http://llvm.org/viewvc/llvm-project?rev=330894&view=rev Log: Diagnose missing template arguments for a variable template even when there is a preceding 'template' keyword. We only diagnose in the dependent case (wherein we us

r331013 - Parse A::template B as an identifier rather than as a template-id with no

2018-04-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Apr 26 19:00:13 2018 New Revision: 331013 URL: http://llvm.org/viewvc/llvm-project?rev=331013&view=rev Log: Parse A::template B as an identifier rather than as a template-id with no template arguments. This fixes some cases where we'd incorrectly accept "A::template B" wh

r331017 - Fix typo.

2018-04-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Apr 26 21:27:26 2018 New Revision: 331017 URL: http://llvm.org/viewvc/llvm-project?rev=331017&view=rev Log: Fix typo. Modified: cfe/trunk/include/clang/Basic/SourceManager.h Modified: cfe/trunk/include/clang/Basic/SourceManager.h URL: http://llvm.org/viewvc/llvm-pro

Re: r331056 - [docs] add -ffp-cast-overflow-workaround to the release notes

2018-04-27 Thread Richard Smith via cfe-commits
On 27 April 2018 at 09:21, Sanjay Patel via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: spatel > Date: Fri Apr 27 09:21:22 2018 > New Revision: 331056 > > URL: http://llvm.org/viewvc/llvm-project?rev=331056&view=rev > Log: > [docs] add -ffp-cast-overflow-workaround to the release no

Re: r331056 - [docs] add -ffp-cast-overflow-workaround to the release notes

2018-04-27 Thread Richard Smith via cfe-commits
On 27 April 2018 at 16:07, Sanjay Patel via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Missing dash corrected at r331057. I can improve the doc wording, but > let's settle on the flag name first, and I'll try to get it all fixed up in > one shot. > > So far we have these candidates: > 1. -

Re: r331056 - [docs] add -ffp-cast-overflow-workaround to the release notes

2018-04-27 Thread Richard Smith via cfe-commits
On 27 April 2018 at 17:09, Chandler Carruth via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Fri, Apr 27, 2018 at 4:36 PM Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> On 27 April 2018 at 16:07, Sanjay Patel via cfe-commits <

r331136 - PR37275 packed attribute should not apply to base classes

2018-04-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Apr 28 21:55:46 2018 New Revision: 331136 URL: http://llvm.org/viewvc/llvm-project?rev=331136&view=rev Log: PR37275 packed attribute should not apply to base classes Clang incorrectly applied the packed attribute to base classes. Per GCC's documentation and as can be obse

r331137 - Fix printing of reference-to-reference types.

2018-04-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Apr 28 22:33:38 2018 New Revision: 331137 URL: http://llvm.org/viewvc/llvm-project?rev=331137&view=rev Log: Fix printing of reference-to-reference types. Previously we would sometimes print these as 'T &&&' or even 'T '. Modified: cfe/trunk/lib/AST/TypePrinter.cp

r331155 - PR37189 Fix incorrect end source location and spelling for a split '>>' token.

2018-04-29 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Apr 29 22:25:48 2018 New Revision: 331155 URL: http://llvm.org/viewvc/llvm-project?rev=331155&view=rev Log: PR37189 Fix incorrect end source location and spelling for a split '>>' token. When a '>>' token is split into two '>' tokens (in C++11 onwards), or (as an extensio

[clang-tools-extra] r331156 - Fix up after clang r331155.

2018-04-29 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Apr 29 22:26:07 2018 New Revision: 331156 URL: http://llvm.org/viewvc/llvm-project?rev=331156&view=rev Log: Fix up after clang r331155. Modified: clang-tools-extra/trunk/clang-move/ClangMove.cpp clang-tools-extra/trunk/clang-tidy/ClangTidyDiagnosticConsumer.cpp

[libcxx] r331241 - Fix return type of isinf(double) and isnan(double) where possible.

2018-04-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Apr 30 20:05:40 2018 New Revision: 331241 URL: http://llvm.org/viewvc/llvm-project?rev=331241&view=rev Log: Fix return type of isinf(double) and isnan(double) where possible. When using an old version of glibc, a ::isinf(double) and ::isnan(double) function is provided, r

r331244 - Implement P0482R2, support for char8_t type.

2018-04-30 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Apr 30 22:02:45 2018 New Revision: 331244 URL: http://llvm.org/viewvc/llvm-project?rev=331244&view=rev Log: Implement P0482R2, support for char8_t type. This is not yet part of any C++ working draft, and so is controlled by the flag -fchar8_t rather than a -std= flag. (Th

Re: r331244 - Implement P0482R2, support for char8_t type.

2018-05-01 Thread Richard Smith via cfe-commits
018 at 10:06 PM Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: rsmith >> Date: Mon Apr 30 22:02:45 2018 >> New Revision: 331244 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=331244&view=rev >> Log: >>

r331299 - Fix bogus MSVC char8_t mangling.

2018-05-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 1 11:50:15 2018 New Revision: 331299 URL: http://llvm.org/viewvc/llvm-project?rev=331299&view=rev Log: Fix bogus MSVC char8_t mangling. This appears to have been caused by a bad automatic svn merge with r330225 attaching the 'case' label to the wrong block of code. :

Re: r331244 - Implement P0482R2, support for char8_t type.

2018-05-01 Thread Richard Smith via cfe-commits
On 1 May 2018 at 08:55, David Majnemer via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Mon, Apr 30, 2018 at 10:02 PM, Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: rsmith >> Date: Mon Apr 30 22:02:45 2018 >&g

r331428 - Track the result of evaluating a computed noexcept specification on the

2018-05-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed May 2 20:58:32 2018 New Revision: 331428 URL: http://llvm.org/viewvc/llvm-project?rev=331428&view=rev Log: Track the result of evaluating a computed noexcept specification on the FunctionProtoType. We previously re-evaluated the expression each time we wanted to know whe

[clang-tools-extra] r331429 - Update to match clang r331428.

2018-05-02 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed May 2 20:59:50 2018 New Revision: 331429 URL: http://llvm.org/viewvc/llvm-project?rev=331429&view=rev Log: Update to match clang r331428. Modified: clang-tools-extra/trunk/clang-tidy/modernize/UseNoexceptCheck.cpp clang-tools-extra/trunk/clang-tidy/performance/N

r331620 - Non-zero-length bit-fields make a class non-empty.

2018-05-06 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun May 6 23:43:30 2018 New Revision: 331620 URL: http://llvm.org/viewvc/llvm-project?rev=331620&view=rev Log: Non-zero-length bit-fields make a class non-empty. This implements the rule intended by the standard (see LWG 2358) and the rule intended by the Itanium C++ ABI (se

r331621 - Remove now-unnecessary check for non-zero nvsize in addition to

2018-05-06 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun May 6 23:43:31 2018 New Revision: 331621 URL: http://llvm.org/viewvc/llvm-project?rev=331621&view=rev Log: Remove now-unnecessary check for non-zero nvsize in addition to emptyness in MS record layout. Modified: cfe/trunk/lib/AST/RecordLayoutBuilder.cpp Modified: cf

r331692 - PR37352: mangle numbering for decomposition declarations.

2018-05-07 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon May 7 15:23:38 2018 New Revision: 331692 URL: http://llvm.org/viewvc/llvm-project?rev=331692&view=rev Log: PR37352: mangle numbering for decomposition declarations. In order to match our mangling scheme, use a different set of numbers for decomposition declarations, and

Re: r335084 - Append new attributes to the end of an AttributeList.

2018-06-25 Thread Richard Smith via cfe-commits
On 23 June 2018 at 22:34, Michael Kruse via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Hi, > > multiple comments in the code indicate that the attribute order was > surprising and probably has lead to bugs, and will lead to bugs in the > future. The order had to be explicitly reversed to a

r335687 - Diagnose missing 'template' keywords in more cases.

2018-06-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 26 16:20:26 2018 New Revision: 335687 URL: http://llvm.org/viewvc/llvm-project?rev=335687&view=rev Log: Diagnose missing 'template' keywords in more cases. We track when we see a name-shaped expression followed by a '<' token and parse the '<' as a comparison. Then:

r335699 - Diagnose missing 'template' keywords in contexts where a comma is not a

2018-06-26 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Jun 26 18:32:04 2018 New Revision: 335699 URL: http://llvm.org/viewvc/llvm-project?rev=335699&view=rev Log: Diagnose missing 'template' keywords in contexts where a comma is not a binary operator. Factor out the checking for a comma within potential angle brackets and als

r335779 - DR1213: Ignore implicit conversions when determining if an operand of an

2018-06-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jun 27 13:29:32 2018 New Revision: 335779 URL: http://llvm.org/viewvc/llvm-project?rev=335779&view=rev Log: DR1213: Ignore implicit conversions when determining if an operand of an array subscript expression is an array prvalue. Also apply DR1213 to vector prvalues for co

r335781 - DR1687: When overload resolution selects a built-in operator, implicit

2018-06-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jun 27 13:30:34 2018 New Revision: 335781 URL: http://llvm.org/viewvc/llvm-project?rev=335781&view=rev Log: DR1687: When overload resolution selects a built-in operator, implicit conversions are only applied to operands of class type, and the second standard conversion seq

r335782 - [www] Update cxx_dr_status for recent DR fixes.

2018-06-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Jun 27 13:30:36 2018 New Revision: 335782 URL: http://llvm.org/viewvc/llvm-project?rev=335782&view=rev Log: [www] Update cxx_dr_status for recent DR fixes. Modified: cfe/trunk/www/cxx_dr_status.html Modified: cfe/trunk/www/cxx_dr_status.html URL: http://llvm.org/vie

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