aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2023-03-01 03:54:03 +0100
committerHans-Peter Nilsson <hp@bitrange.com>2023-03-02 02:10:12 +0100
commit8590e4d096e4636c9384f7f885b979026861c29f (patch)
tree0df324b10d8ed396e63ead39ac6413708253d7a7
parent854a268dccd7976bfc17584be8f9b2afa6c51fa0 (diff)
downloadgcc-8590e4d096e4636c9384f7f885b979026861c29f.zip
gcc-8590e4d096e4636c9384f7f885b979026861c29f.tar.gz
gcc-8590e4d096e4636c9384f7f885b979026861c29f.tar.bz2
analyzer: Support errno for newlib
Without this definition, the errno definition for newlib isn't recognized as such, and these tests fail for newlib targets: FAIL: gcc.dg/analyzer/call-summaries-errno.c (test for warnings, line 16) FAIL: gcc.dg/analyzer/call-summaries-errno.c (test for excess errors) FAIL: gcc.dg/analyzer/errno-1.c (test for warnings, line 20) FAIL: gcc.dg/analyzer/errno-1.c (test for excess errors) FAIL: gcc.dg/analyzer/flex-without-call-summaries.c (test for excess errors) FAIL: gcc.dg/analyzer/isatty-1.c (test for warnings, line 31) FAIL: gcc.dg/analyzer/isatty-1.c (test for warnings, line 35) FAIL: gcc.dg/analyzer/isatty-1.c (test for warnings, line 46) FAIL: gcc.dg/analyzer/isatty-1.c (test for warnings, line 56) FAIL: gcc.dg/analyzer/isatty-1.c (test for excess errors) gcc/analyzer: * kf.cc (register_known_functions): Add __errno function for newlib.
-rw-r--r--gcc/analyzer/kf.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/analyzer/kf.cc b/gcc/analyzer/kf.cc
index 3a91b6b..ed5f703 100644
--- a/gcc/analyzer/kf.cc
+++ b/gcc/analyzer/kf.cc
@@ -1033,9 +1033,11 @@ register_known_functions (known_function_manager &kfm)
and OS X like this:
extern int * __error(void);
#define errno (*__error())
+ and similarly __errno for newlib.
Add these as synonyms for "__errno_location". */
kfm.add ("___errno", make_unique<kf_errno_location> ());
kfm.add ("__error", make_unique<kf_errno_location> ());
+ kfm.add ("__errno", make_unique<kf_errno_location> ());
}
/* Language-specific support functions. */