Re: [Patch, PR Fortran/90069] Polymorphic Return Type Memory Leak Without Intermediate Variable

2024-05-28 Thread Harald Anlauf
Hi Andre, On 5/28/24 14:10, Andre Vehreschild wrote: Hi all, the attached patch fixes a memory leak with unlimited polymorphic return types. The leak occurred, because an expression with side-effects was evaluated twice. I have substituted the check for non-variable expressions followed by

[gcc r14-10244] Fortran: fix bounds check for assignment, class component [PR86100]

2024-05-25 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:b0b21d5bdfbc7d417b70010a11354b44968bb184 commit r14-10244-gb0b21d5bdfbc7d417b70010a11354b44968bb184 Author: Harald Anlauf Date: Mon May 13 22:06:33 2024 +0200 Fortran: fix bounds check for assignment, class component [PR86100] gcc/fortran/ChangeLog

[gcc r15-828] Fortran: improve attribute conflict checking [PR93635]

2024-05-24 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:9561cf550a66a89e7c8d31202a03c4fddf82a3f2 commit r15-828-g9561cf550a66a89e7c8d31202a03c4fddf82a3f2 Author: Harald Anlauf Date: Thu May 23 21:13:00 2024 +0200 Fortran: improve attribute conflict checking [PR93635] gcc/fortran/ChangeLog: PR

[gcc r15-827] Fortran: fix bounds check for assignment, class component [PR86100]

2024-05-24 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:93765736815a049e14d985b758a213cfe60c1e1c commit r15-827-g93765736815a049e14d985b758a213cfe60c1e1c Author: Harald Anlauf Date: Mon May 13 22:06:33 2024 +0200 Fortran: fix bounds check for assignment, class component [PR86100] gcc/fortran/ChangeLog

Re: [PATCH, v2] Fortran: improve attribute conflict checking [PR93635]

2024-05-24 Thread Harald Anlauf
Hi Mikael, On 5/24/24 20:17, Mikael Morin wrote: Le 23/05/2024 à 21:15, Harald Anlauf a écrit : Hi Mikael, On 5/23/24 09:49, Mikael Morin wrote: Le 13/05/2024 à 09:25, Mikael Morin a écrit : Le 10/05/2024 à 21:56, Harald Anlauf a écrit : Am 10.05.24 um 21:48 schrieb Harald Anlauf: Hi

[PATCH, v2] Fortran: improve attribute conflict checking [PR93635]

2024-05-23 Thread Harald Anlauf
Hi Mikael, On 5/23/24 09:49, Mikael Morin wrote: Le 13/05/2024 à 09:25, Mikael Morin a écrit : Le 10/05/2024 à 21:56, Harald Anlauf a écrit : Am 10.05.24 um 21:48 schrieb Harald Anlauf: Hi Mikael, Am 10.05.24 um 11:45 schrieb Mikael Morin: Le 09/05/2024 à 22:30, Harald Anlauf a écrit

[gcc r13-8794] Fortran: fix issues with class(*) assignment [PR114827]

2024-05-22 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:f0b88ec4ae829798cb533618f781ca467bab6b9b commit r13-8794-gf0b88ec4ae829798cb533618f781ca467bab6b9b Author: Harald Anlauf Date: Mon Apr 29 19:52:52 2024 +0200 Fortran: fix issues with class(*) assignment [PR114827] gcc/fortran/ChangeLog: PR

[gcc r13-8793] Fortran: fix reallocation on assignment of polymorphic variables [PR110415]

2024-05-22 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:2ebf3af1f84d54fbda172eff105a8842c685d11d commit r13-8793-g2ebf3af1f84d54fbda172eff105a8842c685d11d Author: Andrew Jenner Date: Tue Nov 28 15:27:05 2023 + Fortran: fix reallocation on assignment of polymorphic variables [PR110415] This patch fixes two

[gcc r13-8786] Fortran: fix dependency checks for inquiry refs [PR115039]

2024-05-21 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:5ed32d00a7b408baa48d85e841740e73c8504d7a commit r13-8786-g5ed32d00a7b408baa48d85e841740e73c8504d7a Author: Harald Anlauf Date: Fri May 10 21:18:03 2024 +0200 Fortran: fix dependency checks for inquiry refs [PR115039] gcc/fortran/ChangeLog

[gcc r14-10225] Fortran: fix dependency checks for inquiry refs [PR115039]

2024-05-21 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:edde60a53c7d4ee5a58c9835c8e1e1758ba636f7 commit r14-10225-gedde60a53c7d4ee5a58c9835c8e1e1758ba636f7 Author: Harald Anlauf Date: Fri May 10 21:18:03 2024 +0200 Fortran: fix dependency checks for inquiry refs [PR115039] gcc/fortran/ChangeLog

Re: [Patch, fortran] PR103312 - [11/12/13/14/15 Regression] ICE in gfc_find_component since r9-1098-g3cf89a7b992d483e

2024-05-21 Thread Harald Anlauf
Hi Paul, Am 20.05.24 um 11:06 schrieb Paul Richard Thomas: Hi All, I don't think that this PR is really a regression although the fact that it is marked as such brought it to my attention :-) The fix turned out to be remarkably simple. It was found after going down a silly number of rabbit

[PING] [PATCH] Fortran: fix bounds check for assignment, class component [PR86100]

2024-05-21 Thread Harald Anlauf
Am 13.05.24 um 22:27 schrieb Harald Anlauf: Dear all, the attached patch does two things: - it fixes a bogus array bounds check when deep-copying a class component of a derived type and the class component has rank > 1, the reason being that the previous code compared the full s

Re: [Patch, fortran] PR114874 - [14/15 Regression] ICE with select type, type is (character(*)), and substring

2024-05-16 Thread Harald Anlauf
Hi Paul! Am 15.05.24 um 19:07 schrieb Paul Richard Thomas: Hi All, I have been around several circuits with a patch for this regression. I posted one in Bugzilla but rejected it because it was not direct enough. This one, however, is more to my liking and fixes another bug lurking in the

[PATCH] Fortran: fix bounds check for assignment, class component [PR86100]

2024-05-13 Thread Harald Anlauf
ter a decent delay. Thanks, Harald From e187285dfd83da2f69cfd50854c701744dc8acc5 Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Mon, 13 May 2024 22:06:33 +0200 Subject: [PATCH] Fortran: fix bounds check for assignment, class component [PR86100] gcc/fortran/ChangeLog: PR fortran/86100 * tr

Re: [Patch, fortran] PR113363 - ICE on ASSOCIATE and unlimited polymorphic function

2024-05-12 Thread Harald Anlauf
Hi Paul, this looks all good now, and is OK for mainline as well as backporting! *** While playing with the testcase, I found 3 remaining smaller issues that are pre-existing, so they should not delay your present work. To make it clear: these are not regressions. When "maliciously"

[PATCH, committed] Fortran: fix frontend memleak

2024-05-12 Thread Harald Anlauf
13b6ac4ebd04f0703d92828c9268b0b216890b0d Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Sun, 12 May 2024 21:48:03 +0200 Subject: [PATCH] Fortran: fix frontend memleak gcc/fortran/ChangeLog: * primary.cc (gfc_match_varspec): Replace 'ref' argument to is_inquiry_ref() by NULL when the result is not needed to avoid

[gcc r15-391] Fortran: fix frontend memleak

2024-05-12 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:13b6ac4ebd04f0703d92828c9268b0b216890b0d commit r15-391-g13b6ac4ebd04f0703d92828c9268b0b216890b0d Author: Harald Anlauf Date: Sun May 12 21:48:03 2024 +0200 Fortran: fix frontend memleak gcc/fortran/ChangeLog: * primary.cc (gfc_match_varspec

Re: [Patch, fortran] PR84006 [11/12/13/14/15 Regression] ICE in storage_size() with CLASS entity

2024-05-11 Thread Harald Anlauf
f trans-array.cc(gfc_alloc_allocatable_for_assignment) or in the array part of intrinsic_transfer, untouched by either patch, and is present in 13- and 14-branches. I am onto it. Cheers Paul On Wed, 8 May 2024 at 22:06, Harald Anlauf wrote: Hi Paul, this looks mostly good, but

[gcc r15-385] Fortran: fix dependency checks for inquiry refs [PR115039]

2024-05-11 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:d4974fd22730014e337fd7ec2471945ba8afb00e commit r15-385-gd4974fd22730014e337fd7ec2471945ba8afb00e Author: Harald Anlauf Date: Fri May 10 21:18:03 2024 +0200 Fortran: fix dependency checks for inquiry refs [PR115039] gcc/fortran/ChangeLog: PR

Re: [PATCH] Fortran: improve attribute conflict checking [PR93635]

2024-05-10 Thread Harald Anlauf
Am 10.05.24 um 21:48 schrieb Harald Anlauf: Hi Mikael, Am 10.05.24 um 11:45 schrieb Mikael Morin: Le 09/05/2024 à 22:30, Harald Anlauf a écrit : I'll stop here... Thanks. Go figure, I have no problem reproducing today. It's PR99798 (and there is even a patch for it). this patch has rotten

Re: [PATCH] Fortran: improve attribute conflict checking [PR93635]

2024-05-10 Thread Harald Anlauf
Hi Mikael, Am 10.05.24 um 11:45 schrieb Mikael Morin: Le 09/05/2024 à 22:30, Harald Anlauf a écrit : I'll stop here... Thanks. Go figure, I have no problem reproducing today. It's PR99798 (and there is even a patch for it). this patch has rotten a bit: the type of gfc_reluease_symbol has

[PATCH] Fortran: fix dependency checks for inquiry refs [PR115039]

2024-05-10 Thread Harald Anlauf
... Will also backport to 14-branch after a decent delay. Thanks, Harald From 8bb31eb3d7f8ea6d21066380c36abf53f7b64156 Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Fri, 10 May 2024 21:18:03 +0200 Subject: [PATCH] Fortran: fix dependency checks for inquiry refs [PR115039] gcc/fortran/ChangeLog: PR

Re: [PATCH] Fortran: improve attribute conflict checking [PR93635]

2024-05-09 Thread Harald Anlauf
Hi Mikael, Am 09.05.24 um 21:51 schrieb Mikael Morin: Hello, Le 06/05/2024 à 21:33, Harald Anlauf a écrit : Dear all, I've been contemplating whether to submit the attached patch. It addresses an ICE-on-invalid as reported in the PR, and also fixes an accepts-invalid (see testcase), plus

[gcc r14-10191] Fortran: fix issues with class(*) assignment [PR114827]

2024-05-09 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:a5046235509caa10a4dc309ca0a8e67892b27750 commit r14-10191-ga5046235509caa10a4dc309ca0a8e67892b27750 Author: Harald Anlauf Date: Mon Apr 29 19:52:52 2024 +0200 Fortran: fix issues with class(*) assignment [PR114827] gcc/fortran/ChangeLog: PR

Re: [Patch, fortran] PR84006 [11/12/13/14/15 Regression] ICE in storage_size() with CLASS entity

2024-05-09 Thread Harald Anlauf
anches. I am onto it. Cheers Paul On Wed, 8 May 2024 at 22:06, Harald Anlauf wrote: Hi Paul, this looks mostly good, but the new testcase transfer_class_4.f90 does exhibit a problem with your patch. Run it with valgrind, or with -fcheck=bounds, or with -fsanitize=address, or add the follow

Re: [Patch, fortran] PR84006 [11/12/13/14/15 Regression] ICE in storage_size() with CLASS entity

2024-05-08 Thread Harald Anlauf
Hi Paul, this looks mostly good, but the new testcase transfer_class_4.f90 does exhibit a problem with your patch. Run it with valgrind, or with -fcheck=bounds, or with -fsanitize=address, or add the following around the final transfer: print *, storage_size (star_a), storage_size (chr_a),

[PATCH] Fortran: improve attribute conflict checking [PR93635]

2024-05-06 Thread Harald Anlauf
rom c55cb36a6ad00996b5efb33c0c5357fc5fa9919c Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Mon, 6 May 2024 20:57:29 +0200 Subject: [PATCH] Fortran: improve attribute conflict checking [PR93635] gcc/fortran/ChangeLog: PR fortran/93635 * symbol.cc (gfc_check_conflict): Move some attribute conflict checks that dep

Re: [PATCH] Fortran: fix issues with class(*) assignment [PR114827]

2024-05-05 Thread Harald Anlauf
21e7aa5f3ea44ca2fef8deb8788edffc04901b5c Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Mon, 29 Apr 2024 19:52:52 +0200 Subject: [PATCH] Fortran: fix issues with class(*) assignment [PR114827] gcc/fortran/ChangeLog: PR fortran/114827 * trans-array.cc (gfc_alloc_allocatable_for_assignment): Take

[gcc r15-168] Fortran: fix issues with class(*) assignment [PR114827]

2024-05-05 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:21e7aa5f3ea44ca2fef8deb8788edffc04901b5c commit r15-168-g21e7aa5f3ea44ca2fef8deb8788edffc04901b5c Author: Harald Anlauf Date: Mon Apr 29 19:52:52 2024 +0200 Fortran: fix issues with class(*) assignment [PR114827] gcc/fortran/ChangeLog: PR

Re: [PATCH] Fortran: fix issues with class(*) assignment [PR114827]

2024-04-30 Thread Harald Anlauf
;-) What do you think? Thanks, Harald Thanks Paul PS The fall-out pr114874 is so peculiar that I am dropping everything to find the source. On Mon, 29 Apr 2024 at 19:39, Harald Anlauf wrote: Dear all, the attached patch fixes issues with assignments of unlimited polymorphic

[PATCH] Fortran: fix issues with class(*) assignment [PR114827]

2024-04-29 Thread Harald Anlauf
to backport this to active branches where appropriate, starting with 14 after it reopens after release. Is this OK? Thanks, Harald From 3b73471b570898e5a5085422da48d5bf118edff1 Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Mon, 29 Apr 2024 19:52:52 +0200 Subject: [PATCH] Fortran: fix issues

[gcc r12-10398] Fortran: Fix assumed length chars and len inquiry [PR103716]

2024-04-26 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:b482968801158116dd8ba3b15a4c29143b2a423a commit r12-10398-gb482968801158116dd8ba3b15a4c29143b2a423a Author: Paul Thomas Date: Tue May 23 06:46:37 2023 +0100 Fortran: Fix assumed length chars and len inquiry [PR103716] 2023-05-23 Paul Thomas

[gcc r12-10396] gfortran: Allow ref'ing PDT's len() in parameter-initializer.

2024-04-26 Thread Harald Anlauf via Gcc-cvs
len_expr->ref = NULL; + gfc_find_component (len_expr->symtree->n.sym->ts.u.derived, e->ref + ->u.c.component->ts.u.cl->length->symtree + ->name, + fals

[gcc r13-8651] gfortran: Allow ref'ing PDT's len() in parameter-initializer.

2024-04-26 Thread Harald Anlauf via Gcc-cvs
len_expr->ref = NULL; + gfc_find_component (len_expr->symtree->n.sym->ts.u.derived, e->ref + ->u.c.component->ts.u.cl->length->symtree + ->name, + fals

Re: [Patch, fortran] PR93678 - [11/12/13/14 Regression] ICE with TRANSFER and typebound procedures

2024-04-24 Thread Harald Anlauf
Hi Paul, On 4/24/24 18:26, Paul Richard Thomas wrote: Hi there, This regression turned out to be low hanging fruit, although it has taken four years to reach it :-( The ChangeLog says it all. OK for mainline and backporting after a suitable delay? yes to both. Thanks for "picking" this

[gcc r14-10097] Fortran: check C_SIZEOF on additions from TS29113/F2018 [PR103496]

2024-04-23 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:0bf94da59feab2c72a02c91df310a36d33dfd1f7 commit r14-10097-g0bf94da59feab2c72a02c91df310a36d33dfd1f7 Author: Harald Anlauf Date: Tue Apr 23 20:21:43 2024 +0200 Fortran: check C_SIZEOF on additions from TS29113/F2018 [PR103496] gcc/testsuite/ChangeLog

Re: [Patch, fortran] PR103471 - [11/12/13/14 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1114

2024-04-20 Thread Harald Anlauf
Hi Paul! On 4/20/24 09:54, Paul Richard Thomas wrote: subroutine sub implicit none real, external :: x real :: y(10) integer :: kk print *, [real(x(k))] ! print *, [real(y(k))] end This is another problem, somewhere upstream from resolve.cc, which I have just

Re: [Patch, fortran] PR103471 - [11/12/13/14 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1114

2024-04-19 Thread Harald Anlauf
Hi Paul, the patch is OK, but I had to manually fix it. I wonder how you managed to produce: diff --git a/gcc/testsuite/gfortran.dg/pr93484.f90 b/gcc/testsuite/gfortran.dg/pr93484.f90 new file mode 100644 index 000..4dcad47e8da --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr103471.f90

[gcc r14-9996] Fortran: ALLOCATE of fixed-length CHARACTER with SOURCE/MOLD [PR113793]

2024-04-16 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:48024a99e3c2ae522d0026eedd591390506b68ca commit r14-9996-g48024a99e3c2ae522d0026eedd591390506b68ca Author: Harald Anlauf Date: Sat Apr 13 19:09:24 2024 +0200 Fortran: ALLOCATE of fixed-length CHARACTER with SOURCE/MOLD [PR113793] F2008 requires for ALLOCATE

[PATCH] Fortran: ALLOCATE of fixed-length CHARACTER with SOURCE/MOLD [PR113793]

2024-04-13 Thread Harald Anlauf
b9ece695a178319e35cd9f36cc731855302dd57f Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Sat, 13 Apr 2024 19:09:24 +0200 Subject: [PATCH] Fortran: ALLOCATE of fixed-length CHARACTER with SOURCE/MOLD [PR113793] F2008 requires for ALLOCATE with SOURCE= or MOLD= specifier that the kind type parameters of allocate-object and source

Re: [Patch, fortran] PR113363 - ICE on ASSOCIATE and unlimited polymorphic function

2024-04-10 Thread Harald Anlauf
Hi Paul! On 4/10/24 10:25, Paul Richard Thomas wrote: Hi All, This patch corrects incorrect results from assignment of unlimited polymorphic function results both in assignment statements and allocation with source. The first chunk in trans-array.cc ensures that the array dtype is set to the

[gcc r14-9893] Fortran: fix argument checking of intrinsics C_SIZEOF, C_F_POINTER [PR106500]

2024-04-10 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:ded646c91d2c0fb908faf6fa8fe1df0d7df49d16 commit r14-9893-gded646c91d2c0fb908faf6fa8fe1df0d7df49d16 Author: Harald Anlauf Date: Tue Apr 9 23:07:59 2024 +0200 Fortran: fix argument checking of intrinsics C_SIZEOF, C_F_POINTER [PR106500] The interpretation

[PATCH, v2] Fortran: fix argument checking of intrinsics C_SIZEOF, C_F_POINTER [PR106500]

2024-04-09 Thread Harald Anlauf
testcase. Otherwise, OK. FX Thanks for the review! If there are no further comments, I will commit tomorrow. Thanks, Harald From 5983a07f11c88d920241141732fa742735cdb8ea Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Tue, 9 Apr 2024 23:07:59 +0200 Subject: [PATCH] Fortran: fix argument

[PATCH] Fortran: fix argument checking of intrinsics C_SIZEOF, C_F_POINTER [PR106500]

2024-04-08 Thread Harald Anlauf
a check preventing an ICE-on-invalid when a function returning a pointer was passed. Regtested on x86_64-pc-linux-gnu. OK for mainline? Thanks, Harald From 6f412a6399a7e125db835584d3d2489a52150c27 Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Mon, 8 Apr 2024 21:43:24 +0200 Subject: [PATCH

[gcc r11-11311] Fortran: fix DATA and derived types with pointer components [PR114474]

2024-04-07 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:619fc13043c86d616ef57cb31f8ac5d29b059ade commit r11-11311-g619fc13043c86d616ef57cb31f8ac5d29b059ade Author: Harald Anlauf Date: Wed Mar 27 21:18:04 2024 +0100 Fortran: fix DATA and derived types with pointer components [PR114474] When matching actual

[gcc r12-10314] Fortran: fix DATA and derived types with pointer components [PR114474]

2024-04-07 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:88abe04de2f16f773126f3908632a27568330cc9 commit r12-10314-g88abe04de2f16f773126f3908632a27568330cc9 Author: Harald Anlauf Date: Wed Mar 27 21:18:04 2024 +0100 Fortran: fix DATA and derived types with pointer components [PR114474] When matching actual

[gcc r13-8592] Fortran: fix DATA and derived types with pointer components [PR114474]

2024-04-07 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:0d4862691d2b58f7bd2d58de0e78bc574c313d39 commit r13-8592-g0d4862691d2b58f7bd2d58de0e78bc574c313d39 Author: Harald Anlauf Date: Wed Mar 27 21:18:04 2024 +0100 Fortran: fix DATA and derived types with pointer components [PR114474] When matching actual

[gcc r11-11310] fortran: Fix setting of array lower bound for named arrays

2024-04-06 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:b755a7af1f2ef1f5348d04db20f751e898abcd9d commit r11-11310-gb755a7af1f2ef1f5348d04db20f751e898abcd9d Author: Chung-Lin Tang Date: Fri Dec 3 17:27:17 2021 +0800 fortran: Fix setting of array lower bound for named arrays This patch fixes a case of setting array

[gcc r13-8559] Fortran: error recovery while simplifying expressions [PR103707, PR106987]

2024-04-02 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:2808797fc4da7cc455803e2b69368b52db857b4c commit r13-8559-g2808797fc4da7cc455803e2b69368b52db857b4c Author: Harald Anlauf Date: Tue Mar 5 21:54:26 2024 +0100 Fortran: error recovery while simplifying expressions [PR103707,PR106987] When an exception

[gcc r13-8558] Fortran: error recovery on arithmetic overflow on unary operations [PR113799]

2024-04-02 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:ec8303dea72ed4f9ae9fdf3c996a0deef6809351 commit r13-8558-gec8303dea72ed4f9ae9fdf3c996a0deef6809351 Author: Harald Anlauf Date: Thu Feb 8 21:51:38 2024 +0100 Fortran: error recovery on arithmetic overflow on unary operations [PR113799] PR fortran

[gcc r13-8557] Fortran: set shape of initializers of zero-sized arrays [PR95374, PR104352]

2024-04-02 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:0dd82c0fba660775ff76ae27077a67f2f1358920 commit r13-8557-g0dd82c0fba660775ff76ae27077a67f2f1358920 Author: Harald Anlauf Date: Wed May 17 20:39:18 2023 +0200 Fortran: set shape of initializers of zero-sized arrays [PR95374,PR104352] gcc/fortran/ChangeLog

Re: [Patch, fortran] PR106999 [11/12/13/14 Regression] ICE tree check: expected record_type or union_type or qual_union_type, have function_type in gfc_class_data_get, at fortran/trans-expr.cc:233

2024-04-01 Thread Harald Anlauf
Hi Paul, On 3/31/24 15:01, Paul Richard Thomas wrote: This regression has a relatively simple fix. The passing of a subroutine procedure pointer component to a dummy variable was being missed completely. The error has been added. Conversely, an error was generated for a procedure pointer

Re: [Patch, fortran] PR112407 - [13/14 Regression] Fix for PR37336 triggers an ICE in gfc_format_decoder while constructing a vtab

2024-04-01 Thread Harald Anlauf
Hi Paul! Am 31.03.24 um 14:08 schrieb Paul Richard Thomas: Hi Harald, I had only a quick glance at your patch. I guess you unintentionally forgot to remove those parts that you already committed for PR110987, along with the finalize-testcases. Guilty as charged. I guess I got out of the

Re: [Patch, fortran] PR112407 - [13/14 Regression] Fix for PR37336 triggers an ICE in gfc_format_decoder while constructing a vtab

2024-03-30 Thread Harald Anlauf
Hi Paul, I had only a quick glance at your patch. I guess you unintentionally forgot to remove those parts that you already committed for PR110987, along with the finalize-testcases. I am still trying to find the precise paragraph in the standard you refer to regarding INTENT(OUT) and default

[gcc r11-11299] Fortran: fix NULL pointer dereference on overlapping initialization [PR50410]

2024-03-29 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:1611acc1f72cad30c7ecccb5c85246836c1d0299 commit r11-11299-g1611acc1f72cad30c7ecccb5c85246836c1d0299 Author: Harald Anlauf Date: Thu Mar 28 22:34:40 2024 +0100 Fortran: fix NULL pointer dereference on overlapping initialization [PR50410] gcc/fortran

[gcc r12-10299] Fortran: fix NULL pointer dereference on overlapping initialization [PR50410]

2024-03-29 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:cb72fbd49e1f0c1cbdf8a9e97860063b19b1f95e commit r12-10299-gcb72fbd49e1f0c1cbdf8a9e97860063b19b1f95e Author: Harald Anlauf Date: Thu Mar 28 22:34:40 2024 +0100 Fortran: fix NULL pointer dereference on overlapping initialization [PR50410] gcc/fortran

[gcc r13-8506] Fortran: fix passing of optional dummies to bind(c) procedures [PR113866]

2024-03-29 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:5f9144021615f24d038890dab7db2a0b9e84f6d3 commit r13-8506-g5f9144021615f24d038890dab7db2a0b9e84f6d3 Author: Harald Anlauf Date: Tue Feb 13 20:19:10 2024 +0100 Fortran: fix passing of optional dummies to bind(c) procedures [PR113866] PR fortran/113866

[gcc r13-8505] Fortran: fix NULL pointer dereference on overlapping initialization [PR50410]

2024-03-29 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:250990298fb792635d9895e7642ccedbc2dd39d4 commit r13-8505-g250990298fb792635d9895e7642ccedbc2dd39d4 Author: Harald Anlauf Date: Thu Mar 28 22:34:40 2024 +0100 Fortran: fix NULL pointer dereference on overlapping initialization [PR50410] gcc/fortran/ChangeLog

[gcc r14-9720] Fortran: fix NULL pointer dereference on overlapping initialization [PR50410]

2024-03-29 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:6fb253a25dff13253d63553f02e0fe72c5e3ab4e commit r14-9720-g6fb253a25dff13253d63553f02e0fe72c5e3ab4e Author: Harald Anlauf Date: Thu Mar 28 22:34:40 2024 +0100 Fortran: fix NULL pointer dereference on overlapping initialization [PR50410] gcc/fortran/ChangeLog

Re: [Patch, fortran] PR110987 and PR113885 - gimplifier ICEs and wrong results in finalization

2024-03-28 Thread Harald Anlauf
Hi Paul, Am 28.03.24 um 16:39 schrieb Paul Richard Thomas: Hi All, The attached patch has two elements: (i) A fix for gimplifier ICEs with derived type having no components. The reporter himself suggested (thanks Kirill!): - if (derived && derived->attr.zero_comp) + if (derived &&

[PATCH] Fortran: fix NULL pointer dereference on overlapping initialization [PR50410]

2024-03-28 Thread Harald Anlauf
is beyond the current stage. Regtested on x86_64-pc-linux-gnu. I intend to commit soon unless there are objections. Thanks, Harald From b3970a30679959eed159dffa816899e4430e9da5 Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Thu, 28 Mar 2024 22:34:40 +0100 Subject: [PATCH] Fortran: fix NULL

[gcc r14-9712] Fortran: fix DATA and derived types with pointer components [PR114474]

2024-03-28 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:bbb7c513dddc5c9b2d5e9b78bc1c2f85a0cfe07e commit r14-9712-gbbb7c513dddc5c9b2d5e9b78bc1c2f85a0cfe07e Author: Harald Anlauf Date: Wed Mar 27 21:18:04 2024 +0100 Fortran: fix DATA and derived types with pointer components [PR114474] When matching actual

[PATCH] Fortran: fix DATA and derived types with pointer components [PR114474]

2024-03-27 Thread Harald Anlauf
like to backport. Thanks, Harald P.S.: while trying to extend coverage of conforming code, I had much fun also with other compilers (e.g. NAG panicking...) From d5fda38243a22e1aef4367653d92521e53f2000d Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Wed, 27 Mar 2024 21:18:04 +0100 Subject

Re: [patch, libgfortran] PR107031 - endfile truncates file at wrong position

2024-03-26 Thread Harald Anlauf
Hi Jerry, Am 26.03.24 um 04:18 schrieb Jerry D: Hi all, There has been a bit of discussio on which way to go on this. I took a look today and this trivial patch gives the behavior concluded on Fortran Discourse. See the bugzilla for all the relevant information. Regresion tested on x86-64.

[gcc r13-8492] Fortran: fix for absent array argument passed to optional dummy [PR101135]

2024-03-23 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:344b60addb79278c95b7a5712aaf38721a27 commit r13-8492-g344b60addb79278c95b7a5712aaf38721a27 Author: Harald Anlauf Date: Fri Mar 15 20:14:07 2024 +0100 Fortran: fix for absent array argument passed to optional dummy [PR101135] gcc/fortran/ChangeLog

[gcc r13-8491] Fortran: no size check passing NULL() without MOLD argument [PR55978]

2024-03-23 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:57062bc355aece623c6a38c5e813ed24f8b775f1 commit r13-8491-g57062bc355aece623c6a38c5e813ed24f8b775f1 Author: Harald Anlauf Date: Fri Mar 22 18:17:15 2024 +0100 Fortran: no size check passing NULL() without MOLD argument [PR55978] gcc/fortran/ChangeLog

[gcc r13-8490] Fortran: fix FE memleak

2024-03-23 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:c65c4c6af5b5321f1a517dd045ab1344e849135a commit r13-8490-gc65c4c6af5b5321f1a517dd045ab1344e849135a Author: Harald Anlauf Date: Wed Jan 3 20:21:00 2024 +0100 Fortran: fix FE memleak gcc/fortran/ChangeLog: * trans-types.cc

[gcc r14-9631] Fortran: no size check passing NULL() without MOLD argument [PR55978]

2024-03-22 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:c083a453dbe51853e26e02edd8b9346fb8618292 commit r14-9631-gc083a453dbe51853e26e02edd8b9346fb8618292 Author: Harald Anlauf Date: Fri Mar 22 18:17:15 2024 +0100 Fortran: no size check passing NULL() without MOLD argument [PR55978] gcc/fortran/ChangeLog

[PATCH] Fortran: no size check passing NULL() without MOLD argument [PR55978]

2024-03-22 Thread Harald Anlauf
. Regtested on x86_64-pc-linux-gnu. I intend to commit soon unless there are objections. Thanks, Harald From e92244c5539a537cff338b781d15acd58d4c86f1 Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Fri, 22 Mar 2024 18:17:15 +0100 Subject: [PATCH] Fortran: no size check passing NULL() without MOLD

Re: [PATCH] fortran: Ignore use statements on error [PR107426]

2024-03-21 Thread Harald Anlauf
Hi Mikael, this looks all good to me. I wouldn't mind the minor side-effects of better error recovery, as you are (successfully) trying hard to keep the namespaces sane. So OK for mainline. Thanks for the patch! Harald On 3/21/24 17:27, Mikael Morin wrote: Hello, here is a fix for an ICE

[gcc r14-9597] Fortran: improve array component description in runtime error message [PR30802]

2024-03-21 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:509352069d6f166d396f4b4a86e71ea521f2ca78 commit r14-9597-g509352069d6f166d396f4b4a86e71ea521f2ca78 Author: Harald Anlauf Date: Wed Mar 20 20:59:24 2024 +0100 Fortran: improve array component description in runtime error message [PR30802] Runtime error

[gcc r11-11287] Fortran: error recovery in frontend optimization [PR103715]

2024-03-20 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:7294f1a7aa457fe24d11270f06fd15c2b3ffd4ab commit r11-11287-g7294f1a7aa457fe24d11270f06fd15c2b3ffd4ab Author: Harald Anlauf Date: Mon Mar 18 19:36:59 2024 +0100 Fortran: error recovery in frontend optimization [PR103715] gcc/fortran/ChangeLog

[gcc r12-10286] Fortran: error recovery in frontend optimization [PR103715]

2024-03-20 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:811145b10ff30608bb5ea459ea277219ada4f13d commit r12-10286-g811145b10ff30608bb5ea459ea277219ada4f13d Author: Harald Anlauf Date: Mon Mar 18 19:36:59 2024 +0100 Fortran: error recovery in frontend optimization [PR103715] gcc/fortran/ChangeLog

[PATCH, v3] Fortran: improve array component description in runtime error message [PR30802]

2024-03-20 Thread Harald Anlauf
Hi Mikael, all, here's now the third version of the patch that implements the following scheme: On 3/15/24 20:29, Mikael Morin wrote: Le 15/03/2024 à 18:26, Harald Anlauf a écrit : OK, that sounds interesting.  To clarify the options: - for ordinary array x it would stay 'x' - when z

[gcc r13-8468] Fortran: fix IS_CONTIGUOUS for polymorphic dummy arguments [PR114001]

2024-03-19 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:5b928badac560ad48e0e9fc480096ff396d9d9c6 commit r13-8468-g5b928badac560ad48e0e9fc480096ff396d9d9c6 Author: Harald Anlauf Date: Tue Mar 12 22:58:39 2024 +0100 Fortran: fix IS_CONTIGUOUS for polymorphic dummy arguments [PR114001] gcc/fortran/ChangeLog

[gcc r13-8467] Fortran: error recovery in frontend optimization [PR103715]

2024-03-19 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:9623e5dd70b0d8334ebe093459721d0d447ce4f2 commit r13-8467-g9623e5dd70b0d8334ebe093459721d0d447ce4f2 Author: Harald Anlauf Date: Mon Mar 18 19:36:59 2024 +0100 Fortran: error recovery in frontend optimization [PR103715] gcc/fortran/ChangeLog

[PATCH, committed] Fortran: error recovery in frontend optimization [PR103715]

2024-03-18 Thread Harald Anlauf
port to open branches. Thanks, Harald From 3be2b8f475f22c531d6cef1b041c0573b3ea5133 Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Mon, 18 Mar 2024 19:36:59 +0100 Subject: [PATCH] Fortran: error recovery in frontend optimization [PR103715] gcc/fortran/ChangeLog: PR fortran/103715 * fron

[gcc r14-9522] Fortran: error recovery in frontend optimization [PR103715]

2024-03-18 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:3be2b8f475f22c531d6cef1b041c0573b3ea5133 commit r14-9522-g3be2b8f475f22c531d6cef1b041c0573b3ea5133 Author: Harald Anlauf Date: Mon Mar 18 19:36:59 2024 +0100 Fortran: error recovery in frontend optimization [PR103715] gcc/fortran/ChangeLog

Re: [PATCH, v2] Fortran: fix for absent array argument passed to optional dummy [PR101135]

2024-03-17 Thread Harald Anlauf
Hi Mikael, On 3/17/24 22:04, Mikael Morin wrote: diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc index 3673fa40720..a7717a8107e 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -7526,6 +7526,17 @@ gfc_get_dataptr_offset (stmtblock_t *block, tree

[gcc r14-9509] Fortran: fix for absent array argument passed to optional dummy [PR101135]

2024-03-17 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:3f3f0b7ee8022776d69ecaed1375e1559716f226 commit r14-9509-g3f3f0b7ee8022776d69ecaed1375e1559716f226 Author: Harald Anlauf Date: Fri Mar 15 20:14:07 2024 +0100 Fortran: fix for absent array argument passed to optional dummy [PR101135] gcc/fortran/ChangeLog

Re: [PATCH v2 2/2] fortran: Fix specification expression error with dummy procedures [PR111781]

2024-03-17 Thread Harald Anlauf
Hi Mikael, thanks for the patch! Regarding the first part of the patch, I think that fixing bad testcases can be done at any time. Retaining identified, broken testcases means that one may hit bogus regressions, hindering progress. The second part of the patch looks at first glance fine to

[gcc r13-8443] Fortran: improve checks of NULL without MOLD as actual argument [PR104819]

2024-03-15 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:90442fb421823153c4f762a2d26a0d700af2e6c3 commit r13-8443-g90442fb421823153c4f762a2d26a0d700af2e6c3 Author: Harald Anlauf Date: Fri Mar 1 19:21:27 2024 +0100 Fortran: improve checks of NULL without MOLD as actual argument [PR104819] gcc/fortran/ChangeLog

[gcc r13-8445] Fortran: handle procedure pointer component in DT array [PR110826]

2024-03-15 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:4e9f475cdc8617f94c903656faaf28910c21c29b commit r13-8445-g4e9f475cdc8617f94c903656faaf28910c21c29b Author: Harald Anlauf Date: Mon Mar 11 22:05:51 2024 +0100 Fortran: handle procedure pointer component in DT array [PR110826] gcc/fortran/ChangeLog

[gcc r13-8444] Fortran: allow RESTRICT qualifier also for optional arguments [PR100988]

2024-03-15 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:337dc58139595bd9ab4101b988078c5d54d8506a commit r13-8444-g337dc58139595bd9ab4101b988078c5d54d8506a Author: Harald Anlauf Date: Mon Dec 4 22:44:53 2023 +0100 Fortran: allow RESTRICT qualifier also for optional arguments [PR100988] gcc/fortran/ChangeLog

[gcc r13-8442] testsuite: fortran: fix invalid testcases (missing MOLD argument to NULL)

2024-03-15 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:ba4b4b3864d426835ea10e900a4e1dd466d06e51 commit r13-8442-gba4b4b3864d426835ea10e900a4e1dd466d06e51 Author: Harald Anlauf Date: Wed Nov 22 21:45:46 2023 +0100 testsuite: fortran: fix invalid testcases (missing MOLD argument to NULL) The Fortran standard

[PATCH, v2] Fortran: fix for absent array argument passed to optional dummy [PR101135]

2024-03-15 Thread Harald Anlauf
to an assumed-rank dummy, see PR114355. The corresponding test is commented in the testcase. Regtested on x86_64-pc-linux-gnu. OK for mainline? Thanks, Harald On 2/6/22 22:04, Harald Anlauf wrote: Hi Mikael, Am 04.02.22 um 11:45 schrieb Mikael Morin: Hello, Le 29/01/2022 à 22:41, Harald Anlauf via

Re: [PATCH, v2] Fortran: use name of array component in runtime error message [PR30802]

2024-03-15 Thread Harald Anlauf
Hi Mikael, On 3/15/24 17:31, Mikael Morin wrote: Le 10/03/2024 à 22:31, Harald Anlauf a écrit : Dear all, after playing for some time with NAG and Intel, and an off-list discussion with Jerry, I am getting more and more convinced that simpler runtime error messages (also simpler to parse

[gcc r14-9454] Fortran: fix IS_CONTIGUOUS for polymorphic dummy arguments [PR114001]

2024-03-13 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:11caf47b599568c6c6f5a12cf8e21f50778176d3 commit r14-9454-g11caf47b599568c6c6f5a12cf8e21f50778176d3 Author: Harald Anlauf Date: Tue Mar 12 22:58:39 2024 +0100 Fortran: fix IS_CONTIGUOUS for polymorphic dummy arguments [PR114001] gcc/fortran/ChangeLog

[PATCH] Fortran: fix IS_CONTIGUOUS for polymorphic dummy arguments [PR114001]

2024-03-12 Thread Harald Anlauf
8f535b19bd0cb6a7c99ac9ba4c07778f86698a1c Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Tue, 12 Mar 2024 22:58:39 +0100 Subject: [PATCH] Fortran: fix IS_CONTIGUOUS for polymorphic dummy arguments [PR114001] gcc/fortran/ChangeLog: PR fortran/114001 * expr.cc (gfc_is_simply_contiguous): Adjust logic so

Re: [Patch, fortran PR89645/99065 No IMPLICIT type error with: ASSOCIATE( X => function() )

2024-03-12 Thread Harald Anlauf
Hi Paul, On 3/12/24 15:54, Paul Richard Thomas wrote: Hi All, This is the last posting of this patch before I push it. Harald is OK with it on the grounds that the inferred_type flag guards the whole lot, except for the chunks in trans-stmt.cc. In spite of Harald's off-list admonition not to

[gcc r14-9442] Fortran: handle procedure pointer component in DT array [PR110826]

2024-03-12 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:81ee1298b47d3f3b3712ef3f3b2929ca26c4bcd2 commit r14-9442-g81ee1298b47d3f3b3712ef3f3b2929ca26c4bcd2 Author: Harald Anlauf Date: Mon Mar 11 22:05:51 2024 +0100 Fortran: handle procedure pointer component in DT array [PR110826] gcc/fortran/ChangeLog

[PATCH] Fortran: handle procedure pointer component in DT array [PR110826]

2024-03-11 Thread Harald Anlauf
a9be17cf987b796c49684cde2f20dac3839c736c Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Mon, 11 Mar 2024 22:05:51 +0100 Subject: [PATCH] Fortran: handle procedure pointer component in DT array [PR110826] gcc/fortran/ChangeLog: PR fortran/110826 * array.cc (gfc_array_dimen_size): When

[PATCH, v2] Fortran: use name of array component in runtime error message [PR30802]

2024-03-10 Thread Harald Anlauf
Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Sun, 10 Mar 2024 22:14:30 +0100 Subject: [PATCH] Fortran: use name of array component in runtime error message [PR30802] gcc/fortran/ChangeLog: PR fortran/30802 * trans-array.cc (trans_array_bound_check): Find name of component to use

[gcc r13-8407] Fortran: do not evaluate polymorphic functions twice in assignment [PR114012]

2024-03-06 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:1f5787e4b803a4294eeb80e048f56ccdb99c1b3b commit r13-8407-g1f5787e4b803a4294eeb80e048f56ccdb99c1b3b Author: Harald Anlauf Date: Sun Feb 25 21:18:23 2024 +0100 Fortran: do not evaluate polymorphic functions twice in assignment [PR114012] PR fortran

[gcc r13-8406] Fortran: ALLOCATE statement, SOURCE/MOLD expressions with subrefs [PR114024]

2024-03-06 Thread Harald Anlauf via Gcc-cvs
: * gfortran.dg/allocate_with_source_27.f90: New test. * gfortran.dg/allocate_with_source_28.f90: New test. Co-Authored-By: Harald Anlauf (cherry picked from commit 80d126ba99f4b9bc64d4861b3c4bae666497f2d4) Diff: --- gcc/fortran/trans-stmt.cc

Re: [patch, libgfortran] Part 2: PR105456 Child I/O does not propage iostat

2024-03-06 Thread Harald Anlauf
6/24 05:06, Jerry D wrote: On 3/5/24 1:51 PM, Harald Anlauf wrote: Hi Jerry, on further thought, do we sanitize 'child_iomsg'? We pass it to snprintf as format. Wouldn't a strncpy be sufficient? Harald Just to be safe I will bump char message[IOMSG_LEN] to char message[IOMSG_LEN + 1] This i

Re: [PATCH] Fortran: error recovery while simplifying expressions [PR103707, PR106987]

2024-03-06 Thread Harald Anlauf
:51, Paul Richard Thomas wrote: Hi Harald, This all looks good to me. OK for mainline and, according to intestinal fortitude on your part, earlier branches. Thanks Paul On Tue, 5 Mar 2024 at 21:24, Harald Anlauf wrote: Dear all, error recovery on arithmetic errors during simplification has

[gcc r14-9340] Fortran: error recovery while simplifying expressions [PR103707, PR106987]

2024-03-06 Thread Harald Anlauf via Gcc-cvs
https://gcc.gnu.org/g:93e1d4d24ed014387da97e2ce11556d68fe98e66 commit r14-9340-g93e1d4d24ed014387da97e2ce11556d68fe98e66 Author: Harald Anlauf Date: Tue Mar 5 21:54:26 2024 +0100 Fortran: error recovery while simplifying expressions [PR103707,PR106987] When an exception

Re: [patch, libgfortran] Part 2: PR105456 Child I/O does not propage iostat

2024-03-05 Thread Harald Anlauf
Hi Jerry, on further thought, do we sanitize 'child_iomsg'? We pass it to snprintf as format. Wouldn't a strncpy be sufficient? Harald On 3/5/24 22:37, Harald Anlauf wrote: Hi Jerry, I think there is the risk of buffer overrun in the following places: + char message[IOMSG_LEN

Re: [patch, libgfortran] Part 2: PR105456 Child I/O does not propage iostat

2024-03-05 Thread Harald Anlauf
Hi Jerry, I think there is the risk of buffer overrun in the following places: + char message[IOMSG_LEN]; + child_iomsg_len = string_len_trim (IOMSG_LEN, child_iomsg) + 1; free_line (dtp); snprintf (message, child_iomsg_len, child_iomsg);

  1   2   3   4   5   6   7   8   9   10   >