zygoloid wrote:
> Note that the AST for the expression `T{}` looks like:
>
> ```
> // using T = int;
> CXXFunctionalCastExpr 'T':'int' functional cast to T
> `-InitListExpr 'T':'int'
> // using T = const int;
> CXXFunctionalCastExpr 'int' functional cast to T
> `-InitListExpr 'int'
> // using
shafik wrote:
@MitalAshok ping
https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78060
>From 6ed7cad5d4993603221c3d9a777463675d69643b Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 13 Jan 2024 18:03:15 +
Subject: [PATCH] [SemaCXX] Implement CWG2351 `void{}`
---
clang/docs/ReleaseNot
@@ -1600,12 +1600,25 @@ Sema::BuildCXXTypeConstructExpr(TypeSourceInfo *TInfo,
return ExprError(Diag(TyBeginLoc, diag::err_init_for_function_type)
<< Ty << FullRange);
- // C++17 [expr.type.conv]p2:
- // If the type is cv void and the initializer
cor3ntin wrote:
@MitalAshok ping
https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1600,12 +1600,25 @@ Sema::BuildCXXTypeConstructExpr(TypeSourceInfo *TInfo,
return ExprError(Diag(TyBeginLoc, diag::err_init_for_function_type)
<< Ty << FullRange);
- // C++17 [expr.type.conv]p2:
- // If the type is cv void and the initializer
https://github.com/shafik commented:
Just a quick question
https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/cor3ntin approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Endilll wrote:
LGTM
https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MitalAshok updated
https://github.com/llvm/llvm-project/pull/78060
>From b33b2bc24ff0af7b2cb0f740826885f1f2dafb49 Mon Sep 17 00:00:00 2001
From: Mital Ashok
Date: Sat, 13 Jan 2024 18:03:15 +
Subject: [PATCH] [SemaCXX] Implement CWG2351 `void{}`
---
clang/docs/ReleaseNot
cor3ntin wrote:
I would recommend adding a test in C++98 mode. I don't think gating is
necessary, the code should not parse.
Adding a test for ({}) is also a good idea.
https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-
Endilll wrote:
> Looking at other places, it looks like init-list stuff is guarded behind
> getLangOpts().CPlusPlus11, so I'll add that check.
Corentin told me offline that check for list initialization that you do might
be sufficient, as it can't pass in 98.
> It looks like this DR is CD5 (a
MitalAshok wrote:
Looking at other places, it looks like init-list stuff is guarded behind
`getLangOpts().CPlusPlus11`, so I'll add that check.
It looks like this DR is CD5 (after C++17, applies to C++17), but `void{}` in
C++11/14 without a warning seems fine.
As for "regular tests", do you m
Endilll wrote:
> Initializer list syntax isn't available in C++98 mode (even as an extension?
> I can't find the option)
I'm not confident enough to properly review your changes, but my line of
thinking is the following: `void()` is available in all language modes, but
you're adding C++11-spe
MitalAshok wrote:
Initializer list syntax isn't available in C++98 mode (even as an extension? I
can't find the option)
Even so, as a defect report it should apply to all prior C++ versions.
https://github.com/llvm/llvm-project/pull/78060
___
cfe-co
https://github.com/Endilll commented:
DR testing part looks fine.
I'm worried there are no regular tests. It's also not clear what happens in 98
mode. New code doesn't seem to care about language mode.
https://github.com/llvm/llvm-project/pull/78060
_
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: Mital Ashok (MitalAshok)
Changes
As per [CWG2351](https://wg21.link/CWG2351), allow `void{}`, treated the same
as `void()`: a prvalue expression of type `void` that performs no
initialization.
Note that the AST for the expression `T{}` l
https://github.com/MitalAshok created
https://github.com/llvm/llvm-project/pull/78060
As per [CWG2351](https://wg21.link/CWG2351), allow `void{}`, treated the same
as `void()`: a prvalue expression of type `void` that performs no
initialization.
Note that the AST for the expression `T{}` look
19 matches
Mail list logo