[Bug libstdc++/51785] gets not anymore declared
ramana at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Feb 28 16:14:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51785
--- Comment #14 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> 2012-02-28 16:09:52 UTC ---
I can confirm that a build for arm-linux-gnueabi completes and do some
cross-testing on qemu if that's deemed to be enough.
Any other ideas for testing.
Ramana
Here's a suggestion for the comments in this patch.
diff --git a/libstdc++-v3/include/c_global/cstdio
b/libstdc++-v3/include/c_global/cstdio
index 049704d..76755ac 100644
--- a/libstdc++-v3/include/c_global/cstdio
+++ b/libstdc++-v3/include/c_global/cstdio
@@ -89,6 +89,17 @@
#undef vprintf
#undef vsprintf
+/* glibc 2.15 and later do not declare gets anymore for
+ ISO C11 mode and if __GNU_SOURCE is defined. See
+ http://gcc.gnu.org/PR51785 for more on this topic. If
+ this is being changed an equivalent change has to be made
+ in include/c_std/c_stdio. */
+#if __GLIBC_PREREQ (2,15)
+extern "C" {
+ extern char *gets (char *__s) __attribute__((deprecated));
+}
+#endif
+
namespace std
{
using ::FILE;
diff --git a/libstdc++-v3/include/c_std/cstdio
b/libstdc++-v3/include/c_std/cstdio
index 510f599..29142bb 100644
--- a/libstdc++-v3/include/c_std/cstdio
+++ b/libstdc++-v3/include/c_std/cstdio
@@ -88,6 +88,17 @@
#undef vprintf
#undef vsprintf
+/* glibc 2.15 and later do not declare gets anymore for
+ ISO C11 mode and if __GNU_SOURCE is defined. See
+ http://gcc.gnu.org/PR51785 for more on this topic. If
+ this hunk below is being changed please also investigate
+ the change for include/c_global/cstdio. */
+#if __GLIBC_PREREQ (2,15)
+extern "C" {
+ extern char *gets (char *__s) __attribute__((deprecated));
+}
+#endif
+
namespace std
{
using ::FILE;
More information about the Gcc-bugs
mailing list