public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/102109] New: Associate to construct compound object results in incorrect type inferred
@ 2021-08-27 21:37 everythingfunctional at protonmail dot com
2023-06-01 8:13 ` [Bug fortran/102109] " pault at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: everythingfunctional at protonmail dot com @ 2021-08-27 21:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102109
Bug ID: 102109
Summary: Associate to construct compound object results in
incorrect type inferred
Product: gcc
Version: 11.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: everythingfunctional at protonmail dot com
Target Milestone: ---
Using version Ubuntu 11.1.0-1ubuntu1~21.04 on Pop!OS
Using nested associate constructs to construct a compound object of derived
type results in the compiler rejecting the code with what it thinks is a type
mismatch. Example code below
program main
type :: sub_obj_t
integer :: val
end type
type :: compound_obj_t
type(sub_obj_t) :: sub_obj
end type
associate(initial_sub_obj => sub_obj_t(42))
associate(obj => compound_obj_t(initial_sub_obj))
print *, obj%sub_obj%val
end associate
end associate
end program
app/main.f90:11:40:
11 | associate(obj => compound_obj_t(initial_sub_obj))
| 1
Error: Cannot convert INTEGER(4) to TYPE(sub_obj_t) at (1)
Note: for a fun twist, if you remove the print statement, this does compile and
run.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/102109] Associate to construct compound object results in incorrect type inferred
2021-08-27 21:37 [Bug fortran/102109] New: Associate to construct compound object results in incorrect type inferred everythingfunctional at protonmail dot com
@ 2023-06-01 8:13 ` pault at gcc dot gnu.org
2023-06-02 7:41 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu.org @ 2023-06-01 8:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102109
Paul Thomas <pault at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Assignee|unassigned at gcc dot gnu.org |pault at gcc dot gnu.org
Last reconfirmed| |2023-06-01
Status|UNCONFIRMED |NEW
--- Comment #1 from Paul Thomas <pault at gcc dot gnu.org> ---
I have a fix but, at present, it breaks several other associate tests.
Paul
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/102109] Associate to construct compound object results in incorrect type inferred
2021-08-27 21:37 [Bug fortran/102109] New: Associate to construct compound object results in incorrect type inferred everythingfunctional at protonmail dot com
2023-06-01 8:13 ` [Bug fortran/102109] " pault at gcc dot gnu.org
@ 2023-06-02 7:41 ` cvs-commit at gcc dot gnu.org
2023-06-02 8:39 ` pault at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-06-02 7:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102109
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Paul Thomas <pault@gcc.gnu.org>:
https://gcc.gnu.org/g:3c2eba4b7a2355ed5099e35332388206c484744d
commit r14-1487-g3c2eba4b7a2355ed5099e35332388206c484744d
Author: Paul Thomas <pault@gcc.gnu.org>
Date: Fri Jun 2 08:41:45 2023 +0100
Fortran: Fix some problems blocking associate meta-bug [PR87477]
2023-06-02 Paul Thomas <pault@gcc.gnu.org>
gcc/fortran
PR fortran/87477
* parse.cc (parse_associate): Replace the existing evaluation
of the target rank with calls to gfc_resolve_ref and
gfc_expression_rank. Identify untyped target function results
with structure constructors by finding the appropriate derived
type.
* resolve.cc (resolve_symbol): Allow associate variables to be
assumed shape.
gcc/testsuite/
PR fortran/87477
* gfortran.dg/associate_54.f90 : Cope with extra error.
PR fortran/102109
* gfortran.dg/pr102109.f90 : New test.
PR fortran/102112
* gfortran.dg/pr102112.f90 : New test.
PR fortran/102190
* gfortran.dg/pr102190.f90 : New test.
PR fortran/102532
* gfortran.dg/pr102532.f90 : New test.
PR fortran/109948
* gfortran.dg/pr109948.f90 : New test.
PR fortran/99326
* gfortran.dg/pr99326.f90 : New test.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/102109] Associate to construct compound object results in incorrect type inferred
2021-08-27 21:37 [Bug fortran/102109] New: Associate to construct compound object results in incorrect type inferred everythingfunctional at protonmail dot com
2023-06-01 8:13 ` [Bug fortran/102109] " pault at gcc dot gnu.org
2023-06-02 7:41 ` cvs-commit at gcc dot gnu.org
@ 2023-06-02 8:39 ` pault at gcc dot gnu.org
2023-06-02 8:41 ` pault at gcc dot gnu.org
2023-08-27 8:51 ` cvs-commit at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu.org @ 2023-06-02 8:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102109
Paul Thomas <pault at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #3 from Paul Thomas <pault at gcc dot gnu.org> ---
Hi Brad,
This is fixed on trunk (14-branch). I am going to close the PR for housekeeping
purposes but will be sure to include the patch in a cumulative backport.
Thanks for the report.
Paul
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/102109] Associate to construct compound object results in incorrect type inferred
2021-08-27 21:37 [Bug fortran/102109] New: Associate to construct compound object results in incorrect type inferred everythingfunctional at protonmail dot com
` (2 preceding siblings ...)
2023-06-02 8:39 ` pault at gcc dot gnu.org
@ 2023-06-02 8:41 ` pault at gcc dot gnu.org
2023-08-27 8:51 ` cvs-commit at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu.org @ 2023-06-02 8:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102109
--- Comment #4 from Paul Thomas <pault at gcc dot gnu.org> ---
Hi Brad,
This is fixed on trunk (14-branch). I am going to close the PR for housekeeping
purposes but will be sure to include the patch in a cumulative backport.
Thanks for the report.
Paul
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/102109] Associate to construct compound object results in incorrect type inferred
2021-08-27 21:37 [Bug fortran/102109] New: Associate to construct compound object results in incorrect type inferred everythingfunctional at protonmail dot com
` (3 preceding siblings ...)
2023-06-02 8:41 ` pault at gcc dot gnu.org
@ 2023-08-27 8:51 ` cvs-commit at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-08-27 8:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102109
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Paul Thomas <pault@gcc.gnu.org>:
https://gcc.gnu.org/g:d6997a5aab7aaa325946a6283bfee8ac2bd9f540
commit r13-7761-gd6997a5aab7aaa325946a6283bfee8ac2bd9f540
Author: Paul Thomas <pault@gcc.gnu.org>
Date: Sun Aug 27 09:51:32 2023 +0100
Fortran: Fix some problems blocking associate meta-bug [PR87477]
2023-08-27 Paul Thomas <pault@gcc.gnu.org>
gcc/fortran
PR fortran/87477
* parse.cc (parse_associate): Replace the existing evaluation
of the target rank with calls to gfc_resolve_ref and
gfc_expression_rank. Identify untyped target function results
with structure constructors by finding the appropriate derived
type.
* resolve.cc (resolve_symbol): Allow associate variables to be
assumed shape.
gcc/testsuite/
PR fortran/87477
* gfortran.dg/associate_54.f90 : Cope with extra error.
PR fortran/102109
* gfortran.dg/pr102109.f90 : New test.
PR fortran/102112
* gfortran.dg/pr102112.f90 : New test.
PR fortran/102190
* gfortran.dg/pr102190.f90 : New test.
PR fortran/102532
* gfortran.dg/pr102532.f90 : New test.
PR fortran/109948
* gfortran.dg/pr109948.f90 : New test.
PR fortran/99326
* gfortran.dg/pr99326.f90 : New test.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-08-27 8:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-27 21:37 [Bug fortran/102109] New: Associate to construct compound object results in incorrect type inferred everythingfunctional at protonmail dot com
2023-06-01 8:13 ` [Bug fortran/102109] " pault at gcc dot gnu.org
2023-06-02 7:41 ` cvs-commit at gcc dot gnu.org
2023-06-02 8:39 ` pault at gcc dot gnu.org
2023-06-02 8:41 ` pault at gcc dot gnu.org
2023-08-27 8:51 ` cvs-commit at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).