+++ /dev/null
-2016-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>\r
-\r
- Backported from mainline\r
- 2016-02-19 Jakub Jelinek <jakub@redhat.com>\r
- Bernd Edlinger <bernd.edlinger@hotmail.de>\r
-\r
- * Make-lang.in: Invoke gperf with -L C++.\r
- * cfns.gperf: Remove prototypes for hash and libc_name_p\r
- inlines.\r
- * cfns.h: Regenerated.\r
- * except.c (nothrow_libfn_p): Adjust.\r
-\r
-Index: gcc/cp/Make-lang.in\r
-===================================================================\r
---- gcc/cp/Make-lang.in (revision 233574)\r
-+++ gcc/cp/Make-lang.in (working copy)\r
-@@ -111,7 +111,7 @@ else\r
- # deleting the $(srcdir)/cp/cfns.h file.\r
- $(srcdir)/cp/cfns.h:\r
- endif\r
-- gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \\r
-+ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \\r
- $(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h\r
- \r
- #\f\r
-Index: gcc/cp/cfns.gperf\r
-===================================================================\r
---- gcc/cp/cfns.gperf (revision 233574)\r
-+++ gcc/cp/cfns.gperf (working copy)\r
-@@ -1,3 +1,5 @@\r
-+%language=C++\r
-+%define class-name libc_name\r
- %{\r
- /* Copyright (C) 2000-2015 Free Software Foundation, Inc.\r
- \r
-@@ -16,14 +18,6 @@ for more details.\r
- You should have received a copy of the GNU General Public License\r
- along with GCC; see the file COPYING3. If not see\r
- <http://www.gnu.org/licenses/>. */\r
--#ifdef __GNUC__\r
--__inline\r
--#endif\r
--static unsigned int hash (const char *, unsigned int);\r
--#ifdef __GNUC__\r
--__inline\r
--#endif\r
--const char * libc_name_p (const char *, unsigned int);\r
- %}\r
- %%\r
- # The standard C library functions, for feeding to gperf; the result is used\r
-Index: gcc/cp/cfns.h\r
-===================================================================\r
---- gcc/cp/cfns.h (revision 233574)\r
-+++ gcc/cp/cfns.h (working copy)\r
-@@ -1,5 +1,5 @@\r
--/* ANSI-C code produced by gperf version 3.0.3 */\r
--/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */\r
-+/* C++ code produced by gperf version 3.0.4 */\r
-+/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */\r
- \r
- #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \\r
- && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \\r
-@@ -28,7 +28,7 @@\r
- #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."\r
- #endif\r
- \r
--#line 1 "cfns.gperf"\r
-+#line 3 "cfns.gperf"\r
- \r
- /* Copyright (C) 2000-2015 Free Software Foundation, Inc.\r
- \r
-@@ -47,26 +47,19 @@ for more details.\r
- You should have received a copy of the GNU General Public License\r
- along with GCC; see the file COPYING3. If not see\r
- <http://www.gnu.org/licenses/>. */\r
--#ifdef __GNUC__\r
--__inline\r
--#endif\r
--static unsigned int hash (const char *, unsigned int);\r
--#ifdef __GNUC__\r
--__inline\r
--#endif\r
--const char * libc_name_p (const char *, unsigned int);\r
- /* maximum key range = 391, duplicates = 0 */\r
- \r
--#ifdef __GNUC__\r
--__inline\r
--#else\r
--#ifdef __cplusplus\r
--inline\r
--#endif\r
--#endif\r
--static unsigned int\r
--hash (register const char *str, register unsigned int len)\r
-+class libc_name\r
- {\r
-+private:\r
-+ static inline unsigned int hash (const char *str, unsigned int len);\r
-+public:\r
-+ static const char *libc_name_p (const char *str, unsigned int len);\r
-+};\r
-+\r
-+inline unsigned int\r
-+libc_name::hash (register const char *str, register unsigned int len)\r
-+{\r
- static const unsigned short asso_values[] =\r
- {\r
- 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,\r
-@@ -122,14 +115,8 @@ along with GCC; see the file COPYING3. If not see\r
- return hval + asso_values[(unsigned char)str[len - 1]];\r
- }\r
- \r
--#ifdef __GNUC__\r
--__inline\r
--#ifdef __GNUC_STDC_INLINE__\r
--__attribute__ ((__gnu_inline__))\r
--#endif\r
--#endif\r
- const char *\r
--libc_name_p (register const char *str, register unsigned int len)\r
-+libc_name::libc_name_p (register const char *str, register unsigned int len)\r
- {\r
- enum\r
- {\r
-Index: gcc/cp/except.c\r
-===================================================================\r
---- gcc/cp/except.c (revision 233574)\r
-+++ gcc/cp/except.c (working copy)\r
-@@ -1040,7 +1040,8 @@ nothrow_libfn_p (const_tree fn)\r
- unless the system headers are playing rename tricks, and if\r
- they are, we don't want to be confused by them. */\r
- id = DECL_NAME (fn);\r
-- return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));\r
-+ return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id),\r
-+ IDENTIFIER_LENGTH (id));\r
- }\r
- \r
- /* Returns nonzero if an exception of type FROM will be caught by a\r