On 01/02/15 15:08 +0000, Jonathan Wakely wrote:
I failed to CC gcc-patches on this patch ...
On 29/01/15 13:02 +0000, Jonathan Wakely wrote:
Jakub pointed out that we have some attributes that don't use the
reserved namespace, e.g. __attribute__ ((always_inline)).
This is a 4.9/5 regression and the fix was pre-approved by Jakub so
I've committed it to trunk.
When we're back in stage1 I'll fix the TODO comments in the new tests
(see PR64857) and will also rename testsuite/17_intro/headers/c++200x
to .../c++2011.
The new test fails on darwin (PR64883) and --enable-threads=single
targets (PR64885).
This is a workaround for 64883. Tested x86_64-linux, committed to
trunk.
commit beb7b1c1af3f84a1762eed750c7728f1d10dc333
Author: Jonathan Wakely <jwak...@redhat.com>
Date: Sat Jan 31 21:09:31 2015 +0000
PR libstdc++/64883
* include/c_global/cstdio (gets): Use __deprecated__ attribute instead
of deprecated.
* include/c_std/cstdio (gets): Likewise.
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
with attributes used in darwin headers.
diff --git a/libstdc++-v3/include/c_global/cstdio b/libstdc++-v3/include/c_global/cstdio
index ef024bf..d1c958b 100644
--- a/libstdc++-v3/include/c_global/cstdio
+++ b/libstdc++-v3/include/c_global/cstdio
@@ -45,7 +45,7 @@
#define _GLIBCXX_CSTDIO 1
#ifndef _GLIBCXX_HAVE_GETS
-extern "C" char* gets (char* __s) __attribute__((deprecated));
+extern "C" char* gets (char* __s) __attribute__((__deprecated__));
#endif
// Get rid of those macros defined in <stdio.h> in lieu of real functions.
diff --git a/libstdc++-v3/include/c_std/cstdio b/libstdc++-v3/include/c_std/cstdio
index 1f8ae7c..37f01ca 100644
--- a/libstdc++-v3/include/c_std/cstdio
+++ b/libstdc++-v3/include/c_std/cstdio
@@ -45,7 +45,7 @@
#include <stdio.h>
#ifndef _GLIBCXX_HAVE_GETS
-extern "C" char* gets (char* __s) __attribute__((deprecated));
+extern "C" char* gets (char* __s) __attribute__((__deprecated__));
#endif
// Get rid of those macros defined in <stdio.h> in lieu of real functions.
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
index c7ed8ae..76a935e 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
@@ -22,8 +22,11 @@
// Don't test 'const' because it is reserved anyway.
#define abi_tag 1
#define always_inline 1
-#define deprecated 1
-#define noreturn 1
+#ifndef __APPLE__
+// darwin headers use these, see PR 64883
+# define deprecated 1
+# define noreturn 1
+#endif
#define packed 1
#define pure 1
#define unused 1