Skip to content

Commit 3ae888c

Browse files
authored
Merge pull request #7 from AlexisPerry/newsletter-may-2022
Flang updates for May 2022
2 parents f0ee04d + 945fcb0 commit 3ae888c

File tree

1 file changed

+143
-2
lines changed

1 file changed

+143
-2
lines changed

_posts/2022-05-06-Fortran-Newsletter-May-2022.md

+143-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: post
33
title: "Fortran newsletter: May 2022"
44
category: newsletter
5-
author: Milan Curcic
5+
author: Milan Curcic, Alexis Perry-Holby
66
---
77

88
Welcome to the May edition of the monthly Fortran newsletter.
@@ -162,7 +162,148 @@ environment in which new open source Fortran projects are created and published
162162

163163
### Flang
164164

165-
TODO @alexisperry
165+
Recent development updates:
166+
167+
* FIR
168+
* Lower various intrinsics:
169+
* character related intrinsics, array related intrinsics, index intrinsics, present, exit, btest, ceiling, nearest, scale, matmul, trim, transpose, command, environment, repeat, aint, anint, cmplx, conjg, dble, dprod, sign, spacing, rrspacing, merge intrinsics, lbound, ubound, ior, exp, log, log10, sqrt, atan, sinh, cosh, sin, cos, mvbits, achar
170+
* Add IO lowering test
171+
* Add more lowering tests for dummy arguments
172+
* Add equivalence lowering tests
173+
* Add array constructor lowering tests
174+
* Lower more array expressions
175+
* Lower statement function
176+
* Lower length on character storage
177+
* Lower select case statement
178+
* Add OpenMP Conversion patterns
179+
* Lower procedure designator
180+
* Lower boxed procedure
181+
* Flush and master constructs
182+
* Add lowering C interoperability test
183+
* Add misc lowering tests
184+
* Handle zero extent case in LBOUND
185+
* Lower some coarray statements to their runtime function
186+
* Options to lower math intrinsics to relaxed, precise variants
187+
* Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE
188+
* Added lowering support for atomic read and write constructs
189+
* fix LBOUND lowering with KIND and no DIM arguments
190+
* Keep fully qualified !fir.heap type for fir.freemem op
191+
* Update the conversion code for fir.coordinate_of
192+
* Set lower bounds of array section fir.embox to one
193+
* Fix fir.embox codegen with constant interior shape
194+
* Do not fold fir.box_addr when it has a slice
195+
* Driver
196+
* Make --version and -version consistent with clang
197+
* Add support for -mmlir
198+
* Make the plugin API independent of the driver internals
199+
* Add support for generating executables
200+
* OpenMP
201+
* Lowering critical construct
202+
* Added assembly format for omp.wsloop and remove parseClauses
203+
* Added lowering support for sections construct
204+
* Added ReductionClauseInterface
205+
* Added parallel sections translation
206+
* Revert "[Flang][OpenMP] Add semantic check for OpenMP Private, Firstprivate and Lastprivate clauses."
207+
* Added allocate clause translation for OpenMP block constructs
208+
* Support export/import OpenMP Threadprivate Flag
209+
* Add implementation of privatisation
210+
* Add checks and tests for hint clause and fix empty hint
211+
* OpenACC
212+
* Lower enter data directive
213+
* Lower exit data directive
214+
* Lower init/shutdown directive
215+
* Lower update directive
216+
* Lower data directive
217+
* Lower wait directive
218+
* Runtime
219+
* Error recovery improvement in runtime (IOMSG=)
220+
* Initial UTF-8 support in runtime I/O
221+
* Ensure PointerDeallocate actually deallocate pointers
222+
* Add runtime API to catch unit number out of range
223+
* Prefer process time over thread time in CPU_TIME
224+
* Raise FP exceptions from runtime conversion to binary
225+
* Preserve effect of positioning in record in non-advancing output
226+
* Don't skip input spaces when they are significant
227+
* Fix ENDFILE for formatted stream output
228+
* Don't emit empty lines for bad writes
229+
* Ignore leading spaces even in BZ mode
230+
* Fix edge-case FP input bugs
231+
* Enforce some limits on kP scale factors
232+
* Signal record read overrun when PAD='NO'
233+
* Fix KIND=16 real/complex component I/O
234+
* Fix total MAXLOC/MINLOC for non-integer data
235+
* Handle allocatable components when creating array temps
236+
* [Parser] Add a node for individual sections in sections construct
237+
* Add explanatory messages to grammar for language extensions
238+
* Convert RUNTIME_CHECK to better error for user errors in transformational.cpp
239+
* Accept legacy aliases for intrinsic function names
240+
* Expose error recovery cases in external I/O
241+
* Fix crash: ENTRY with generic interface of the same name
242+
* Fold DBLE
243+
* Single construct translation from PFT to FIR
244+
* UBOUND() edge case: empty dimension
245+
* Make not yet implemented messages more consistent
246+
* Fix LBOUND rewrite on descriptor components
247+
* Ensure descriptor lower bounds are LBOUND compliant
248+
* Fix cycle-catcher in procedure characterization
249+
* Fix bogus error from assignment to CLASS(*)
250+
* Mark C_ASSOCIATED specific procedures as PURE
251+
* Catch bad OPEN(STATUS=) cases
252+
* Fold NEAREST() and its relatives
253+
* Prevent undefined behavior in character MAXLOC folding
254+
* Fix invalid overflow check
255+
* Skip D when including D debug line
256+
* Allow user to recover from bad edit descriptor with INTEGER
257+
* Fold instantiated PDT character component length when needed
258+
* Add one semantic check for allocatable/pointer argument association
259+
* [cmake] Make CMake copy "omp_lib.h" into the build directory
260+
* Handle dynamically optional argument in EXIT
261+
* Fix semantic analysis for "forall" targeted by "label"
262+
* Emit a portability warning for padding in COMMON
263+
* Expand the num_images test coverage
264+
* Fold IBITS() intrinsic function
265+
* Error handling for out-of-range CASE values
266+
* Respect left tab limit with Tn editing after ADVANCE='NO'
267+
* Allow IMPLICIT NONE(EXTERNAL) with GenericDetails
268+
* Do not ICE on out-of-range data statement designator
269+
* Fix ICE for sqrt(0.0) evaluation
270+
* Fix float-number representation bug
271+
* Fix intrinsic interface for DIMAG/DCONJG
272+
* Improve appearance of message attachments
273+
* Fix combining cases of USE association & generic interfaces
274+
* Defer all function result type processing
275+
* Always encode multi-byte output in UTF-8
276+
* Fix shape analysis of RESHAPE result
277+
* Use full result range for clock_gettime implementation of SYSTEM_CLOCK
278+
* Correct interaction between generics and intrinsics
279+
* Make F0.1 output editing of zero edge case consistent
280+
* Inner INTRINSIC must not shadow host generic
281+
* Local generics must not shadow host-associated generics
282+
* Fix TYPE/CLASS IS (T(...)) in SELECT TYPE
283+
* Allow modification of construct entities
284+
* Defer NAMELIST group item name resolution
285+
* Accept TYPE(intrinsic type) in declarations only for non-extension type
286+
* Finer control over error recovery with GetExpr()
287+
* Handle parameter-dependent types in PDT initializers
288+
* Upgrade short actual character arguments to errors
289+
* Allow POINTER attribute statement on procedure interfaces
290+
* Accept KIND type parameter inquiries on RE, IM, etc.
291+
* Add & use a better visit()
292+
* Fix regression with recent work on intrinsic/generic interactions
293+
* Do not pass derived type by descriptor when not needed
294+
* Fix LBOUND() folding for constant arrays
295+
* Set LBOUND() folding for (x) expression as ones
296+
* Semantics limits on kP scale factors
297+
* Do not ICE on recursive function definition in function result
298+
* Fold transformational bessels when host runtime has bessels
299+
* Do not create arith.extui with same from/to type
300+
* Disambiguate F(X)=Y case where F is a function returning a pointer
301+
* Avoid global name conflict when BIND(C,NAME=) is used
302+
* Accept "INFINITY" as real input
303+
* Add semantic checks for intrinsic function REDUCE()
304+
* Fix crash from PDT component init in module file
305+
306+
Call notes are recorded and publicly available [here](https://docs.google.com/document/d/1Z2U5UAtJ-Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/edit).
166307

167308
### LFortran
168309

0 commit comments

Comments
 (0)