User Details
- User Since
- Sep 5 2020, 11:21 PM (132 w, 3 d)
Jan 30 2023
Oct 25 2022
LGTM
Similarly, have you considered adding a differential to test C1609 and C1610?
Have you looked into whether there's a useful way to test constraint C1607, .e.g, with
type(lock_type)=, parameter :: const[*]=0
which seems not so useful because a parameter can't be be a coarray and a lock_type entity must be a coarray, but it's possible there's better way to test the constraint or it's possible the constraint is redundant because of C1608.
In order check constraint C1608 in the Fortran 2018 standard, let's add a check that flang accepts the following with and without the allocatable attribute
use iso_fortran_env type foo type(lock_type), allocatable :: bar end type type(foo) foobar[*] end
which gfortran rejects when the allocatable attribute is present but the NAG (nagfor) compiler correctly accepts either way.
Oct 13 2022
Oct 12 2022
LGTM
Sep 26 2022
Sep 22 2022
LGTM
Sep 20 2022
LGTM
Sep 19 2022
LGTM
Sep 15 2022
LGTM
Sep 14 2022
Sep 12 2022
LGTM
Sep 8 2022
LGTM
Sep 7 2022
LGTM
Aug 30 2022
LGTM
Aug 25 2022
LGTM
Aug 24 2022
Jun 9 2022
May 31 2022
On Mon, May 30, 2022 at 2:39 AM Andrzej Warzynski via Phabricator <reviews@reviews.llvm.org> wrote:
May 26 2022
May 25 2022
This update fixes the standard-conforming this_image() invocations in which the optional dim argument is not present.
I have access to the NAG Fortran compiler and find it very helpful for checking standard conformance. I was unaware of the NAG test suite and don't see any mention of it online. Is it an official product that can be purchased?
May 24 2022
May 19 2022
Add XFAIL directive and responding to one review comment by adding a keyword argument.
May 18 2022
pushed to main
I think this is an exciting step. I hope it gets approved. Although it's technically true that this could appear to be a regression for current flang script users, the ultimate compilation currently happens by invoking an external compiler so most current flang script users can eliminate the regression by simply calling the external compiler. The exception would be if the current flang script user specifically wants flang's parsing capabilities for checking code correctness (do we know if anyone is using the flang script that way?) or for testing the parser (which I presume can still happen by other means). It might be nice to simply rename the current script so those who want it can simply change the name they use to invoke it.
May 11 2022
- Fixed left-hand-side of assignments where array is required because dim argument is not present.
- Test requirement that the kind parameters be an integer constant.
- Test violation of rank requirement for dim argument.
Apr 14 2022
Remove unimplemented "!ERROR: ..." directives.
Apr 13 2022
@awarzynski I'll echo your comment that "... most people new to LLVM Flang use flang rather than flang-new and most (all?) find it very confusing." I've known of flang in various forms (including a flang that predated classic flang) and yet I'm still finding new information that clears up confusion on my part. I only just realized today that the phrase "LLVM flang" is used to differentiate from "classic flang." And although I've known about armflang for several years and AOCC (which seemingly should be AOCCF or some such) for a month or so, I only just realized today that they are based on classic flang, which finally makes sense because I couldn't figure out how they could be based on what is currently on the main branch of LLVM flang. For users and testers, it will be really nice if the community coalesces around the main branch of LLVM flang as the default meaning when someone says "flang" and if that default flang produces executables even if it's buggy.
@awarzynski based on @h-vetinari's optimism about adding flags, I still like option 2. If it's not possible to add flags, then I would prefer option 1. If we go with option 3, then I am at least encouraged by reviewing the upstreaming project status links that @kiranchandramohan posted in the Slack flang workspace #general channel. I don't know the time required to complete the remaining tasks, but the following issues show 216 of 235 tasks completed with 2 in progress:
Apr 7 2022
I also very much like the second option. I think it prevents a naive user from stumbling into treacherous territory. Also, as someone who is funded to write tests for flang, making it easier to build executables would expand the options for testing. Currently, we're focused on semantics tests primarily because of the complications associated with generating executables.
Apr 6 2022
Add keyword arguments to two non-conforming calls.
Mar 31 2022
Add semantically correct but not-yet-supported team_type argument checks.
Mar 17 2022
Feb 24 2022
Feb 17 2022
Feb 16 2022
Feb 9 2022
Added variable declarations and expanded the variety of standard-conforming calls.
Added required variable declaration.
Feb 3 2022
- Reorganized and regrouped checks.
- Increased the coverage of checks for non-standard-conforming code.
Feb 2 2022
Jan 27 2022
I forgot to put the differential number in my commit message for commit e065570. How do I close this differential?
Jan 6 2022
- Fixed on typo: removed a trailing comma.
- Added check for missing mandatory 'a' argument.
- Added test for 'stat' argument intent(out) .
- Added check for 'errmsg' argument intent(inout).
- Replaced non-standard single-quote characters.
- Fixed on typo: removed a trailing comma.
- Added check for missing mandatory 'a' argument.
- Added test for 'stat' argument intent(out) .
- Added check for 'errmsg' argument intent(inout).
- Replaced non-standard single-quote characters.
Dec 21 2021
Expand coverage of SYNC ALL statement semantics test:
- Add checks for both constraints in the standard.
- Check more valid and invalid statement forms.
This patch makes the co_broadcast test more similar to the other collectives tests by
Dec 20 2021
Dec 16 2021
Update co_min test to be uniform with co_max test:
- Expand types tested for argument 'a'.
- Vary the types tested more throughout the test.
- Replace several "to be determined" error messages.
- Fix typo: remove extraneous comma.
- Clarify the "To Do" comment.
- Expand the coverage of argument types to include characters.
- Vary the types of argument 'a' more throughout the test.
- Group like calls into blocks with a leading comment describing the block.
Handled all review comments:
- Fixed two grammatical errors in comments.
- Clarified the To Do comment.
Dec 9 2021
The latest version of the patch addresses all reviewer comments.
Dec 8 2021
@ekieri Thanks for the helpful suggestions. The latest update to the patch includes a check for polymorphic 'A' and a check for matching type parameters for the arguments and result of 'operation'. The latter test has both arguments and the result all not matching a kind-type parameter of 'A'. I will upload one more patch soon with checks for the semantics of 'result_image', 'stat', and 'errmsg'.
updated patch based on comments from @ekieri
Dec 1 2021
All comments have been addressed:
- Trailing whitespace has been removed.
- The section of the standard that defines the co_reduce interface is cited in a comment.
- All statistically checkable restrictions are now checked.
As suggested in Diff D113086, the updated diff
- Removes trailing whitespace if present.
- Cites the section of the standard that defines the co_broadcast interface.
- Adds a check for an error in which the first co_broadcast argument is coindexed.
As suggested in Diff D113086, the updated diff
- Removes trailing whitespace if present.
- Cites the section of the standard that defines the co_max interface.
- Adds a check for an error in which the first co_max argument is coindexed.
Nov 18 2021
Rebased off of main and ensured that the whole file appears in the diff.