summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAschref Ben Thabet <aschref.ben-thabet@embedded-brains.de>2020-07-16 10:28:49 +0200
committerCorinna Vinschen <corinna@vinschen.de>2020-07-16 11:27:38 +0200
commit0ee972d1b095bfea89499b358646e44d60aa4a4b (patch)
tree9e0a54391b8ffcaed2ed20c83589c2eefe55299c
parent52ad92e1b65d640d625f67dbd87e8193c3409db5 (diff)
downloadcygnal-0ee972d1b095bfea89499b358646e44d60aa4a4b.tar.gz
cygnal-0ee972d1b095bfea89499b358646e44d60aa4a4b.tar.bz2
cygnal-0ee972d1b095bfea89499b358646e44d60aa4a4b.zip
ctype.h: Fix unused variable warnings
If __HAVE_LOCALE_INFO__ is not defined, then the locale in the locale-specific ctype functions is ignored. In the previous implementation this resulted in compiler warnings. For example: int main() { locale_t locale; locale = duplocale(uselocale((locale_t)0)); isspace_l('x', locale); return 0; } gcc -Wall main.c main.c: In function 'main': main.c:6:11: warning: variable 'locale' set but not used [-Wunused-but-set-variable] 6 | locale_t locale; | ^~~~~~
-rw-r--r--newlib/libc/include/ctype.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/newlib/libc/include/ctype.h b/newlib/libc/include/ctype.h
index a0009af17..8b1013ac0 100644
--- a/newlib/libc/include/ctype.h
+++ b/newlib/libc/include/ctype.h
@@ -66,6 +66,9 @@ extern int toascii_l (int __c, locale_t __l);
#define _X 0100
#define _B 0200
+/* For C++ backward-compatibility only. */
+extern __IMPORT const char _ctype_[];
+
#ifdef __HAVE_LOCALE_INFO__
const char *__locale_ctype_ptr (void);
#else
@@ -108,7 +111,12 @@ const char *__locale_ctype_ptr (void);
#ifdef __HAVE_LOCALE_INFO__
const char *__locale_ctype_ptr_l (locale_t);
#else
-#define __locale_ctype_ptr_l(l) _ctype_
+static __inline char *
+__locale_ctype_ptr_l(locale_t _l)
+{
+ (void)_l;
+ return __locale_ctype_ptr();
+}
#endif
#define __ctype_lookup_l(__c,__l) ((__locale_ctype_ptr_l(__l)+sizeof(""[__c]))[(int)(__c)])
@@ -170,9 +178,6 @@ const char *__locale_ctype_ptr_l (locale_t);
#endif /* !__cplusplus */
-/* For C++ backward-compatibility only. */
-extern __IMPORT const char _ctype_[];
-
_END_STD_C
#endif /* _CTYPE_H_ */