On 11/09/20 14:37 +0100, Jonathan Wakely wrote:
On 11/09/20 13:55 +0100, Jonathan Wakely wrote:
On 11/09/20 12:23 +0000, Christophe Lyon via Libstdc++ wrote:
When building with -fno-exceptions, __GLIBCXX_THROW_OR_ABORT expands to
abort(), causing warnings:
unused parameter '__ecode'
unused parameter '__what'

This patch adds __attribute__((unused)) to avoid them.

OK, thanks.

2020-09-11  Torbjörn SVENSSON <torbjorn.svens...@st.com>
        Christophe Lyon  <christophe.l...@linaro.org>

        libstdc++-v3/
        * include/bits/regex_error.h: Avoid warning with -fno-exceptions.
---
libstdc++-v3/include/bits/regex_error.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libstdc++-v3/include/bits/regex_error.h 
b/libstdc++-v3/include/bits/regex_error.h
index 09e9288..88f3f811 100644
--- a/libstdc++-v3/include/bits/regex_error.h
+++ b/libstdc++-v3/include/bits/regex_error.h
@@ -167,7 +167,8 @@ namespace regex_constants
__throw_regex_error(regex_constants::error_type __ecode);

inline void
-  __throw_regex_error(regex_constants::error_type __ecode, const char* __what)
+  __throw_regex_error(regex_constants::error_type __ecode 
__attribute__((unused)),

Actually, not OK, because that needs to be __unused__ not unused.

+                     const char* __what__attribute__((unused)))


And that fails to compile:

/home/jwakely/src/gcc/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/regex_error.h:171:54:
 error: expected ‘,’ or ‘...’ before ‘(’ token

There's a space missing between the name and the attribute.

Fixed with this patch. Untested, but it builds.


commit 29216f56d002982f10c33056f4b3d7f07e164122
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Fri Sep 11 14:51:36 2020

    libstdc++: Fix build error in <bits/regex_error.h>
    
    libstdc++-v3/ChangeLog:
    
            * include/bits/regex_error.h (__throw_regex_error): Fix
            parameter declaration and use reserved attribute names.

diff --git a/libstdc++-v3/include/bits/regex_error.h b/libstdc++-v3/include/bits/regex_error.h
index 88f3f8114a4..f9c01650caa 100644
--- a/libstdc++-v3/include/bits/regex_error.h
+++ b/libstdc++-v3/include/bits/regex_error.h
@@ -167,8 +167,9 @@ namespace regex_constants
   __throw_regex_error(regex_constants::error_type __ecode);
 
   inline void
-  __throw_regex_error(regex_constants::error_type __ecode __attribute__((unused)),
-		      const char* __what__attribute__((unused)))
+  __throw_regex_error(regex_constants::error_type __ecode
+			__attribute__((__unused__)),
+		      const char* __what __attribute__((__unused__)))
   { _GLIBCXX_THROW_OR_ABORT(regex_error(__ecode, __what)); }
 
 _GLIBCXX_END_NAMESPACE_VERSION

Reply via email to