Don't define __CORRECT_ISO_CPP_STRING_H_PROTO for non-GCC compilers

Message ID mvmd27rvlk3.fsf@hawking.suse.de
State Committed
Headers

Commit Message

Andreas Schwab Dec. 10, 2014, 10:36 a.m. UTC
  The implementation of __CORRECT_ISO_CPP_STRING_H_PROTO requires
support for asm aliases, which isn't C++98.

	[BZ #17631]
	* string/string.h (__CORRECT_ISO_CPP_STRING_H_PROTO): Don't define
	for for non-GCC compilers.
	* string/strings.h (__CORRECT_ISO_CPP_STRINGS_H_PROTO):
	Likewise.
---
 string/string.h  | 8 ++------
 string/strings.h | 8 ++------
 2 files changed, 4 insertions(+), 12 deletions(-)
  

Comments

Mike Frysinger March 4, 2015, 4:49 a.m. UTC | #1
On 10 Dec 2014 11:36, Andreas Schwab wrote:
> The implementation of __CORRECT_ISO_CPP_STRING_H_PROTO requires
> support for asm aliases, which isn't C++98.

lgtm
-mike
  

Patch

diff --git a/string/string.h b/string/string.h
index c79debc..282a395 100644
--- a/string/string.h
+++ b/string/string.h
@@ -31,12 +31,8 @@  __BEGIN_DECLS
 #define	__need_NULL
 #include <stddef.h>
 
-/* Provide correct C++ prototypes, and indicate this to the caller.  This
-   requires a compatible C++ standard library.  As a heuristic, we provide
-   these when the compiler indicates full conformance with C++98 or later,
-   and for older GCC versions that are known to provide a compatible
-   libstdc++.  */
-#if defined __cplusplus && (__cplusplus >= 199711L || __GNUC_PREREQ (4, 4))
+/* Tell the caller that we provide correct C++ prototypes.  */
+#if defined __cplusplus && __GNUC_PREREQ (4, 4)
 # define __CORRECT_ISO_CPP_STRING_H_PROTO
 #endif
 
diff --git a/string/strings.h b/string/strings.h
index 872a0b2..6d32929 100644
--- a/string/strings.h
+++ b/string/strings.h
@@ -27,12 +27,8 @@ 
 # define __need_size_t
 # include <stddef.h>
 
-/* Provide correct C++ prototypes, and indicate this to the caller.  This
-   requires a compatible C++ standard library.  As a heuristic, we provide
-   these when the compiler indicates full conformance with C++98 or later,
-   and for older GCC versions that are known to provide a compatible
-   libstdc++.  */
-# if defined __cplusplus && (__cplusplus >= 199711L || __GNUC_PREREQ (4, 4))
+/* Tell the caller that we provide correct C++ prototypes.  */
+# if defined __cplusplus && __GNUC_PREREQ (4, 4)
 #  define __CORRECT_ISO_CPP_STRINGS_H_PROTO
 # endif