fparser
fparser copied to clipboard
#443 Support flag that triggers fparser to read code in OpenMP conditional sentinels
Fixed #443, and is important for FAB to detect dependencies in omp sentinels.
The implementation is (unfortunately) on two different levels:
- Fixed format is handled on a line by line basis, since a continued conditional sentinel can be detected with an easy regexp.
- Free format continued conditional sentinels can only be reliably detected if the previous line had a conditional sentinel, any simple reg.exp cannot distinguish this from e.g.
!$omp
(since a '&' and esp. spaces around that are all optional), so it's handled on higher up when combining multiple lines.
Moving the fixed format handling up (to the level where the free format is handled) seems to be more difficult, since free format is handled in many different ways when combining lines (strict format, fixed, f77) - so I opted for the two different levels.
I can confirm that this with changes fab now (when supplying the required optional flag) detects dependencies in conditional omp sentinels.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 92.07%. Comparing base (
1259f8a
) to head (338bd07
).
Additional details and impacted files
@@ Coverage Diff @@
## master #444 +/- ##
==========================================
+ Coverage 91.99% 92.07% +0.08%
==========================================
Files 85 85
Lines 13678 13825 +147
==========================================
+ Hits 12583 12730 +147
Misses 1095 1095
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Ready for next review.
Hi @hiker, github isn't showing any commits since the last review?
Dang, yes, I missed that you updated this branch, so my push didn't go through, and I didn't notice. Now something should be there :)
Ready for next review.
@hiker @arporter and the Codecov status check is working again 🥳 (after we reinstalled the github app). I will close the codecov issue now.