diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index b23f09b63..9a6c1650b 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -1,4 +1,3 @@ -# $Id$ # Maintainer: Bartłomiej Piotrowski # Contributor: Allan McRae @@ -16,7 +15,7 @@ noautobuild=1 pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-go) -pkgver=9.1.0 +pkgver=9.2.0 _majorver=${pkgver:0:1} _islver=0.21 pkgrel=2 @@ -32,20 +31,16 @@ source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig} #source=(gcc::svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch http://isl.gforge.inria.fr/isl-${_islver}.tar.xz c89 c99 - bz90397.patch - bz90949.patch 0001-ARMv5-disable-LDRD-STRD.patch) validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com 33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek -sha256sums=('79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0' +sha256sums=('ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206' 'SKIP' '777058852a3db9500954361e294881214f6ecd4b594c00da5eee974cd6a54960' 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' - 'cc20d05bcc6cb35bf0944b391f0b0380af375f2a8a03ce1cd67835884bc41fac' - 'c860819e730faf1621e1286ebe3a0179df6e25182b81a9ca0a3db02633982a14' '31e24baa9eee826d7d77dbcf8f1a6a44c92f771e52d21677acb8d76fac7ae204') _svnrev=264010 @@ -74,12 +69,6 @@ prepare() { [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc cd gcc - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90397 - patch -p0 -i "$srcdir/bz90397.patch" - - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90949 - patch -p0 -i "$srcdir/bz90949.patch" - # link isl for in-tree build ln -s ../isl-${_islver} isl diff --git a/core/gcc/bz90397.patch b/core/gcc/bz90397.patch deleted file mode 100644 index d41252af5..000000000 --- a/core/gcc/bz90397.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: libstdc++-v3/include/std/variant -=================================================================== ---- libstdc++-v3/include/std/variant (revision 271082) -+++ libstdc++-v3/include/std/variant (revision 271083) -@@ -1556,7 +1556,8 @@ - #endif - - template -- friend constexpr decltype(auto) __detail::__variant::__get(_Vp&& __v); -+ friend constexpr decltype(auto) -+ __detail::__variant::__get(_Vp&& __v) noexcept; - - template - friend void* __detail::__variant::__get_storage(_Vp&& __v); diff --git a/core/gcc/bz90949.patch b/core/gcc/bz90949.patch deleted file mode 100644 index e545844c5..000000000 --- a/core/gcc/bz90949.patch +++ /dev/null @@ -1,88 +0,0 @@ -Index: gcc/testsuite/gcc.c-torture/execute/pr90949.c -=================================================================== ---- gcc/testsuite/gcc.c-torture/execute/pr90949.c (nonexistent) -+++ gcc/testsuite/gcc.c-torture/execute/pr90949.c (revision 272555) -@@ -0,0 +1,42 @@ -+void __attribute__ ((noipa, noinline)) my_puts (const char *str) { } -+ -+void __attribute__ ((noipa, noinline)) my_free (void *p) { } -+ -+ -+struct Node -+{ -+ struct Node *child; -+}; -+ -+struct Node space[2] = { }; -+ -+struct Node * __attribute__ ((noipa, noinline)) my_malloc (int bytes) -+{ -+ return &space[0]; -+} -+ -+void -+walk (struct Node *module, int cleanup) -+{ -+ if (module == 0) -+ { -+ return; -+ } -+ if (!cleanup) -+ { -+ my_puts ("No cleanup"); -+ } -+ walk (module->child, cleanup); -+ if (cleanup) -+ { -+ my_free (module); -+ } -+} -+ -+int -+main () -+{ -+ struct Node *node = my_malloc (sizeof (struct Node)); -+ node->child = 0; -+ walk (node, 1); -+} -Index: gcc/tree-ssa-copy.c -=================================================================== ---- gcc/tree-ssa-copy.c (revision 272554) -+++ gcc/tree-ssa-copy.c (revision 272555) -@@ -545,13 +545,12 @@ - duplicate_ssa_name_ptr_info (copy_of[i].value, - SSA_NAME_PTR_INFO (var)); - /* Points-to information is cfg insensitive, -- but alignment info might be cfg sensitive, if it -- e.g. is derived from VRP derived non-zero bits. -- So, do not copy alignment info if the two SSA_NAMEs -- aren't defined in the same basic block. */ -+ but [E]VRP might record context sensitive alignment -+ info, non-nullness, etc. So reset context sensitive -+ info if the two SSA_NAMEs aren't defined in the same -+ basic block. */ - if (var_bb != copy_of_bb) -- mark_ptr_info_alignment_unknown -- (SSA_NAME_PTR_INFO (copy_of[i].value)); -+ reset_flow_sensitive_info (copy_of[i].value); - } - else if (!POINTER_TYPE_P (TREE_TYPE (var)) - && SSA_NAME_RANGE_INFO (var) -Index: gcc/tree-ssanames.c -=================================================================== ---- gcc/tree-ssanames.c (revision 272554) -+++ gcc/tree-ssanames.c (revision 272555) -@@ -820,7 +820,12 @@ - { - /* points-to info is not flow-sensitive. */ - if (SSA_NAME_PTR_INFO (name)) -- mark_ptr_info_alignment_unknown (SSA_NAME_PTR_INFO (name)); -+ { -+ /* [E]VRP can derive context sensitive alignment info and -+ non-nullness properties. We must reset both. */ -+ mark_ptr_info_alignment_unknown (SSA_NAME_PTR_INFO (name)); -+ SSA_NAME_PTR_INFO (name)->pt.null = 1; -+ } - } - else - SSA_NAME_RANGE_INFO (name) = NULL;