https://gcc.gnu.org/g:9ea6bdac02af61f360b5741bef978be02924252d

commit r15-9337-g9ea6bdac02af61f360b5741bef978be02924252d
Author: Jonathan Yong <10wa...@gmail.com>
Date:   Mon Apr 7 15:40:05 2025 +0000

    deref-before-check-pr113253.c: Fix bogus warnings on lp32
    
    Warnings about pointer sizes cause the test to fail
    incorrectly. A dummy return value is also added to
    set_marker_internal for completeness to suppress a
    -Wreturn-type warning even though gcc does not issue
    it by default.
    
    Signed-off-by: Jonathan Yong <10wa...@gmail.com>
    
    gcc/testsuite/ChangeLog:
    
            PR analyzer/113253
            * gcc.dg/analyzer/deref-before-check-pr113253.c:
            (ptrdiff_t): use stddef.h type.
            (uintptr_t): ditto.
            (EMACS_INT): ditto.
            (set_marker_internal): Add dummy 0 to suppress -Wreturn-type.

Diff:
---
 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr113253.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr113253.c 
b/gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr113253.c
index d9015accd6ab..1890312cc1ab 100644
--- a/gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr113253.c
+++ b/gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr113253.c
@@ -5,12 +5,12 @@
 
 /* { dg-additional-options "-O2 -g" } */
 
-typedef long int ptrdiff_t;
-typedef unsigned long int uintptr_t;
-typedef long int EMACS_INT;
+typedef __PTRDIFF_TYPE__ ptrdiff_t;
+typedef __UINTPTR_TYPE__ uintptr_t;
+typedef __PTRDIFF_TYPE__ EMACS_INT;
 enum
 {
-  EMACS_INT_WIDTH = 64,
+  EMACS_INT_WIDTH = sizeof(EMACS_INT) * 8,
   VALBITS = EMACS_INT_WIDTH - 3,
 };
 typedef struct Lisp_X* Lisp_Word;
@@ -151,4 +151,5 @@ set_marker_internal(Lisp_Object position, Lisp_Object 
buffer)
   struct buffer* b = live_buffer(buffer);
   if (NILP(position) || (MARKERP(position) && !XMARKER(position)->buffer) || 
!b) /* { dg-bogus "Wanalyzer-deref-before-check" } */
     unchain_marker();
+  return 0;
 }

Reply via email to