Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge berkeleylab fork upstream #31

Open
wants to merge 74 commits into
base: main
Choose a base branch
from

Conversation

rouson
Copy link
Member

@rouson rouson commented Oct 27, 2024

No description provided.

ktras and others added 26 commits September 3, 2024 15:11
In order to test command_line_t, the test suite must run fpm via
execute_command_line.  With flang-new, this requires ensuring that
the fpm flags are passed along to the so-invoked fpm commands.
This commit updateds the README to direct uses to set FPM_FC and
FPM_FFLAGS to ensure that the fpm commands launched by the test
suite receive the necessary flags.
This commit edits the flang CI test script to follow the steps
described in the README.md in commit
09f0fcd.
doc(README): instruct to export FPM_{FC,FFLAGS)
This commit works around flang issue 109589, which causes line
wraps after the 78th character of list-directed output.

See llvm/llvm-project#109589.
Use language-feature macros and work around flang I/O issue
Read string_t-array value from JSON key/value pair
This commit adds

1. A unary operator(.csv.) that produces a string_t object
   encapsulating a comma-separated value (CSV) created from
   a. a string_t array or
   b. a character array,
2. A binary operator(.sv.) that produces a string_t object
   encapsulating a comma-separated value (CSV) created from
   left- and right-hand sides, respectively corresponding to
   a. a string_t array and a string_t separator or
   b. a string_t array and a character separator.
   c. a character array and a character separator
   d. a character array and a string_t separator
3. A unit test that verifies the following identities:

  "a,bc,def" == .csv. [string_t("a"), string_t("bc"), string_t("def")]
  "abc,def"  == .csv. ["abc", "def"]

  "do|re|mi" == (string_t(["do", "re", "mi"])         .sv.          "|" )
  "dore|mi"  == (([string_t("dore"), string_t("mi")]) .sv. string_t("|"))
  "do|re|mi" == (         ["do", "re", "mi"]          .sv.          "|" )
  "do|re|mi" == (         ["do", "re", "mi"]          .sv. string_t("|"))

corresponding to cases 1a-b and 2a-d, respectively.
This commit replaces list-directed printing of the test_t subject
with formatted printing to work around flang's relatively short
wrapping length for list-directed printing.
fix(test_t): prevent subject wrapping in report
This commit switchs the write_lines type-bound procedure to using
formatted output and thereby eliminates line wrapping caused by
LLVM flang's line-length limit on list-directed output.
Fix: eliminate line wrap in file_t write_lines
rouson and others added 30 commits December 31, 2024 22:14
This furthers a pattern of "test_" prefixes in the names of most
of the user-facing features that directly support unit testing.
This commit adds unit tests of the search capability employed when
a user runs a subset of the test suite  by passing a --contains
--contains argument to the test/main.F90 program.
This commit adds an example test suite that can be run with the
command:

fpm run --example main

The resulting output demonstrates the recently capability for
including diagnostic information in test output.
Feature: produce diagnostic output for test failures
This commit adds specific procedures supporting the string_t
generic interface.  The new procedures take dummy arguments of
1. logical: default-kind and c_bool
2. complex: default-kind and double-precision

The commit also includes unit tests for each of the above
four type/kind combinations.
Feature: construct `string_t` objects from logical & complex arguments
(docs): Fix link to example directory in README
This commit uses the NAG compiler's predefined NAGFOR macro to
remove two lines in test_description_test.F90 to work around a
bug in the nagfor compiler. The compiler bug has been isolated and
reported and the associated macro conditionals can be removed once
a patched version of the compiler is available. In the interim,
simply substituting character variables for string_t arguments in
the test's contains_text check works around the issue.
test(test_description_t): temp nagfor workaround
Update dependency Assert to 2.0.1
This commit fixes a problem with line continuation in
string_test.F90 identified by the NAG compiler.
test(string_t): fix line continuation
The string_t constructors that accept real, double precision,
complex, and double-precisions complex arguments previously used
g0 edit descriptors that produced processor-dependent
representations, breaking some of the corresponding tests when
building with ifx.  With this commit, all tests pass with ifx
version 2025.0.4 Build 20241205.
Fix edit descriptors and add ifx build command to README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants