https://gcc.gnu.org/g:039b566f2f03699676d31b681d1595bddc94a774

commit r15-9480-g039b566f2f03699676d31b681d1595bddc94a774
Author: Jonathan Yong <10wa...@gmail.com>
Date:   Sun Apr 13 02:41:36 2025 +0000

    Wbuiltin-declaration-mismatch-4.c: accept long long in warning for llp64
    
    llp64 targets like mingw-w64 will print:
    gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-4.c:80:17: warning: 
‘memset’ argument 3 promotes to ‘ptrdiff_t’ {aka ‘long long int’} where ‘long 
long unsigned int’ is expected in a call to built-in function declared without 
prototype [-
    Wbuiltin-declaration-mismatch]
    Change the regex pattern to accept it.
    
    Signed-off-by: Jonathan Yong <10wa...@gmail.com>
    
    gcc/testsuite/ChangeLog:
    
            * gcc.dg/Wbuiltin-declaration-mismatch-4.c: Make diagnostic
            accept long long.

Diff:
---
 gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-4.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-4.c 
b/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-4.c
index c48fe5fcf300..09aaaa665b49 100644
--- a/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-4.c
+++ b/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-4.c
@@ -77,9 +77,9 @@ void test_integer_conversion_memset (void *d)
   /* Passing a ptrdiff_t where size_t is expected may not be unsafe
      but because GCC may emits suboptimal code for such calls warning
      for them helps improve efficiency.  */
-  memset (d, 0, diffi);       /* { dg-warning ".memset. argument 3 promotes to 
.ptrdiff_t. {aka .\(long \)?\(int\)?\(__int20\)?.} where .\(long \)?\(__int20 
\)?unsigned\( int\)?. is expected" } */
+  memset (d, 0, diffi);       /* { dg-warning ".memset. argument 3 promotes to 
.ptrdiff_t. {aka .\(long \)*\(int\)?\(__int20\)?.} where .\(long \)*\(__int20 
\)?unsigned\( int\)?. is expected" } */
 
-  memset (d, 0, 2.0);         /* { dg-warning ".memset. argument 3 type is 
.double. where '\(long \)?\(__int20 \)?unsigned\( int\)?' is expected" } */
+  memset (d, 0, 2.0);         /* { dg-warning ".memset. argument 3 type is 
.double. where '\(long \)*\(__int20 \)?unsigned\( int\)?' is expected" } */
 
   /* Verify that the same call as above but to the built-in doesn't
      trigger a warning.  */

Reply via email to