[arch-commits] Commit in gcc/trunk (PKGBUILD gcc-4.8-lambda-ICE.patch)
Allan McRae
allan at nymeria.archlinux.org
Sat Nov 9 00:14:17 UTC 2013
Date: Saturday, November 9, 2013 @ 01:14:17
Author: allan
Revision: 199265
upgpkg: gcc 4.8.2-4
backport ICE fix
Added:
gcc/trunk/gcc-4.8-lambda-ICE.patch
Modified:
gcc/trunk/PKGBUILD
--------------------------+
PKGBUILD | 13 +++++++++----
gcc-4.8-lambda-ICE.patch | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+), 4 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2013-11-08 22:07:37 UTC (rev 199264)
+++ PKGBUILD 2013-11-09 00:14:17 UTC (rev 199265)
@@ -6,7 +6,7 @@
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go')
pkgver=4.8.2
-pkgrel=3
+pkgrel=4
#_snapshot=4.8-20130725
pkgdesc="The GNU Compiler Collection"
arch=('i686' 'x86_64')
@@ -17,9 +17,11 @@
options=('!emptydirs')
source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
#ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
- gcc-4.8-filename-output.patch)
+ gcc-4.8-filename-output.patch
+ gcc-4.8-lambda-ICE.patch)
md5sums=('a3d7d63b9cb6b6ea049469a0c4a43c9d'
- '40cb437805e2f7a006aa0d0c3098ab0f')
+ '40cb437805e2f7a006aa0d0c3098ab0f'
+ '6eb6e080dbf7bc6825f53a0aaa6c4ef9')
if [ -n "${_snapshot}" ]; then
@@ -44,7 +46,10 @@
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57653
patch -p0 -i ${srcdir}/gcc-4.8-filename-output.patch
-
+
+ # http://gcc.gnu.org/bugzilla//show_bug.cgi?id=56710 - commit 3d1f8279
+ patch -p1 -i ${srcdir}/gcc-4.8-lambda-ICE.patch
+
mkdir ${srcdir}/gcc-build
}
Added: gcc-4.8-lambda-ICE.patch
===================================================================
--- gcc-4.8-lambda-ICE.patch (rev 0)
+++ gcc-4.8-lambda-ICE.patch 2013-11-09 00:14:17 UTC (rev 199265)
@@ -0,0 +1,35 @@
+diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
+index 0b8e2f7..ad1c209 100644
+--- a/gcc/cp/semantics.c
++++ b/gcc/cp/semantics.c
+@@ -2719,8 +2719,10 @@ finish_member_declaration (tree decl)
+ /*friend_p=*/0);
+ }
+ }
+- /* Enter the DECL into the scope of the class. */
+- else if (pushdecl_class_level (decl))
++ /* Enter the DECL into the scope of the class, if the class
++ isn't a closure (whose fields are supposed to be unnamed). */
++ else if (CLASSTYPE_LAMBDA_EXPR (current_class_type)
++ || pushdecl_class_level (decl))
+ {
+ if (TREE_CODE (decl) == USING_DECL)
+ {
+diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C
+new file mode 100644
+index 0000000..df2b037
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C
+@@ -0,0 +1,9 @@
++// PR c++/56710
++// { dg-options "-std=c++11 -Wall" }
++
++int main()
++{
++ int t = 0;
++ return [&]() -> int {int __t; __t = t; return __t; }();
++ return [&t]() -> int {int __t; __t = t; return __t; }();
++}
+--
+1.8.4.2
+
More information about the arch-commits
mailing list