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 <[email protected]>
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"));