I was wondering if anyone had some advice on how to handle the testcase g++.dg/warn/multiple-overflow-warn-3.C. The test case fails on my HP-UX platforms because the underlying type for wchar_t on HP-UX is 'unsigned int' and not 'int' like it is on Linux. This means that the expression does not overflow, we don't get a warning, and the test fails.
I could just xfail/xskip it for HP-UX but other platforms use unsigned types for wchar_t and must be failing too. I was hoping for something a little more elegant. I thought of changing all the wchar_t's to int's but I think that might negate what the test is trying to check since there would be no implicit conversions in the code any more and the test would probably never have given multiple overflow warnings in the first case. Steve Ellcey [EMAIL PROTECTED] Test g++.dg/warn/multiple-overflow-warn-3.C: /* PR 30465 : Test for duplicated warnings in a conversion. */ /* { dg-do compile } */ /* { dg-options "-Woverflow" } */ wchar_t g (void) { wchar_t wc = ((wchar_t)1 << 31) - 1; /* { dg-bogus "overflow .* overflow" } */ /* { dg-warning "overflow" "" { target *-*-* } 8 } */ return wc; }