wok-next rev 19877

gcc49: add patch
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Oct 04 14:58:45 2017 +0200 (2017-10-04)
parents 96f32ddf6189
children 435f77efe3de
files gcc49/receipt gcc49/stuff/cfns.gperf.u gcc54/receipt gcc61/receipt
line diff
     1.1 --- a/gcc49/receipt	Mon Oct 02 23:28:58 2017 +0300
     1.2 +++ b/gcc49/receipt	Wed Oct 04 14:58:45 2017 +0200
     1.3 @@ -16,7 +16,7 @@
     1.4  # for cookutils that are not used by tazwok/cook-toolchain since it installs
     1.5  # and uses its own copy.
     1.6  DEPENDS="binutils libgomp libobjc gcc-lib-base mpc-library elfutils"
     1.7 -BUILD_DEPENDS="mpc-library mpfr-dev gmp-dev elfutils-dev"
     1.8 +BUILD_DEPENDS="mpc-library-dev mpfr-dev gmp-dev elfutils-dev zlib-dev"
     1.9  
    1.10  # Rules to configure and make the package.
    1.11  compile_rules()
    1.12 @@ -25,6 +25,8 @@
    1.13  	pkgversion="SliTaz"
    1.14  	languages="c,c++"
    1.15  
    1.16 +	patch -p1 < $stuff/cfns.gperf.u
    1.17 +
    1.18  	# Use libiberty.a from binutils.
    1.19  	sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in || return 1
    1.20  
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/gcc49/stuff/cfns.gperf.u	Wed Oct 04 14:58:45 2017 +0200
     2.3 @@ -0,0 +1,168 @@
     2.4 +From ec1cc0263f156f70693a62cf17b254a0029f4852 Mon Sep 17 00:00:00 2001
     2.5 +From: edlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>
     2.6 +Date: Fri, 19 Feb 2016 22:13:29 +0000
     2.7 +Subject: [PATCH] 2016-02-19  Jakub Jelinek  <jakub@redhat.com>            
     2.8 + Bernd Edlinger  <bernd.edlinger@hotmail.de>
     2.9 +
    2.10 +        * Make-lang.in: Invoke gperf with -L C++.
    2.11 +        * cfns.gperf: Remove prototypes for hash and libc_name_p
    2.12 +        inlines.
    2.13 +        * cfns.h: Regenerated.
    2.14 +        * except.c (nothrow_libfn_p): Adjust.
    2.15 +
    2.16 +
    2.17 +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233572 138bc75d-0d04-0410-961f-82ee72b054a4
    2.18 +---
    2.19 + gcc/cp/ChangeLog    |  9 +++++++++
    2.20 + gcc/cp/Make-lang.in |  2 +-
    2.21 + gcc/cp/cfns.gperf   | 10 ++--------
    2.22 + gcc/cp/cfns.h       | 41 ++++++++++++++---------------------------
    2.23 + gcc/cp/except.c     |  3 ++-
    2.24 + 5 files changed, 28 insertions(+), 37 deletions(-)
    2.25 +
    2.26 +diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
    2.27 +index a80abb5..571c416 100644
    2.28 +--- a/gcc/cp/ChangeLog
    2.29 ++++ b/gcc/cp/ChangeLog
    2.30 +@@ -1,4 +1,13 @@
    2.31 + 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
    2.32 ++	    Bernd Edlinger  <bernd.edlinger@hotmail.de>
    2.33 ++
    2.34 ++	* Make-lang.in: Invoke gperf with -L C++.
    2.35 ++	* cfns.gperf: Remove prototypes for hash and libc_name_p
    2.36 ++	inlines.
    2.37 ++	* cfns.h: Regenerated.
    2.38 ++	* except.c (nothrow_libfn_p): Adjust.
    2.39 ++
    2.40 ++2016-02-19  Jakub Jelinek  <jakub@redhat.com>
    2.41 + 
    2.42 + 	PR c++/69850
    2.43 + 	* rtti.c (ifnonnull): Set TREE_NO_WARNING on the condition, use
    2.44 +diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
    2.45 +index 671ce12..2286c64 100644
    2.46 +--- a/gcc/cp/Make-lang.in
    2.47 ++++ b/gcc/cp/Make-lang.in
    2.48 +@@ -112,7 +112,7 @@ else
    2.49 + # deleting the $(srcdir)/cp/cfns.h file.
    2.50 + $(srcdir)/cp/cfns.h:
    2.51 + endif
    2.52 +-	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
    2.53 ++	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \
    2.54 + 		$(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h
    2.55 + 
    2.56 + #
    2.57 +diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf
    2.58 +index 2784edc..8d7f015 100644
    2.59 +--- a/gcc/cp/cfns.gperf
    2.60 ++++ b/gcc/cp/cfns.gperf
    2.61 +@@ -1,3 +1,5 @@
    2.62 ++%language=C++
    2.63 ++%define class-name libc_name
    2.64 + %{
    2.65 + /* Copyright (C) 2000-2016 Free Software Foundation, Inc.
    2.66 + 
    2.67 +@@ -16,14 +18,6 @@ for more details.
    2.68 + You should have received a copy of the GNU General Public License
    2.69 + along with GCC; see the file COPYING3.  If not see
    2.70 + <http://www.gnu.org/licenses/>.  */
    2.71 +-#ifdef __GNUC__
    2.72 +-__inline
    2.73 +-#endif
    2.74 +-static unsigned int hash (const char *, unsigned int);
    2.75 +-#ifdef __GNUC__
    2.76 +-__inline
    2.77 +-#endif
    2.78 +-const char * libc_name_p (const char *, unsigned int);
    2.79 + %}
    2.80 + %%
    2.81 + # The standard C library functions, for feeding to gperf; the result is used
    2.82 +diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h
    2.83 +index d8e02c9..9a37249 100644
    2.84 +--- a/gcc/cp/cfns.h
    2.85 ++++ b/gcc/cp/cfns.h
    2.86 +@@ -1,5 +1,5 @@
    2.87 +-/* ANSI-C code produced by gperf version 3.0.3 */
    2.88 +-/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf  */
    2.89 ++/* C++ code produced by gperf version 3.0.4 */
    2.90 ++/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf  */
    2.91 + 
    2.92 + #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
    2.93 +       && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
    2.94 +@@ -28,7 +28,7 @@
    2.95 + #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
    2.96 + #endif
    2.97 + 
    2.98 +-#line 1 "cfns.gperf"
    2.99 ++#line 3 "cfns.gperf"
   2.100 + 
   2.101 + /* Copyright (C) 2000-2016 Free Software Foundation, Inc.
   2.102 + 
   2.103 +@@ -47,25 +47,18 @@ for more details.
   2.104 + You should have received a copy of the GNU General Public License
   2.105 + along with GCC; see the file COPYING3.  If not see
   2.106 + <http://www.gnu.org/licenses/>.  */
   2.107 +-#ifdef __GNUC__
   2.108 +-__inline
   2.109 +-#endif
   2.110 +-static unsigned int hash (const char *, unsigned int);
   2.111 +-#ifdef __GNUC__
   2.112 +-__inline
   2.113 +-#endif
   2.114 +-const char * libc_name_p (const char *, unsigned int);
   2.115 + /* maximum key range = 391, duplicates = 0 */
   2.116 + 
   2.117 +-#ifdef __GNUC__
   2.118 +-__inline
   2.119 +-#else
   2.120 +-#ifdef __cplusplus
   2.121 +-inline
   2.122 +-#endif
   2.123 +-#endif
   2.124 +-static unsigned int
   2.125 +-hash (register const char *str, register unsigned int len)
   2.126 ++class libc_name
   2.127 ++{
   2.128 ++private:
   2.129 ++  static inline unsigned int hash (const char *str, unsigned int len);
   2.130 ++public:
   2.131 ++  static const char *libc_name_p (const char *str, unsigned int len);
   2.132 ++};
   2.133 ++
   2.134 ++inline unsigned int
   2.135 ++libc_name::hash (register const char *str, register unsigned int len)
   2.136 + {
   2.137 +   static const unsigned short asso_values[] =
   2.138 +     {
   2.139 +@@ -122,14 +115,8 @@ hash (register const char *str, register unsigned int len)
   2.140 +   return hval + asso_values[(unsigned char)str[len - 1]];
   2.141 + }
   2.142 + 
   2.143 +-#ifdef __GNUC__
   2.144 +-__inline
   2.145 +-#ifdef __GNUC_STDC_INLINE__
   2.146 +-__attribute__ ((__gnu_inline__))
   2.147 +-#endif
   2.148 +-#endif
   2.149 + const char *
   2.150 +-libc_name_p (register const char *str, register unsigned int len)
   2.151 ++libc_name::libc_name_p (register const char *str, register unsigned int len)
   2.152 + {
   2.153 +   enum
   2.154 +     {
   2.155 +diff --git a/gcc/cp/except.c b/gcc/cp/except.c
   2.156 +index c73a16b..5336710 100644
   2.157 +--- a/gcc/cp/except.c
   2.158 ++++ b/gcc/cp/except.c
   2.159 +@@ -1040,7 +1040,8 @@ nothrow_libfn_p (const_tree fn)
   2.160 +      unless the system headers are playing rename tricks, and if
   2.161 +      they are, we don't want to be confused by them.  */
   2.162 +   id = DECL_NAME (fn);
   2.163 +-  return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));
   2.164 ++  return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id),
   2.165 ++				   IDENTIFIER_LENGTH (id));
   2.166 + }
   2.167 + 
   2.168 + /* Returns nonzero if an exception of type FROM will be caught by a
   2.169 +-- 
   2.170 +2.9.3
   2.171 +
     3.1 --- a/gcc54/receipt	Mon Oct 02 23:28:58 2017 +0300
     3.2 +++ b/gcc54/receipt	Wed Oct 04 14:58:45 2017 +0200
     3.3 @@ -16,7 +16,7 @@
     3.4  # for cookutils that are not used by tazwok/cook-toolchain since it installs
     3.5  # and uses its own copy.
     3.6  DEPENDS="binutils libgomp libobjc gcc-lib-base mpc-library elfutils"
     3.7 -BUILD_DEPENDS="mpc-library mpfr-dev gmp-dev elfutils-dev"
     3.8 +BUILD_DEPENDS="mpc-library-dev mpfr-dev gmp-dev elfutils-dev zlib-dev"
     3.9  
    3.10  # Rules to configure and make the package.
    3.11  compile_rules()
     4.1 --- a/gcc61/receipt	Mon Oct 02 23:28:58 2017 +0300
     4.2 +++ b/gcc61/receipt	Wed Oct 04 14:58:45 2017 +0200
     4.3 @@ -16,7 +16,7 @@
     4.4  # for cookutils that are not used by tazwok/cook-toolchain since it installs
     4.5  # and uses its own copy.
     4.6  DEPENDS="binutils libgomp libobjc gcc-lib-base mpc-library elfutils"
     4.7 -BUILD_DEPENDS="mpc-library mpfr-dev gmp-dev elfutils-dev"
     4.8 +BUILD_DEPENDS="mpc-library-dev mpfr-dev gmp-dev elfutils-dev zlib-dev"
     4.9  
    4.10  # Rules to configure and make the package.
    4.11  compile_rules()