Re: Unsure about a new warning in mainline

2007-01-16 Thread Gabriel Dos Reis
On Tue, 16 Jan 2007, Manuel López-Ibáñez wrote: | So the warning turned out to be useful or still was it too noisy ? It is still noisy. The limit macro fixes does not magically turn off the signed -> unsigned noise -- it fixed a warning about overflow. I'll send a separate message for the signed

Re: Unsure about a new warning in mainline

2007-01-16 Thread Manuel López-Ibáñez
So the warning turned out to be useful or still was it too noisy ? Sorry, I am not perfectly following this discussion. Cheers, Manuel On 15 Jan 2007 19:16:23 -0800, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: Paolo Carlini <[EMAIL PROTECTED]> writes: > Therefore, I'd like to apply to mainlin

Re: Unsure about a new warning in mainline

2007-01-15 Thread Ian Lance Taylor
Paolo Carlini <[EMAIL PROTECTED]> writes: > Therefore, I'd like to apply to mainline the below (finishing testing > on x86-linux), can you check it? > > Thanks in advance, > Paolo. > > / > 2007-01-15 Ian Lance Taylor <[EMAIL PROTECTED]> > Paolo Carlini <[EMAIL PROTECTED]

Re: Unsure about a new warning in mainline

2007-01-15 Thread Paolo Carlini
Gabriel Dos Reis wrote: | Therefore, I'd like to apply to mainline the below (finishing testing on | x86-linux), can you check it?| it is troublesome that we have managed to duplicate the same construct twice. Yes, I guess Benjamin may clean-up that stuff further, it belongs to ext/pb_ds. T

Re: Unsure about a new warning in mainline

2007-01-15 Thread Gabriel Dos Reis
On Mon, 15 Jan 2007, Paolo Carlini wrote: | Ian Lance Taylor wrote: [...] Thanks. That escaped me because those bits were contributed by knowledgeable GCC contributors, so I trusted them :-) | | >One way to write this expression in a fully defined manner is: | >(T)1 << 30) - 1) << 1) +

Re: Unsure about a new warning in mainline

2007-01-15 Thread Paolo Carlini
Ian Lance Taylor wrote: One way to write this expression in a fully defined manner is: (T)1 << 30) - 1) << 1) + 1) Thanks Ian. Therefore, I'd like to apply to mainline the below (finishing testing on x86-linux), can you check it? Thanks in advance, Paolo. / 2007-01-15

Re: Unsure about a new warning in mainline

2007-01-15 Thread Ian Lance Taylor
Gabriel Dos Reis <[EMAIL PROTECTED]> writes: > Paolo Carlini <[EMAIL PROTECTED]> writes: > > [...] > > | >Specifically, for PR 30465 "((T)1 << 31) - 1" is potentially undefined > | >when T is a 32-bit signed type, but well-defined if T is unsigned or > | >wider than 32-bits. > | > > | FYI: this

Re: Unsure about a new warning in mainline

2007-01-15 Thread Gabriel Dos Reis
Paolo Carlini <[EMAIL PROTECTED]> writes: [...] | >Specifically, for PR 30465 "((T)1 << 31) - 1" is potentially undefined | >when T is a 32-bit signed type, but well-defined if T is unsigned or | >wider than 32-bits. | > | FYI: this specific issue arises from std::numeric_limits on | x86-linux:

Re: Unsure about a new warning in mainline

2007-01-15 Thread Gabriel Dos Reis
Paolo Carlini <[EMAIL PROTECTED]> writes: | Manuel López-Ibáñez wrote: | | >> Sorry, please disregard my message: I was inadvertently using an old | >> compiler (2007-01-06) | > | > So now you are getting both warning messages? | | Definitely I'm getting both: | | warning.cc: In function 'int m

Re: Unsure about a new warning in mainline

2007-01-15 Thread Manuel López-Ibáñez
On 15/01/07, Roger Sayle <[EMAIL PROTECTED]> wrote: The second issue is that there are two different overflow related warnings. The first warning indicates that an overflow has occurred in an expression, and the second is that the overflowed result is used in a context required to be a compile

Re: Unsure about a new warning in mainline

2007-01-15 Thread Paolo Carlini
Hi Roger and thanks for your explanations. Just a couple of additional remarks. I agree with Paolo that this is a change for C++, and should at least be documented in changes.html, and probably be tweaked to avoid warning in system headers. Note that, AFAICS, the issue would boil down to fix

Re: Unsure about a new warning in mainline

2007-01-14 Thread Roger Sayle
Hi Manuel and Paolo, On Sun, January 14, 2007 3:59 pm, Paolo Carlini wrote: >>> By the way, "new" also wrt current 4_2-branch, in the sense that the >>> latter doesn't emit *any* overflow warning for the snippet in 30465, >>> with explicit -Wconversion too... I think I can explain everything. T

Re: Unsure about a new warning in mainline

2007-01-14 Thread Paolo Carlini
Manuel López-Ibáñez wrote: By the way, "new" also wrt current 4_2-branch, in the sense that the latter doesn't emit *any* overflow warning for the snippet in 30465, with explicit -Wconversion too... And it does with Wconversion? Wconversion should not emit any overflow warning, that is respons

Re: Unsure about a new warning in mainline

2007-01-14 Thread Manuel López-Ibáñez
On 14/01/07, Paolo Carlini <[EMAIL PROTECTED]> wrote: Paolo Carlini wrote: >> New? Woverflow is not new, as far as I know, if was just a bit broken, >> especially in C++. But in these cases in particular, nothing should >> have changed since we branched 4.2. > > Well, certainly new wrt 4_1-branc

Re: Unsure about a new warning in mainline

2007-01-14 Thread Paolo Carlini
Paolo Carlini wrote: New? Woverflow is not new, as far as I know, if was just a bit broken, especially in C++. But in these cases in particular, nothing should have changed since we branched 4.2. Well, certainly new wrt 4_1-branch, the last release branch... By the way, "new" also wrt curren

Re: Unsure about a new warning in mainline

2007-01-14 Thread Paolo Carlini
Manuel López-Ibáñez wrote: Sure. In fact, I was scratching my head about that. To be honest, I'm still not completely acquainted with the new warning (and I'm particularly interested because -Wsystem-headers triggers quite a few from the library...) New? Woverflow is not new, as far as I know,

Re: Unsure about a new warning in mainline

2007-01-14 Thread Manuel López-Ibáñez
On 14/01/07, Paolo Carlini <[EMAIL PROTECTED]> wrote: Manuel López-Ibáñez wrote: > You are getting two overflow warnings for the same expression? That > should not happen (TM). The TREE_OVERFLOW bit should have been noticed > and prevent giving another warning. Roger, do you agree on this? > > P

Re: Unsure about a new warning in mainline

2007-01-14 Thread Paolo Carlini
Manuel López-Ibáñez wrote: You are getting two overflow warnings for the same expression? That should not happen (TM). The TREE_OVERFLOW bit should have been noticed and prevent giving another warning. Roger, do you agree on this? Paolo, would you mind opening a bug report for this? I will look

Re: Unsure about a new warning in mainline

2007-01-14 Thread Manuel López-Ibáñez
On 14/01/07, Paolo Carlini <[EMAIL PROTECTED]> wrote: Manuel López-Ibáñez wrote: > > So now you are getting both warning messages? Definitely I'm getting both: warning.cc: In function 'int main()': warning.cc:3: warning: integer overflow in expression warning.cc:3: warning: overflow in implici

Re: Unsure about a new warning in mainline

2007-01-14 Thread Paolo Carlini
Manuel López-Ibáñez wrote: Sorry, please disregard my message: I was inadvertently using an old compiler (2007-01-06) So now you are getting both warning messages? Definitely I'm getting both: warning.cc: In function 'int main()': warning.cc:3: warning: integer overflow in expression warnin

Re: Unsure about a new warning in mainline

2007-01-14 Thread Manuel López-Ibáñez
On 14/01/07, Paolo Carlini <[EMAIL PROTECTED]> wrote: Paolo Carlini wrote: > In particular, what's the difference between line 3 and line 4? ... Sorry, please disregard my message: I was inadvertently using an old compiler (2007-01-06) So now you are getting both warning messages? I don't u

Re: Unsure about a new warning in mainline

2007-01-14 Thread Paolo Carlini
Paolo Carlini wrote: In particular, what's the difference between line 3 and line 4? ... Sorry, please disregard my message: I was inadvertently using an old compiler (2007-01-06) Paolo.

Unsure about a new warning in mainline

2007-01-14 Thread Paolo Carlini
Hi, i'd like to ask the help of the list in clarifying a new warning in mainline. Let's assume x86-linux (so 32-bits, signed wchar_t, etc...) For this snipped I get a new warning: int main() { wchar_t wc = ((wchar_t)1 << 31) - 1; return ((int)1 << 31) - 1; } warning.cc:3: warning: overfl