~ruther/guix-local

e6994d7e3f3f4a69f984c9e67df27abe1bc07c1c — Ricardo Wurmus 3 years ago 01d7fc9
gnu: gcc-arm-none-eabi-4.9: Fix incompatible redeclaration.

* gnu/packages/patches/gcc-4.9-inline.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9)[source]: Use it.
3 files changed, 22 insertions(+), 6 deletions(-)

M gnu/local.mk
M gnu/packages/embedded.scm
A gnu/packages/patches/gcc-4.9-inline.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1155,6 1155,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/gcc-cross-gxx-include-dir.patch          \
  %D%/packages/patches/gcc-fix-texi2pod.patch			\
  %D%/packages/patches/gcc-4.8-libsanitizer-fix.patch		\
  %D%/packages/patches/gcc-4.9-inline.patch		\
  %D%/packages/patches/gcc-4.9-libsanitizer-fix.patch		\
  %D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch		\
  %D%/packages/patches/gcc-libsanitizer-ustat.patch		\

M gnu/packages/embedded.scm => gnu/packages/embedded.scm +8 -6
@@ 98,12 98,14 @@
          (base32
           "113r98kygy8rrjfv2pd3z6zlfzbj543pq7xyq8bgh72c608mmsbr"))

         ;; Remove the one patch that doesn't apply to this 4.9 snapshot (the
         ;; patch is for 4.9.4 and later but this svn snapshot is older).
         (patches (remove (lambda (patch)
                            (string=? (basename patch)
                                      "gcc-arm-bug-71399.patch"))
                          (origin-patches (package-source xgcc))))))
         (patches (cons (search-patch "gcc-4.9-inline.patch")
                        ;; Remove the one patch that doesn't apply to this 4.9
                        ;; snapshot (the patch is for 4.9.4 and later but this
                        ;; svn snapshot is older).
                        (remove (lambda (patch)
                                  (string=? (basename patch)
                                            "gcc-arm-bug-71399.patch"))
                                (origin-patches (package-source xgcc)))))))
      (native-inputs
       `(("flex" ,flex)
         ("gcc@5" ,gcc-5)

A gnu/packages/patches/gcc-4.9-inline.patch => gnu/packages/patches/gcc-4.9-inline.patch +13 -0
@@ 0,0 1,13 @@
diff -ru a/gcc/cp/cfns.h b/gcc/cp/cfns.h
--- a/gcc/cp/cfns.h	1970-01-01 01:00:01.000000000 +0100
+++ b/gcc/cp/cfns.h	2023-04-23 09:23:28.883815598 +0200
@@ -53,6 +53,9 @@
 static unsigned int hash (const char *, unsigned int);
 #ifdef __GNUC__
 __inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
 #endif
 const char * libc_name_p (const char *, unsigned int);
 /* maximum key range = 391, duplicates = 0 */