diff options
author | Florian Weimer <fweimer@redhat.com> | 2017-06-09 14:08:13 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2017-06-09 14:08:13 +0200 |
commit | 48bd8cda09535e2344a7969755d3fd87013f8f9f (patch) | |
tree | 91bf20d327f9f97c0249f4acde91baf8d3dfaf3c /support/support_test_verify_impl.c | |
parent | 6c85cc2852367ea2db91ff6a1fc0f6fc0653788d (diff) | |
download | glibc-48bd8cda09535e2344a7969755d3fd87013f8f9f.tar glibc-48bd8cda09535e2344a7969755d3fd87013f8f9f.tar.gz glibc-48bd8cda09535e2344a7969755d3fd87013f8f9f.tar.bz2 glibc-48bd8cda09535e2344a7969755d3fd87013f8f9f.zip |
support: Expose TEST_VERIFY_EXIT behavior to GCC optimizers
Previously, the implementation would conditionally exit based on the
status argument, which GCC did not know about. This leads to
false uninitialized variable warnings when data is accessed after a
TEST_VERIFY_EXIT failure (from code which would never execute).
Diffstat (limited to 'support/support_test_verify_impl.c')
-rw-r--r-- | support/support_test_verify_impl.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/support/support_test_verify_impl.c b/support/support_test_verify_impl.c index 5bae38f8b1..55ab2111b3 100644 --- a/support/support_test_verify_impl.c +++ b/support/support_test_verify_impl.c @@ -22,12 +22,16 @@ #include <stdlib.h> void -support_test_verify_impl (int status, const char *file, int line, - const char *expr) +support_test_verify_impl (const char *file, int line, const char *expr) { support_record_failure (); printf ("error: %s:%d: not true: %s\n", file, line, expr); - if (status >= 0) - exit (status); +} +void +support_test_verify_exit_impl (int status, const char *file, int line, + const char *expr) +{ + support_test_verify_impl (file, line, expr); + exit (status); } |