This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, newlib-stdint.h defines UINT32_TYPE as "long unsigned int" for ILP32 targets. This leads such target to warn on "long unsigned int" conversation rather than "unsigned int". This patch modifies the dg-warning regexp to allow an option "long " prefix in the warning, thereby working for LP64 and ILP32 targets. ChangeLog entry is as follows: *** gcc/testsuite/ChangeLog *** 2017-06-05 Thomas Preud'homme <thomas.preudhomme@arm.com> * gcc.dg/utf16-4.c: Accept "long unsigned int" as well as "unsigned int" in conversation warning on line 15. Is it ok for trunk? The dg-warning PASSes once this patch is applied. Best regards, Thomas On 04/06/17 23:54, Martin Sebor wrote:
On 06/02/2017 11:11 AM, Renlin Li wrote:Hi Martin, I noticed the following failures after your change r248431. FAIL: c-c++-common/Wfloat-conversion.c -Wc++-compat (test for warnings, line 42) FAIL: c-c++-common/Wfloat-conversion.c -Wc++-compat (test for warnings, line 43) It happens on arm target which is not a large_long_double target. The patch here add the missing target selector. After the change, those test won't checked in arm target. Here I have a simple fix to it. Okay to commit?r248431 wasn't meant to change when any of these warnings fire, only their text and the amount of detail included in them. The removal of the { target large_long_double } selector was by accident. Please go ahead and commit your fix. Thanks!gcc/testsuite/ChangeLog: 2017-06-02 Renlin Li <renlin.li@arm.com> * c-c++-common/Wfloat-conversion.c: Add large_long_double target selector to related line. And there is another failure: FAIL: gcc.dg/utf16-4.c (test for warnings, line 15) The warning message is slightly different from expected. utf16-4.c:10:15: warning: character constant too long for its type utf16-4.c:15:15: warning: conversion from 'long unsigned int' to 'char16_t {aka short unsigned int}' changes value from '410401' to '17185'The test passes for me now. The initial commit had introduced bug 80731 but it's recently been fixed. Can you please try again with the latest sources? Martin
diff --git a/gcc/testsuite/gcc.dg/utf16-4.c b/gcc/testsuite/gcc.dg/utf16-4.c index f9ebd61845a15fc657a2f906d3f684768993df44..e2f115ebc813ba380718254db699db8ef96e532b 100644 --- a/gcc/testsuite/gcc.dg/utf16-4.c +++ b/gcc/testsuite/gcc.dg/utf16-4.c @@ -12,7 +12,7 @@ char16_t c2 = u'\U00064321'; /* { dg-warning "constant too long" } */ char16_t c3 = 'a'; char16_t c4 = U'a'; char16_t c5 = U'\u2029'; -char16_t c6 = U'\U00064321'; /* { dg-warning "conversion from .unsigned int. to .char16_t {aka short unsigned int}. changes value from .410401. to .17185." } */ +char16_t c6 = U'\U00064321'; /* { dg-warning "conversion from .(long )?unsigned int. to .char16_t {aka short unsigned int}. changes value from .410401. to .17185." } */ char16_t c7 = L'a'; char16_t c8 = L'\u2029'; char16_t c9 = L'\U00064321'; /* { dg-warning "conversion" "" { target { 4byte_wchar_t } } } */
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |