From 8ecd6b2a1283a28bcf56cfe48099fafa412a3929 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 6 Jan 2012 18:11:50 +0000 Subject: Fix C11 header changes for C++. --- libio/stdio.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'libio') diff --git a/libio/stdio.h b/libio/stdio.h index b39202879c..d9cb573b6b 100644 --- a/libio/stdio.h +++ b/libio/stdio.h @@ -1,5 +1,5 @@ /* Define ISO C stdio on top of C++ iostreams. - Copyright (C) 1991, 1994-2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1991, 1994-2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -628,13 +628,16 @@ __BEGIN_NAMESPACE_STD extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) __wur; -#ifndef __USE_ISOC11 +#if !defined __USE_ISOC11 \ + || (defined __cplusplus && __cplusplus <= 201103L) /* Get a newline-terminated string from stdin, removing the newline. DO NOT USE THIS FUNCTION!! There is no limit on how much it will read. The function has been officially removed in ISO C11. This opportunity is used to also remove it from the GNU feature list. It is now only available when explicitly using an old ISO C, Unix, or POSIX standard. + GCC defines _GNU_SOURCE when building C++ code and the function is still + in C++11, so it is also available for C++. This function is a possible cancellation point and therefore not marked with __THROW. */ -- cgit 1.4.1