From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id AB2EF1381F3 for ; Sat, 13 Jul 2013 09:37:00 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 487A1E0ABF; Sat, 13 Jul 2013 09:37:00 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id CBE01E0ABF for ; Sat, 13 Jul 2013 09:36:59 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id BDF4E33E93F for ; Sat, 13 Jul 2013 09:36:58 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 69BB0E468F for ; Sat, 13 Jul 2013 09:36:57 +0000 (UTC) From: "Ulrich Mueller" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ulrich Mueller" Message-ID: <1373704291.678160a4fcfedb76d491e44ef04d86c9e287ee91.ulm@gentoo> Subject: [gentoo-commits] proj/emacs-tools:patchsets commit in: emacs/24.3/ X-VCS-Repository: proj/emacs-tools X-VCS-Files: emacs/24.3/03_all_gnulib-fbsd-9.1.patch X-VCS-Directories: emacs/24.3/ X-VCS-Committer: ulm X-VCS-Committer-Name: Ulrich Mueller X-VCS-Revision: 678160a4fcfedb76d491e44ef04d86c9e287ee91 X-VCS-Branch: patchsets Date: Sat, 13 Jul 2013 09:36:57 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 50732208-a70b-43a2-beaf-13b61fe85c01 X-Archives-Hash: 252c421ec5e65711a38c95d094c72345 commit: 678160a4fcfedb76d491e44ef04d86c9e287ee91 Author: Ulrich Müller gentoo org> AuthorDate: Sat Jul 13 08:31:31 2013 +0000 Commit: Ulrich Mueller gentoo org> CommitDate: Sat Jul 13 08:31:31 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/emacs-tools.git;a=commit;h=678160a4 Fix build failure on FreeBSD 9.1 with GCC 4.6.3, bug 473364. --- emacs/24.3/03_all_gnulib-fbsd-9.1.patch | 98 +++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/emacs/24.3/03_all_gnulib-fbsd-9.1.patch b/emacs/24.3/03_all_gnulib-fbsd-9.1.patch new file mode 100644 index 0000000..e8c9196 --- /dev/null +++ b/emacs/24.3/03_all_gnulib-fbsd-9.1.patch @@ -0,0 +1,98 @@ +Fix build failure on FreeBSD 9.1 with GCC 4.6.3. +Patch from upstream bzr, backported to Emacs 24.3. +https://bugs.gentoo.org/show_bug.cgi?id=473364 +http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14812 + +2013-07-08 Paul Eggert + +Try to fix FreeBSD 9.1 porting problem (Bug#14812). +This incorporates the following merge from gnulib: +2013-07-07 stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11 + +--- emacs-24.3-orig/lib/stdalign.in.h ++++ emacs-24.3/lib/stdalign.in.h +@@ -41,13 +41,28 @@ + are 4 unless the option '-malign-double' is used. + + The result cannot be used as a value for an 'enum' constant, if you +- want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */ ++ want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. ++ ++ Include for offsetof. */ + #include +-#if defined __cplusplus ++ ++/* FreeBSD 9.1 , included by and lots of other ++ standard headers, defines conflicting implementations of _Alignas ++ and _Alignof that are no better than ours; override them. */ ++#undef _Alignas ++#undef _Alignof ++ ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 ++# ifdef __cplusplus ++# if 201103 <= __cplusplus ++# define _Alignof(type) alignof (type) ++# else + template struct __alignof_helper { char __a; __t __b; }; +-# define _Alignof(type) offsetof (__alignof_helper, __b) +-#else +-# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) ++# define _Alignof(type) offsetof (__alignof_helper, __b) ++# endif ++# else ++# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) ++# endif + #endif + #define alignof _Alignof + #define __alignof_is_defined 1 +@@ -77,12 +92,16 @@ + + */ + +-#if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C +-# define _Alignas(a) __attribute__ ((__aligned__ (a))) +-#elif 1300 <= _MSC_VER +-# define _Alignas(a) __declspec (align (a)) ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 ++# if defined __cplusplus && 201103 <= __cplusplus ++# define _Alignas(a) alignas (a) ++# elif __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC || 0x5110 <= __SUNPRO_C ++# define _Alignas(a) __attribute__ ((__aligned__ (a))) ++# elif 1300 <= _MSC_VER ++# define _Alignas(a) __declspec (align (a)) ++# endif + #endif +-#ifdef _Alignas ++#if defined _Alignas || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__) + # define alignas _Alignas + # define __alignas_is_defined 1 + #endif +--- emacs-24.3-orig/lib/verify.h ++++ emacs-24.3/lib/verify.h +@@ -40,6 +40,14 @@ + # define _GL_HAVE_STATIC_ASSERT 1 + # endif + ++/* FreeBSD 9.1 , included by and lots of other ++ system headers, defines a conflicting _Static_assert that is no ++ better than ours; override it. */ ++#ifndef _GL_HAVE_STATIC_ASSERT ++# include ++# undef _Static_assert ++#endif ++ + /* Each of these macros verifies that its argument R is nonzero. To + be portable, R should be an integer constant expression. Unlike + assert (R), there is no run-time overhead. +--- emacs-24.3-orig/m4/stdalign.m4 ++++ emacs-24.3/m4/stdalign.m4 +@@ -31,7 +31,8 @@ AC_DEFUN([gl_STDALIGN_H], + + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ +- (__GNUC__ || __IBMC__ || __IBMCPP__ \ ++ ((defined __cplusplus && 201103 <= __cplusplus) \ ++ || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \ + || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + int alignas (8) alignas_int = 1; + char test_alignas[_Alignof (alignas_int) == 8 ? 1 : -1];