Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-09-07 Thread Marek Polacek
On Fri, Sep 07, 2018 at 01:40:53PM +0100, Jason Merrill wrote: > > 2018-08-13 Marek Polacek > > > > PR c++/57891 > > * call.c (struct conversion): Add check_narrowing_const_only. > > (build_converted_constant_expr): Set check_narrowing and > > check_narrowing_cons

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-09-07 Thread Jason Merrill
On Mon, Aug 13, 2018 at 11:24 PM, Marek Polacek wrote: > On Mon, Aug 13, 2018 at 10:14:21PM +1200, Jason Merrill wrote: >> >> >> > --- gcc/cp/decl.c >> >> >> > +++ gcc/cp/decl.c >> >> >> > @@ -9581,7 +9581,7 @@ compute_array_index_type (tree name, tree >> >> >> > size, tsubst_flags_t complain) >>

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-08-13 Thread David Malcolm
On Tue, 2018-08-14 at 11:02 +1200, Jason Merrill wrote: > > > On Tue, Aug 14, 2018, 10:24 AM Marek Polacek > wrote: > > On Mon, Aug 13, 2018 at 10:14:21PM +1200, Jason Merrill wrote: > > > >> >> > --- gcc/cp/decl.c > > > >> >> > +++ gcc/cp/decl.c > > > >> >> > @@ -9581,7 +9581,7 @@ compute_array

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-08-13 Thread Jason Merrill
On Tue, Aug 14, 2018, 10:24 AM Marek Polacek wrote: > On Mon, Aug 13, 2018 at 10:14:21PM +1200, Jason Merrill wrote: > > >> >> > --- gcc/cp/decl.c > > >> >> > +++ gcc/cp/decl.c > > >> >> > @@ -9581,7 +9581,7 @@ compute_array_index_type (tree name, tree > size, tsubst_flags_t complain) > > >> >> >

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-08-13 Thread Marek Polacek
On Mon, Aug 13, 2018 at 10:14:21PM +1200, Jason Merrill wrote: > >> >> > --- gcc/cp/decl.c > >> >> > +++ gcc/cp/decl.c > >> >> > @@ -9581,7 +9581,7 @@ compute_array_index_type (tree name, tree size, > >> >> > tsubst_flags_t complain) > >> >> > { > >> >> >tree folded = cp_fully_fold (s

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-08-13 Thread Jason Merrill
On Sun, Aug 12, 2018 at 2:13 AM, Marek Polacek wrote: > On Sat, Aug 11, 2018 at 11:32:24PM +1200, Jason Merrill wrote: >> On Fri, Aug 10, 2018 at 8:59 AM, Marek Polacek wrote: >> > On Mon, Aug 06, 2018 at 12:02:31AM +1000, Jason Merrill wrote: >> >> > OK -- see the patch below. Now, I'm not craz

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-08-11 Thread Marek Polacek
On Sat, Aug 11, 2018 at 11:32:24PM +1200, Jason Merrill wrote: > On Fri, Aug 10, 2018 at 8:59 AM, Marek Polacek wrote: > > On Mon, Aug 06, 2018 at 12:02:31AM +1000, Jason Merrill wrote: > >> > OK -- see the patch below. Now, I'm not crazy about adding another bit > >> > to struct conversion, but

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-08-11 Thread Jason Merrill
On Fri, Aug 10, 2018 at 8:59 AM, Marek Polacek wrote: > On Mon, Aug 06, 2018 at 12:02:31AM +1000, Jason Merrill wrote: >> > OK -- see the patch below. Now, I'm not crazy about adding another bit >> > to struct conversion, but reusing any of the other bits didn't seem >> > safe/possible. Maybe it

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-08-09 Thread Marek Polacek
On Mon, Aug 06, 2018 at 12:02:31AM +1000, Jason Merrill wrote: > > OK -- see the patch below. Now, I'm not crazy about adding another bit > > to struct conversion, but reusing any of the other bits didn't seem > > safe/possible. Maybe it'll come in handy when dealing with this problem > > for fun

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-08-05 Thread Jason Merrill
On Tue, Jul 24, 2018 at 6:49 AM, Marek Polacek wrote: > On Tue, Jul 03, 2018 at 04:27:33PM -0400, Jason Merrill wrote: >> On Tue, Jul 3, 2018 at 3:41 PM, Jason Merrill wrote: >> > On Tue, Jul 3, 2018 at 2:58 PM, Marek Polacek wrote: >> >> On Tue, Jul 03, 2018 at 12:40:51PM -0400, Jason Merrill w

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-08-01 Thread Marek Polacek
Ping. On Mon, Jul 23, 2018 at 04:49:12PM -0400, Marek Polacek wrote: > On Tue, Jul 03, 2018 at 04:27:33PM -0400, Jason Merrill wrote: > > On Tue, Jul 3, 2018 at 3:41 PM, Jason Merrill wrote: > > > On Tue, Jul 3, 2018 at 2:58 PM, Marek Polacek wrote: > > >> On Tue, Jul 03, 2018 at 12:40:51PM -040

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-07-23 Thread Marek Polacek
On Tue, Jul 03, 2018 at 04:27:33PM -0400, Jason Merrill wrote: > On Tue, Jul 3, 2018 at 3:41 PM, Jason Merrill wrote: > > On Tue, Jul 3, 2018 at 2:58 PM, Marek Polacek wrote: > >> On Tue, Jul 03, 2018 at 12:40:51PM -0400, Jason Merrill wrote: > >>> On Fri, Jun 29, 2018 at 3:58 PM, Marek Polacek

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-07-03 Thread Jason Merrill
On Tue, Jul 3, 2018 at 4:35 PM, Marek Polacek wrote: > On Tue, Jul 03, 2018 at 03:41:43PM -0400, Jason Merrill wrote: >> On Tue, Jul 3, 2018 at 2:58 PM, Marek Polacek wrote: >> > On Tue, Jul 03, 2018 at 12:40:51PM -0400, Jason Merrill wrote: >> >> On Fri, Jun 29, 2018 at 3:58 PM, Marek Polacek w

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-07-03 Thread Marek Polacek
On Tue, Jul 03, 2018 at 03:41:43PM -0400, Jason Merrill wrote: > On Tue, Jul 3, 2018 at 2:58 PM, Marek Polacek wrote: > > On Tue, Jul 03, 2018 at 12:40:51PM -0400, Jason Merrill wrote: > >> On Fri, Jun 29, 2018 at 3:58 PM, Marek Polacek wrote: > >> > On Wed, Jun 27, 2018 at 07:35:15PM -0400, Jaso

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-07-03 Thread Jason Merrill
On Tue, Jul 3, 2018 at 3:41 PM, Jason Merrill wrote: > On Tue, Jul 3, 2018 at 2:58 PM, Marek Polacek wrote: >> On Tue, Jul 03, 2018 at 12:40:51PM -0400, Jason Merrill wrote: >>> On Fri, Jun 29, 2018 at 3:58 PM, Marek Polacek wrote: >>> > On Wed, Jun 27, 2018 at 07:35:15PM -0400, Jason Merrill wr

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-07-03 Thread Jason Merrill
On Tue, Jul 3, 2018 at 2:58 PM, Marek Polacek wrote: > On Tue, Jul 03, 2018 at 12:40:51PM -0400, Jason Merrill wrote: >> On Fri, Jun 29, 2018 at 3:58 PM, Marek Polacek wrote: >> > On Wed, Jun 27, 2018 at 07:35:15PM -0400, Jason Merrill wrote: >> >> On Wed, Jun 27, 2018 at 12:53 PM, Marek Polacek

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-07-03 Thread Marek Polacek
On Tue, Jul 03, 2018 at 12:40:51PM -0400, Jason Merrill wrote: > On Fri, Jun 29, 2018 at 3:58 PM, Marek Polacek wrote: > > On Wed, Jun 27, 2018 at 07:35:15PM -0400, Jason Merrill wrote: > >> On Wed, Jun 27, 2018 at 12:53 PM, Marek Polacek wrote: > >> > This PR complains about us accepting invalid

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-07-03 Thread Jason Merrill
On Fri, Jun 29, 2018 at 3:58 PM, Marek Polacek wrote: > On Wed, Jun 27, 2018 at 07:35:15PM -0400, Jason Merrill wrote: >> On Wed, Jun 27, 2018 at 12:53 PM, Marek Polacek wrote: >> > This PR complains about us accepting invalid code like >> > >> > template struct A {}; >> > A<-1> a; >> > >> >

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-06-29 Thread Marek Polacek
On Wed, Jun 27, 2018 at 07:35:15PM -0400, Jason Merrill wrote: > On Wed, Jun 27, 2018 at 12:53 PM, Marek Polacek wrote: > > This PR complains about us accepting invalid code like > > > > template struct A {}; > > A<-1> a; > > > > Where we should detect the narrowing: [temp.arg.nontype] says >

Re: C++ PATCH for c++/57891, narrowing conversions in non-type template arguments

2018-06-27 Thread Jason Merrill
On Wed, Jun 27, 2018 at 12:53 PM, Marek Polacek wrote: > This PR complains about us accepting invalid code like > > template struct A {}; > A<-1> a; > > Where we should detect the narrowing: [temp.arg.nontype] says > "A template-argument for a non-type template-parameter shall be a converted >