This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/51785] gets not anymore declared
- From: "ramana at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 28 Feb 2012 16:09:52 +0000
- Subject: [Bug libstdc++/51785] gets not anymore declared
- Auto-submitted: auto-generated
- References: <bug-51785-4@http.gcc.gnu.org/bugzilla/>
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;