On macOS 12.5, I see compilation warnings:

../src/pr.c:1907:7: warning: variable 'total_lines_1' is used uninitialized 
whenever '||' condition is true [-Wsometimes-uninitialized]
../src/pr.c:1907:7: warning: variable 'chars_if_truncate' is used uninitialized 
whenever '||' condition is true [-Wsometimes-uninitialized]
../src/pr.c:1907:7: warning: variable 'chars_if_truncate' is used uninitialized 
whenever '||' condition is true [-Wsometimes-uninitialized]
../src/pr.c:1907:7: warning: variable 'chars_if_truncate' is used uninitialized 
whenever '||' condition is true [-Wsometimes-uninitialized]

and

../src/test.c:595:12: warning: variable 'value' is used uninitialized whenever 
'if' condition is false [-Wsometimes-uninitialized]
../src/test.c:595:12: warning: variable 'value' is used uninitialized whenever 
'&&' condition is false [-Wsometimes-uninitialized]
../src/test.c:595:12: warning: variable 'value' is used uninitialized whenever 
'&&' condition is false [-Wsometimes-uninitialized]

They go away with the attached patch.

ChangeLog entry:

2023-03-14  Bruno Haible  <br...@clisp.org>

        pr, test: Avoid some warning on macOS 12.
        * src/pr.c (integer_overflow): Mark as _Noreturn.
        * src/test.c (beyond): Mark as _Noreturn.

--- src/test.c.bak	2023-03-13 13:08:10.000000000 -0500
+++ src/test.c	2023-03-14 17:33:36.000000000 -0500
@@ -119,7 +119,7 @@
  * beyond - call when we're beyond the end of the argument list (an
  *	error condition)
  */
-static void
+static _Noreturn void
 beyond (void)
 {
   test_syntax_error (_("missing argument after %s"), quote (argv[argc - 1]));
--- src/pr.c.bak	2023-03-13 13:08:10.000000000 -0500
+++ src/pr.c	2023-03-14 17:37:54.000000000 -0500
@@ -772,7 +772,7 @@
   {NULL, 0, NULL, 0}
 };
 
-static void
+static _Noreturn void
 integer_overflow (void)
 {
   die (EXIT_FAILURE, 0, _("integer overflow"));

Reply via email to