Commit d8636ce4 authored by Matthias Klose's avatar Matthias Klose

gcc-8 (8.2.0-12) unstable; urgency=medium

  * Update to SVN 20181209 (r266918) from the gcc-8-branch.
    - Fix PR fortran/88048, PR fortran/88025.
  * Back-out the fix for PR c++/87531. Closes: #915980.

 -- Matthias Klose <doko@debian.org>  Sun, 09 Dec 2018 11:02:40 +0100
parent 00ea8977
gcc-8 (8.2.0-12) unstable; urgency=medium
* Update to SVN 20181209 (r266918) from the gcc-8-branch.
- Fix PR fortran/88048, PR fortran/88025.
* Back-out the fix for PR c++/87531. Closes: #915980.
-- Matthias Klose <doko@debian.org> Sun, 09 Dec 2018 11:02:40 +0100
gcc-8 (8.2.0-11) unstable; urgency=medium
* Update to SVN 20181206 (r266855) from the gcc-8-branch.
......
# DP: Revert the fix for PR c++/87531, causing rejects-valid
gcc/cp/
2018-11-29 Nathan Sidwell <nathan@acm.org>
PR c++/87531
* class.c (finish_struct): In a template, add artificial using
decl for operator=.
gcc/testsuite/
2018-11-29 Nathan Sidwell <nathan@acm.org>
PR c++/87531
* g++.dg/lookup/pr87531.C: New.
--- a/src/gcc/testsuite/g++.dg/lookup/pr87531.C
+++ b/src/gcc/testsuite/g++.dg/lookup/pr87531.C
@@ -1,73 +0,0 @@
-// PR c+/87531 lookup of operator= in templates
-// { dg-do run }
-
-struct Base {
- void operator= (Base const&);
-};
-
-void Base::operator= (Base const &)
-{
-}
-
-template <typename T>
-struct Derived : Base
-{
- T v;
-
- Derived() : v (0) {}
- Derived(T v_) : v (v_) {}
-
- T &assign1 (Derived const& rhs)
- {
- operator=(rhs); // erroneously bound to Base::operator=
- return v;
- }
-
- T &assign2 (Derived const& rhs)
- {
- this->operator=(rhs); // erroneously bound to Base::operator=
- return v;
- }
-};
-
-template <typename T>
-struct Single
-{
- T v;
-
- Single () : v (0) {}
- Single (T v_) : v (v_) {}
-
- T &assign1 (Single const& rhs)
- {
- operator=(rhs); // lookup failed
- return v;
- }
-
- T &assign2 (Single const& rhs)
- {
- this->operator=(rhs); // Marked as dependent, happened to work
- return v;
- }
-};
-
-int main()
-{
- Derived<int> a, b(123);
-
- if (a.assign1 (b) != 123)
- return 1;
-
- if (a.assign2 (b) != 123)
- return 2;
-
- Single<int> c, d(123);
-
- if (c.assign1 (d) != 123)
- return 3;
-
- if (c.assign2 (d) != 123)
- return 4;
-
- return 0;
-}
--- a/src/gcc/cp/class.c
+++ b/src/gcc/cp/class.c
@@ -7035,19 +7035,6 @@
else if (DECL_DECLARES_FUNCTION_P (x))
DECL_IN_AGGR_P (x) = false;
- /* Also add a USING_DECL for operator=. We know there'll be (at
- least) one, but we don't know the signature(s). We want name
- lookup not to fail or recurse into bases. This isn't added
- to the template decl list so we drop this at instantiation
- time. */
- tree ass_op = build_lang_decl (USING_DECL, assign_op_identifier,
- NULL_TREE);
- USING_DECL_SCOPE (ass_op) = t;
- DECL_DEPENDENT_P (ass_op) = true;
- DECL_ARTIFICIAL (ass_op) = true;
- DECL_CHAIN (ass_op) = TYPE_FIELDS (t);
- TYPE_FIELDS (t) = ass_op;
-
TYPE_SIZE (t) = bitsize_zero_node;
TYPE_SIZE_UNIT (t) = size_zero_node;
/* COMPLETE_TYPE_P is now true. */
# DP: updates from the 8 branch upto 20181206 (r266855).
# DP: updates from the 8 branch upto 20181209 (r266918).
last_update()
{
cat > ${dir}LAST_UPDATED <EOF
Thu Dec 6 16:03:43 CET 2018
Thu Dec 6 15:03:43 UTC 2018 (revision 266855)
Sun Dec 9 10:52:48 CET 2018
Sun Dec 9 09:52:48 UTC 2018 (revision 266918)
EOF
}
......@@ -6690,7 +6690,7 @@ Index: gcc/DATESTAMP
+++ b/src/gcc/DATESTAMP (.../branches/gcc-8-branch)
@@ -1 +1 @@
-20180726
+20181206
+20181209
Index: gcc/defaults.h
===================================================================
--- a/src/gcc/defaults.h (.../tags/gcc_8_2_0_release)
......@@ -9549,6 +9549,18 @@ Index: gcc/testsuite/gfortran.dg/allocate_with_mold_2.f90
+ END IF
+ END PROGRAM MFE
+! { dg-final { scan-tree-dump-times "it_objs->_vptr->_size" 1 "original" } }
Index: gcc/testsuite/gfortran.dg/pr88048.f90
===================================================================
--- a/src/gcc/testsuite/gfortran.dg/pr88048.f90 (.../tags/gcc_8_2_0_release)
+++ b/src/gcc/testsuite/gfortran.dg/pr88048.f90 (.../branches/gcc-8-branch)
@@ -0,0 +1,7 @@
+! { dg-do compile }
+! PR fortran/88048
+program p
+ integer, parameter :: a(2) = 1
+ data a(2) /a(1)/ ! { dg-error "definable entity" }
+ print *, a
+end
Index: gcc/testsuite/gfortran.dg/array_constructor_type_23.f90
===================================================================
--- a/src/gcc/testsuite/gfortran.dg/array_constructor_type_23.f90 (.../tags/gcc_8_2_0_release)
......@@ -9692,6 +9704,18 @@ Index: gcc/testsuite/gfortran.dg/vect/pr86421.f90
+ end do
+ if (j .ne. 64) stop 2
+end program pr86421
Index: gcc/testsuite/gfortran.dg/pr88025.f90
===================================================================
--- a/src/gcc/testsuite/gfortran.dg/pr88025.f90 (.../tags/gcc_8_2_0_release)
+++ b/src/gcc/testsuite/gfortran.dg/pr88025.f90 (.../branches/gcc-8-branch)
@@ -0,0 +1,7 @@
+! { dg-do compile }
+! PR fortran/88025
+program p
+ type t
+ character(('')) :: c = 'c' ! { dg-error "must be of INTEGER type" }
+ end type
+end
Index: gcc/testsuite/gfortran.dg/generic_34.f90
===================================================================
--- a/src/gcc/testsuite/gfortran.dg/generic_34.f90 (.../tags/gcc_8_2_0_release)
......@@ -11639,7 +11663,17 @@ Index: gcc/testsuite/ChangeLog
===================================================================
--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_8_2_0_release)
+++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-8-branch)
@@ -1,3 +1,735 @@
@@ -1,3 +1,745 @@
+2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/88048
+ * gfortran.dg/pr88048.f90: New test.
+
+2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/88025
+ * gfortran.dg/pr88025.f90: New test.
+
+2018-12-06 Iain Sandoe <iain@sandoe.co.uk>
+
+ Backport from mainline
......@@ -12375,7 +12409,7 @@ Index: gcc/testsuite/ChangeLog
2018-07-26 Release Manager
* GCC 8.2.0 released.
@@ -8,10 +740,10 @@
@@ -8,10 +750,10 @@
2018-07-16 Carl Love <cel@us.ibm.com>
PR target/86414
......@@ -12388,7 +12422,7 @@ Index: gcc/testsuite/ChangeLog
* gcc.target/powerpc/mulkc3-3.c: Ditto.
* gcc.target/powerpc/fold-vec-mergehl-double.c: Update counts.
* gcc.target/powerpc/pr85456.c: Make check Linux and AIX specific.
@@ -743,7 +1475,7 @@
@@ -743,7 +1485,7 @@
Backport from mainline
2018-05-11 Martin Liska <mliska@suse.cz>
......@@ -12397,7 +12431,7 @@ Index: gcc/testsuite/ChangeLog
* c-c++-common/ubsan/attrib-6.c: New test.
2018-05-22 Martin Sebor <msebor@redhat.com>
@@ -1443,11 +2175,11 @@
@@ -1443,11 +2185,11 @@
2018-04-13 Andreas Krebbel <krebbel@linux.ibm.com>
......@@ -12414,7 +12448,7 @@ Index: gcc/testsuite/ChangeLog
2018-04-13 Jan Hubicka <hubicka@ucw.cz>
@@ -2780,7 +3512,7 @@
@@ -2780,7 +3522,7 @@
* g++.dg/cpp2a/desig7.C: New test.
2018-03-16 Mark Doffman <mark.doffman@codethink.co.uk>
......@@ -12423,7 +12457,7 @@ Index: gcc/testsuite/ChangeLog
* gfortran.dg/automatic_1.f90: New test.
* gfortran.dg/automatic_repeat.f90: New test
@@ -4015,9 +4747,9 @@
@@ -4015,9 +4757,9 @@
2018-02-20 Jeff Law <law@redhat.com>
......@@ -12436,7 +12470,7 @@ Index: gcc/testsuite/ChangeLog
* gcc.dg/pr81592.c: New test.
* gcc.dg/pr82123.c: New test.
* gcc.dg/builtin-unreachable-6.c: Turn off VRP.
@@ -6741,7 +7473,7 @@
@@ -6741,7 +7483,7 @@
2018-02-14 Carl Love <cel@us.ibm.com>
......@@ -15982,7 +16016,19 @@ Index: gcc/fortran/ChangeLog
===================================================================
--- a/src/gcc/fortran/ChangeLog (.../tags/gcc_8_2_0_release)
+++ b/src/gcc/fortran/ChangeLog (.../branches/gcc-8-branch)
@@ -1,3 +1,163 @@
@@ -1,3 +1,175 @@
+2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/88048
+ * resolve.c (check_data_variable): Named constant cannot be a
+ data object.
+
+2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/88025
+ * expr.c (gfc_apply_init): Remove asserts that cannot trigger.
+ Check for a NULL pointer.
+
+2018-11-25 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ Backport from trunk
......@@ -16192,7 +16238,23 @@ Index: gcc/fortran/expr.c
if (!gfc_simplify_expr (ap->expr, type))
return false;
@@ -5360,16 +5374,13 @@
@@ -4273,12 +4287,10 @@
{
if (ts->type == BT_CHARACTER && !attr->pointer && init
&& ts->u.cl
- && ts->u.cl->length && ts->u.cl->length->expr_type == EXPR_CONSTANT)
+ && ts->u.cl->length
+ && ts->u.cl->length->expr_type == EXPR_CONSTANT
+ && ts->u.cl->length->ts.type == BT_INTEGER)
{
- gcc_assert (ts->u.cl && ts->u.cl->length);
- gcc_assert (ts->u.cl->length->expr_type == EXPR_CONSTANT);
- gcc_assert (ts->u.cl->length->ts.type == BT_INTEGER);
-
HOST_WIDE_INT len = gfc_mpz_get_hwi (ts->u.cl->length->value.integer);
if (init->expr_type == EXPR_CONSTANT)
@@ -5360,16 +5372,13 @@
return expr->value.function.esym->result->attr.contiguous;
else
{
......@@ -16395,6 +16457,26 @@ Index: gcc/fortran/resolve.c
{
gfc_error ("ELEMENTAL function %qs at %L must have a scalar "
"result", sym->name, &sym->declared_at);
@@ -15350,7 +15360,10 @@
e = e->value.function.actual->expr;
if (e->expr_type != EXPR_VARIABLE)
- gfc_internal_error ("check_data_variable(): Bad expression");
+ {
+ gfc_error ("Expecting definable entity near %L", where);
+ return false;
+ }
sym = e->symtree->n.sym;
@@ -15358,6 +15371,7 @@
{
gfc_error ("BLOCK DATA element %qs at %L must be in COMMON",
sym->name, &sym->declared_at);
+ return false;
}
if (e->ref == NULL && sym->as)
Index: gcc/fortran/trans-decl.c
===================================================================
--- a/src/gcc/fortran/trans-decl.c (.../tags/gcc_8_2_0_release)
......@@ -75,6 +75,7 @@ debian_patches += \
gcc-force-cross-layout \
kfreebsd-decimal-float \
powerpcspe_remove_many \
pr87531-revert \
# FIXME: see #915194
# gcc-search-prefixed-as-ld \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment