mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
core/gcc to 5.2.0-1
This commit is contained in:
parent
a86329e1b2
commit
5cf3b2774a
3 changed files with 7 additions and 210 deletions
|
@ -15,11 +15,11 @@
|
|||
noautobuild=1
|
||||
|
||||
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-go')
|
||||
pkgver=5.1.0
|
||||
pkgver=5.2.0
|
||||
_pkgver=5
|
||||
_islver=0.14.1
|
||||
pkgrel=5
|
||||
_snapshot=5-20150623
|
||||
pkgrel=1
|
||||
#_snapshot=5-20150623
|
||||
pkgdesc="The GNU Compiler Collection"
|
||||
arch=('i686' 'x86_64')
|
||||
license=('GPL' 'LGPL' 'FDL' 'custom')
|
||||
|
@ -27,17 +27,13 @@ url="http://gcc.gnu.org"
|
|||
makedepends=('binutils>=2.25' 'libmpc' 'doxygen')
|
||||
checkdepends=('dejagnu' 'inetutils')
|
||||
options=('!emptydirs' '!distcc')
|
||||
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
|
||||
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
|
||||
http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
|
||||
pr65882.patch
|
||||
pr66647.patch
|
||||
pr66035.patch
|
||||
0001-ARMv5-disable-LDRD-STRD.patch)
|
||||
md5sums=('69432bf92cb6cdc8399c1bfc28c4f801'
|
||||
md5sums=('a51bcfeb3da7dd4c623e27207ed43467'
|
||||
'118d1a379abf7606a3334c98a8411c79'
|
||||
'f64c1781d8bcac1ea168c2b7091ca2bd'
|
||||
'720df658a726b6e0e541c58296bd5672'
|
||||
'5b980076cd5fcbc3aff6014f306282dd'
|
||||
'924a9bcdd7852410667f04ce18c305d7')
|
||||
|
||||
|
@ -66,12 +62,6 @@ prepare() {
|
|||
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
|
||||
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
|
||||
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65882
|
||||
patch -p0 -i ${srcdir}/pr65882.patch
|
||||
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66647
|
||||
patch -p0 -i ${srcdir}/pr66647.patch
|
||||
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66035
|
||||
patch -p1 -i ${srcdir}/pr66035.patch
|
||||
|
||||
|
@ -109,7 +99,7 @@ build() {
|
|||
--with-linker-hash-style=gnu --enable-gnu-indirect-function \
|
||||
--disable-multilib --disable-werror \
|
||||
--enable-checking=release \
|
||||
--with-default-libstdcxx-abi=c++98 \
|
||||
--with-default-libstdcxx-abi=gcc4-compatible \
|
||||
$CONFIGFLAG
|
||||
|
||||
make
|
||||
|
|
|
@ -1,106 +0,0 @@
|
|||
Index: gcc/testsuite/g++.dg/diagnostic/inhibit-warn-1.C
|
||||
===================================================================
|
||||
--- gcc/testsuite/g++.dg/diagnostic/inhibit-warn-1.C (revision 0)
|
||||
+++ gcc/testsuite/g++.dg/diagnostic/inhibit-warn-1.C (revision 224864)
|
||||
@@ -0,0 +1,32 @@
|
||||
+// PR c++/65882
|
||||
+// { dg-do compile { target c++11 } }
|
||||
+// { dg-options "-Wbool-compare" }
|
||||
+
|
||||
+// Check that we don't ICE because of reentering error reporting routines while
|
||||
+// evaluating template parameters
|
||||
+
|
||||
+template<typename>
|
||||
+struct type_function {
|
||||
+ static constexpr bool value = false;
|
||||
+};
|
||||
+
|
||||
+template<bool>
|
||||
+struct dependent_type {
|
||||
+ typedef int type;
|
||||
+};
|
||||
+
|
||||
+template<typename T>
|
||||
+typename dependent_type<(5 > type_function<T>::value)>::type
|
||||
+bar();
|
||||
+
|
||||
+template<typename T>
|
||||
+typename dependent_type<(5 > type_function<T>::value)>::type
|
||||
+foo()
|
||||
+{
|
||||
+ return bar<int>();
|
||||
+}
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ foo<int>();
|
||||
+}
|
||||
Index: gcc/testsuite/g++.dg/diagnostic/inhibit-warn-2.C
|
||||
===================================================================
|
||||
--- gcc/testsuite/g++.dg/diagnostic/inhibit-warn-2.C (revision 0)
|
||||
+++ gcc/testsuite/g++.dg/diagnostic/inhibit-warn-2.C (revision 224864)
|
||||
@@ -0,0 +1,36 @@
|
||||
+// PR c++/65882
|
||||
+// PR c++/66467
|
||||
+// { dg-do compile }
|
||||
+
|
||||
+template <bool>
|
||||
+struct A
|
||||
+{
|
||||
+ typedef int type;
|
||||
+};
|
||||
+
|
||||
+struct B
|
||||
+{
|
||||
+ static const int value = 0;
|
||||
+};
|
||||
+
|
||||
+template <class>
|
||||
+struct C
|
||||
+{
|
||||
+ typedef int type;
|
||||
+};
|
||||
+
|
||||
+template <class>
|
||||
+struct F : B {};
|
||||
+
|
||||
+class D
|
||||
+{
|
||||
+ template <class Expr>
|
||||
+ typename A<F<typename C<Expr>::type>::value || B::value>::type
|
||||
+ operator=(Expr); // { dg-message "declared" }
|
||||
+};
|
||||
+
|
||||
+void fn1()
|
||||
+{
|
||||
+ D opt;
|
||||
+ opt = 0; // { dg-error "private" }
|
||||
+}
|
||||
Index: gcc/cp/call.c
|
||||
===================================================================
|
||||
--- gcc/cp/call.c (revision 224863)
|
||||
+++ gcc/cp/call.c (revision 224864)
|
||||
@@ -5687,8 +5687,9 @@
|
||||
case TRUTH_ORIF_EXPR:
|
||||
case TRUTH_AND_EXPR:
|
||||
case TRUTH_OR_EXPR:
|
||||
- warn_logical_operator (loc, code, boolean_type_node,
|
||||
- code_orig_arg1, arg1, code_orig_arg2, arg2);
|
||||
+ if (complain & tf_warning)
|
||||
+ warn_logical_operator (loc, code, boolean_type_node,
|
||||
+ code_orig_arg1, arg1, code_orig_arg2, arg2);
|
||||
/* Fall through. */
|
||||
case GT_EXPR:
|
||||
case LT_EXPR:
|
||||
@@ -5696,8 +5697,9 @@
|
||||
case LE_EXPR:
|
||||
case EQ_EXPR:
|
||||
case NE_EXPR:
|
||||
- if ((code_orig_arg1 == BOOLEAN_TYPE)
|
||||
- ^ (code_orig_arg2 == BOOLEAN_TYPE))
|
||||
+ if ((complain & tf_warning)
|
||||
+ && ((code_orig_arg1 == BOOLEAN_TYPE)
|
||||
+ ^ (code_orig_arg2 == BOOLEAN_TYPE)))
|
||||
maybe_warn_bool_compare (loc, code, arg1, arg2);
|
||||
/* Fall through. */
|
||||
case PLUS_EXPR:
|
|
@ -1,87 +0,0 @@
|
|||
Index: gcc/testsuite/g++.dg/cpp0x/alias-decl-49.C
|
||||
===================================================================
|
||||
--- gcc/testsuite/g++.dg/cpp0x/alias-decl-49.C (revision 0)
|
||||
+++ gcc/testsuite/g++.dg/cpp0x/alias-decl-49.C (revision 224921)
|
||||
@@ -0,0 +1,54 @@
|
||||
+// PR c++/66647
|
||||
+// { dg-do compile { target c++11 } }
|
||||
+
|
||||
+template <typename _Tp> struct A
|
||||
+{
|
||||
+ static constexpr _Tp value = 1;
|
||||
+};
|
||||
+template <typename> class B
|
||||
+{
|
||||
+public:
|
||||
+ template <typename> struct rebind
|
||||
+ {
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+template <typename _Alloc, typename _Tp> class C
|
||||
+{
|
||||
+ template <typename _Alloc2, typename _Tp2>
|
||||
+ static A<int> _S_chk (typename _Alloc2::template rebind<_Tp2> *);
|
||||
+
|
||||
+public:
|
||||
+ using __type = decltype (_S_chk<_Alloc, _Tp> (0));
|
||||
+};
|
||||
+
|
||||
+template <typename _Alloc, typename _Tp, int = C<_Alloc, _Tp>::__type::value>
|
||||
+struct D;
|
||||
+template <typename _Alloc, typename _Tp> struct D<_Alloc, _Tp, 1>
|
||||
+{
|
||||
+ typedef typename _Alloc::template rebind<_Tp> __type;
|
||||
+};
|
||||
+template <typename _Alloc> struct F
|
||||
+{
|
||||
+ template <typename _Tp> using rebind_alloc = typename D<_Alloc, _Tp>::__type;
|
||||
+};
|
||||
+template <typename _Alloc> struct __alloc_traits
|
||||
+{
|
||||
+ template <typename> struct rebind
|
||||
+ {
|
||||
+ typedef typename F<_Alloc>::template rebind_alloc<int> other;
|
||||
+ };
|
||||
+};
|
||||
+template <typename _Alloc> struct G
|
||||
+{
|
||||
+ typename __alloc_traits<_Alloc>::template rebind<int>::other _Tp_alloc_type;
|
||||
+};
|
||||
+template <typename _Tp, typename _Alloc = B<_Tp> > class vector : G<_Alloc>
|
||||
+{
|
||||
+};
|
||||
+
|
||||
+template <int> using tfuncptr = void();
|
||||
+template <int d> struct H
|
||||
+{
|
||||
+ vector<tfuncptr<d> > funcs;
|
||||
+};
|
||||
Index: gcc/cp/pt.c
|
||||
===================================================================
|
||||
--- gcc/cp/pt.c (revision 224920)
|
||||
+++ gcc/cp/pt.c (revision 224921)
|
||||
@@ -20975,6 +20975,12 @@
|
||||
names a dependent type. */
|
||||
if (TREE_CODE (type) == TYPENAME_TYPE)
|
||||
return true;
|
||||
+
|
||||
+ /* An alias template specialization can be dependent even if the
|
||||
+ resulting type is not. */
|
||||
+ if (dependent_alias_template_spec_p (type))
|
||||
+ return true;
|
||||
+
|
||||
/* -- a cv-qualified type where the cv-unqualified type is
|
||||
dependent.
|
||||
No code is necessary for this bullet; the code below handles
|
||||
@@ -21026,10 +21032,6 @@
|
||||
&& (any_dependent_template_arguments_p
|
||||
(INNERMOST_TEMPLATE_ARGS (CLASSTYPE_TI_ARGS (type)))))
|
||||
return true;
|
||||
- /* For an alias template specialization, check the arguments both to the
|
||||
- class template and the alias template. */
|
||||
- else if (dependent_alias_template_spec_p (type))
|
||||
- return true;
|
||||
|
||||
/* All TYPEOF_TYPEs, DECLTYPE_TYPEs, and UNDERLYING_TYPEs are
|
||||
dependent; if the argument of the `typeof' expression is not
|
Loading…
Reference in a new issue