Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Gerald Pfeifer
Is it possible that this is responsible for a bootstrap failure introduced in the last 27 hours or so? /scratch/tmp/gerald/gcc-HEAD/gcc/tree-object-size.c:44:59: error: narrowing conversion of '-0x1' from 'int' to 'long unsigned int' inside { } [-Werror=narrowing]

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Paolo Carlini
On 10/23/2011 10:07 PM, Gerald Pfeifer wrote: Is it possible that this is responsible for a bootstrap failure introduced in the last 27 hours or so? /scratch/tmp/gerald/gcc-HEAD/gcc/tree-object-size.c:44:59: error: narrowing conversion of '-0x1' from 'int' to 'long unsigned

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Eric Botcazou
The code in question is static unsigned HOST_WIDE_INT unknown[4] = { -1, -1, 0, 0 }; This is on amd64-unknown-freebsd8.0, though I am puzzled it does not seem to trigger for other 64-bit platforms? It does trigger on Linux. I guess the patch wasn't bootstrapped. There is another problem

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Eric Botcazou
So, to be clear, this is for bootstrapping with a C++ compiler, right? Honestly, didn't try that... It's definitely possible that there are glitches in the tree wrt -Wnarrowing in C++. Bootstrapping with the C++ compiler has been the default for months... -- Eric Botcazou

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Paolo Carlini
On 10/23/2011 10:19 PM, Eric Botcazou wrote: So, to be clear, this is for bootstrapping with a C++ compiler, right? Honestly, didn't try that... It's definitely possible that there are glitches in the tree wrt -Wnarrowing in C++. Bootstrapping with the C++ compiler has been the default for

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Eric Botcazou
Oh my, I thought I was till using C here... Ok, I'll fix that. The base compiler is a C compiler, stage 2/3 are built with the C++ compiler. -- Eric Botcazou

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Paolo Carlini
On 10/23/2011 10:25 PM, Eric Botcazou wrote: Oh my, I thought I was till using C here... Ok, I'll fix that. The base compiler is a C compiler, stage 2/3 are built with the C++ compiler. Yes, yes. Sorry about this. Anyway, the below appears to work for me. Eric shall I commit it? Thanks,

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Eric Botcazou
Anyway, the below appears to work for me. Eric shall I commit it? I have other errors for config/i386/i386.c on my x86-64 machine. But are we sure that we want to warn on static unsigned HOST_WIDE_INT unknown[4] = { -1, -1, 0, 0 }; with -Wall? This seems overly picky to me. -- Eric

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Gabriel Dos Reis
On Sun, Oct 23, 2011 at 3:45 PM, Eric Botcazou ebotca...@adacore.com wrote: Anyway, the below appears to work for me. Eric shall I commit it? I have other errors for config/i386/i386.c on my x86-64 machine.  But are we sure that we want to warn on static unsigned HOST_WIDE_INT unknown[4] = {

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Paolo Carlini
On 10/23/2011 11:05 PM, Gabriel Dos Reis wrote: On Sun, Oct 23, 2011 at 3:45 PM, Eric Botcazouebotca...@adacore.com wrote: Anyway, the below appears to work for me. Eric shall I commit it? I have other errors for config/i386/i386.c on my x86-64 machine. But are we sure that we want to warn

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Gabriel Dos Reis
On Sun, Oct 23, 2011 at 4:28 PM, Paolo Carlini paolo.carl...@oracle.com wrote: On 10/23/2011 11:05 PM, Gabriel Dos Reis wrote: On Sun, Oct 23, 2011 at 3:45 PM, Eric Botcazouebotca...@adacore.com  wrote: Anyway, the below appears to work for me. Eric shall I commit it? I have other errors

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Paolo Carlini
Hi, Personally, I would be in favor of taking -Wc++0x-compat out of -Wall. Patch pre-approved. Thanks. It makes sense though that -Wextra implies -Wc++0x-compat. Indeed, it would. However, unfortunately, we are using -W to bootstrap (it just failed on me). Thus I'm bootstrapping and testing

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Paolo Carlini
... and the patch ;) Paolo. /c-family 2011-10-23 Paolo Carlini paolo.carl...@oracle.com PR c++/50810 * c-opts.c (c_common_handle_option): Do not enable -Wc++0x-compat as part of -Wall; handle -Wc++0x-compat. (c_common_post_options): -std=c++0x

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Paolo Carlini
Hi, On 10/24/2011 03:30 AM, Gabriel Dos Reis wrote: We do not use -W or -Wno- to suppressed *required* diagnostics. So, when -std=c++0x, -Wno-narrowing should not have any effect. Personally, I have no problem with this, but note, I'm not inventing anything new here, the behavior you are

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Gabriel Dos Reis
On Sun, Oct 23, 2011 at 8:48 PM, Paolo Carlini paolo.carl...@oracle.com wrote: Hi, On 10/24/2011 03:30 AM, Gabriel Dos Reis wrote: We do not use -W or -Wno- to suppressed *required* diagnostics. So, when -std=c++0x, -Wno-narrowing should not have any effect. Personally, I have no problem

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Paolo Carlini
On 10/24/2011 04:10 AM, Gabriel Dos Reis wrote: Before the patch, -std=c++0x effectively put off -Wc++0x-compat because we are compiling c++98/c++03 code, so we can only *warn* about possible compatibility conflict with C++11. However, the narrowing diagnostic required by C++11 is NOT a

Re: Bootstrap failure in tree-object-size.c due to -Wnarrowing (was: [C++ Patch] PR 50810)

2011-10-23 Thread Gabriel Dos Reis
On Sun, Oct 23, 2011 at 9:16 PM, Paolo Carlini paolo.carl...@oracle.com wrote: On 10/24/2011 04:10 AM, Gabriel Dos Reis wrote: Before the patch, -std=c++0x effectively put off -Wc++0x-compat because we are compiling c++98/c++03 code, so we can only *warn* about possible compatibility conflict