| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| lfortran-0.68.0.tar.gz | 2026-10-25 | 4.4 MB | |
| README.md | 2026-10-25 | 59.0 kB | |
| v0.68.0 source code.tar.gz | 2026-10-25 | 7.3 MB | |
| v0.68.0 source code.zip | 2026-10-25 | 12.0 MB | |
| Totals: 4 Items | 23.9 MB | 4 | |
What's Changed
- Fix creation of temp
_lfortran_generated_filefile by @ubaidsk in https://github.com/lfortran/lfortran/pull/11962 - fix: kind-agnostic DO WHILE exit tests for non-default-kind logical conditions by @certik in https://github.com/lfortran/lfortran/pull/14110
- fix: treat imported elemental procedures as elemental under legacy array sections by @certik in https://github.com/lfortran/lfortran/pull/14112
- fix: never resolve obj%name subroutine calls to intrinsics by @certik in https://github.com/lfortran/lfortran/pull/14113
- fix: handle pointer arguments in random_number lowering by @certik in https://github.com/lfortran/lfortran/pull/14117
- fix: keep module RESHAPE initializers that need a type conversion by @certik in https://github.com/lfortran/lfortran/pull/14122
- fix: declare struct type of temporary for polymorphic function result passed to optional by @certik in https://github.com/lfortran/lfortran/pull/14131
- fix: address equivalenced module variables used from another unit by @certik in https://github.com/lfortran/lfortran/pull/14121
- fix: drop callee bounds when sequence associating an array element by @certik in https://github.com/lfortran/lfortran/pull/14137
- fix: load assumed-shape lower bounds by value in LLVM codegen by @certik in https://github.com/lfortran/lfortran/pull/14140
- fix: move_alloc from nonpolymorphic to polymorphic array by @certik in https://github.com/lfortran/lfortran/pull/14141
- Avoid downcasting to GetPointer node for inline char struct members by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14098
- Implement read with implied do loop on scalar variable by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14102
- Keep character ClassToIntrinsic casts as descriptor pointers by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14100
- fix: keep explicit intent of dummy referenced before its declaration by @certik in https://github.com/lfortran/lfortran/pull/14118
- fix: pass VALUE dummy arguments by value in non-bind(c) procedures by @certik in https://github.com/lfortran/lfortran/pull/14172
- fix: resolve inherited generic binding to the overriding specific by @certik in https://github.com/lfortran/lfortran/pull/14135
- fix: continue list-directed internal read of arrays at the current position by @certik in https://github.com/lfortran/lfortran/pull/14214
- fix: keep the declared rank of a scalar-broadcast array initializer by @certik in https://github.com/lfortran/lfortran/pull/14215
- fix: pass a polymorphic scalar component to a TYPE dummy by @certik in https://github.com/lfortran/lfortran/pull/14138
- fix: keep element derived type when array index has a component by @certik in https://github.com/lfortran/lfortran/pull/14154
- fix: convert a c_ptr actual to how the c_ptr dummy is passed by @certik in https://github.com/lfortran/lfortran/pull/14173
- Speedup the CI by @certik in https://github.com/lfortran/lfortran/pull/14063
- fix: no spurious narrowing-conversion warning for exact real(8)->real(4) array initializers by @certik in https://github.com/lfortran/lfortran/pull/14255
- fix: give runtime-extent struct member sections a non-fixed array type by @certik in https://github.com/lfortran/lfortran/pull/14239
- fix: allocatable/pointer non-polymorphic actuals passed to class(*) dummies by @certik in https://github.com/lfortran/lfortran/pull/14228
- fix: move_alloc between polymorphic arrays of different declared types by @certik in https://github.com/lfortran/lfortran/pull/14226
- fix: detect class/type mismatch for array function results by @certik in https://github.com/lfortran/lfortran/pull/14222
- Mark implicit interfaces with Source abi; fix array result element length by @certik in https://github.com/lfortran/lfortran/pull/14272
- feat: pass character dummies as data pointer plus trailing hidden length by @certik in https://github.com/lfortran/lfortran/pull/14278
- fix: keep dynamic type and free old storage when reallocating a polymorphic array LHS by @certik in https://github.com/lfortran/lfortran/pull/14300
- fix: copy class pointer components without sharing the class wrapper by @certik in https://github.com/lfortran/lfortran/pull/14280
- ci: run Quick checks on merge_group for merge queues by @certik in https://github.com/lfortran/lfortran/pull/14289
- ci: address Quick and Caffeine follow-ups by @certik in https://github.com/lfortran/lfortran/pull/14290
- fix: pass allocatable derived-type components to procedures directly by @certik in https://github.com/lfortran/lfortran/pull/14237
- CI: Update Caffeine to release 0.8.4 by @bonachea in https://github.com/lfortran/lfortran/pull/14342
- fix: do not create a local polymorphic array for optional class array dummies by @certik in https://github.com/lfortran/lfortran/pull/14229
- fix: assign to complex part of an array section by @certik in https://github.com/lfortran/lfortran/pull/14240
- fix: apply reshape order= to named constant sources at compile time by @certik in https://github.com/lfortran/lfortran/pull/14249
- fix: handle pointer arguments in random_seed, random_init and srand by @certik in https://github.com/lfortran/lfortran/pull/14250
- ci: remove merge queue support and coalesce Quick and Exhaustive on main by @certik in https://github.com/lfortran/lfortran/pull/14391
- docs: require linear PR history and rebase-only updates by @certik in https://github.com/lfortran/lfortran/pull/14351
- fix: do not load through a class(*) pointer null initializer by @certik in https://github.com/lfortran/lfortran/pull/14345
- skills: review fix-issue branches locally and batch pushes by @certik in https://github.com/lfortran/lfortran/pull/14399
- fix: keep RHS bounds when assigning between allocatable array components by @certik in https://github.com/lfortran/lfortran/pull/14367
- ci: remove the Quick status aggregate job by @certik in https://github.com/lfortran/lfortran/pull/14414
- test: check that passing an allocatable component does not finalize it by @certik in https://github.com/lfortran/lfortran/pull/14358
- fix: skip constructor member count when the parent type is unresolved by @certik in https://github.com/lfortran/lfortran/pull/14371
- fix: fixed-form tokenizer hangs (internal procedures, typed function prefix, module procedure) by @certik in https://github.com/lfortran/lfortran/pull/14392
- fix: associate class(*) pointers with derived-type targets by @certik in https://github.com/lfortran/lfortran/pull/14344
- fix: lower CHARACTER array defaults in module struct globals by @certik in https://github.com/lfortran/lfortran/pull/14390
- fix: array sections of COMMON arrays fail ASR verification by @certik in https://github.com/lfortran/lfortran/pull/14400
- ci: fix PR cache cleanup by @certik in https://github.com/lfortran/lfortran/pull/14423
- ci: stop running Exhaustive on PRs and remove the label by @certik in https://github.com/lfortran/lfortran/pull/14424
- fix: apply typed ALLOCATE type-spec to every allocation object by @certik in https://github.com/lfortran/lfortran/pull/14383
- fix: do not free static class wrappers on nullify by @certik in https://github.com/lfortran/lfortran/pull/14350
- ci: save compiler caches only on main and cache the WASM build by @certik in https://github.com/lfortran/lfortran/pull/14425
- ci: give platform ccache room for a full build and prune old main caches by @certik in https://github.com/lfortran/lfortran/pull/14426
- Improve the priority determination skill by @certik in https://github.com/lfortran/lfortran/pull/14429
- ci: make the WASM build cache work by @certik in https://github.com/lfortran/lfortran/pull/14440
- ci: skip the SAVE class pointer evaluator tests on Windows by @assem2002 in https://github.com/lfortran/lfortran/pull/14473
- ci: set timeout-minutes on every job by @certik in https://github.com/lfortran/lfortran/pull/14477
- fix: intent(in) c_ptr dummies: local storage, and TARGET by reference by @certik in https://github.com/lfortran/lfortran/pull/14417
- fix: implicitly type a namelist object declared after NAMELIST by @certik in https://github.com/lfortran/lfortran/pull/14410
- Diagnose type-bound procedure referenced without an argument list by @usefahmed07 in https://github.com/lfortran/lfortran/pull/14216
- fix: convert array arguments of mixed-kind MIN/MAX by @certik in https://github.com/lfortran/lfortran/pull/14428
- fix: tokenize NAMELIST statements in fixed-form source by @certik in https://github.com/lfortran/lfortran/pull/14431
- fix: report unterminated fixed-form character literals by @certik in https://github.com/lfortran/lfortran/pull/14432
- fix: keep vector-subscripted actuals intact with --legacy-array-sections by @certik in https://github.com/lfortran/lfortran/pull/14433
- test: register equivalence_12 with the llvm backend by @morphisme in https://github.com/lfortran/lfortran/pull/14338
- Load allocatable character array component before passing to type(*) dummy by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14482
- refactor: keep LFORTRAN_VERSION out of intrinsic_functions.h by @certik in https://github.com/lfortran/lfortran/pull/14487
- Diagnose function reference as leftmost part-ref of a data-ref by @usefahmed07 in https://github.com/lfortran/lfortran/pull/14220
- ci: build platform compilers in a fixed directory by @certik in https://github.com/lfortran/lfortran/pull/14486
- fix: finalize an allocatable scalar component with its structure by @schizophrenicmaniac in https://github.com/lfortran/lfortran/pull/14134
- fix: pass class() pointer and allocatable array components to class() dummies by @schizophrenicmaniac in https://github.com/lfortran/lfortran/pull/14108
- ci: separate the Quick LLVM 11 Debug compiler cache by @certik in https://github.com/lfortran/lfortran/pull/14491
- build: do not export C++ symbols from lfortran on macOS by @certik in https://github.com/lfortran/lfortran/pull/14490
- fix: import procedure-type symbols into the scopes they cross into by @certik in https://github.com/lfortran/lfortran/pull/14495
- fix: give SAVE locals of same-named procedures distinct globals by @certik in https://github.com/lfortran/lfortran/pull/14441
- fix: reallocate polymorphic array on assignment of another shape or type by @certik in https://github.com/lfortran/lfortran/pull/14466
- fix: select type class is guard on class(t) array selectors by @certik in https://github.com/lfortran/lfortran/pull/14470
- ci: compile Quick's LLVM 11 compatibility compiler with -O2 by @certik in https://github.com/lfortran/lfortran/pull/14506
- fix: represent COMMON blocks explicitly in ASR by @certik in https://github.com/lfortran/lfortran/pull/14508
- fix: do not inline calls inside procedure types by @certik in https://github.com/lfortran/lfortran/pull/14510
- fix: support multi-item formatted I/O with defined output (DT) by @Chaitanya-970 in https://github.com/lfortran/lfortran/pull/14060
- Revert "fix: support multi-item formatted I/O with defined output (DT)" by @certik in https://github.com/lfortran/lfortran/pull/14516
- fix: reject use-associated EQUIVALENCE objects by @certik in https://github.com/lfortran/lfortran/pull/14523
- ci: split LLVM WASM job by backend and compile its compiler with -O2 by @certik in https://github.com/lfortran/lfortran/pull/14530
- Improve Pixi builds and batch issue-fixing workflows by @certik in https://github.com/lfortran/lfortran/pull/13654
- fix: give generated intrinsic helpers internal linkage by @certik in https://github.com/lfortran/lfortran/pull/14533
- fix: copy array descriptor offset in polymorphic component deepcopy by @certik in https://github.com/lfortran/lfortran/pull/14537
- Make Pixi the required agent toolchain and primary contributor workflow by @certik in https://github.com/lfortran/lfortran/pull/14538
- ci: save platform caches only from Quick by @certik in https://github.com/lfortran/lfortran/pull/14531
- docs: allow GitHub MCP tools where gh is not usable by @certik in https://github.com/lfortran/lfortran/pull/14552
- docs: push issue-fix PRs early and let Quick CI run the suites by @certik in https://github.com/lfortran/lfortran/pull/14576
- chore: ignore the pixi.lock generated by pixi run by @certik in https://github.com/lfortran/lfortran/pull/14598
- fix: give generated declaration helpers internal linkage by @certik in https://github.com/lfortran/lfortran/pull/14558
- fix: do not export coarray pass helpers by @certik in https://github.com/lfortran/lfortran/pull/14567
- fix: check arguments in function calls through procedure dummies by @certik in https://github.com/lfortran/lfortran/pull/14570
- fix: index array intrinsics from 1 when an argument's lower bound is not 1 by @certik in https://github.com/lfortran/lfortran/pull/14456
- fix: use a temporary for an allocatable scalar function result assigned to a non-allocatable variable by @certik in https://github.com/lfortran/lfortran/pull/14556
- ci: compile the Linux LLVM 21 platform compiler with -O2 by @certik in https://github.com/lfortran/lfortran/pull/14544
- fix: give OpenMP outlined procedures internal linkage by @certik in https://github.com/lfortran/lfortran/pull/14594
- fix: copy run-time length of deferred-length character array components by @certik in https://github.com/lfortran/lfortran/pull/14592
- fix: instantiate PDT kind parameters in array component bounds by @certik in https://github.com/lfortran/lfortran/pull/14583
- fix: give a polymorphic array the dynamic type of a polymorphic value by @certik in https://github.com/lfortran/lfortran/pull/14593
- test: rely on the --fast CI pass for arrays_reshape_51 and arrays_reshape_52 by @certik in https://github.com/lfortran/lfortran/pull/14605
- fix: give cshift results and array shift dummies lower bounds of 1 by @assem2002 in https://github.com/lfortran/lfortran/pull/14038
- fix nested_vars crash on a host derived-type variable by @assem2002 in https://github.com/lfortran/lfortran/pull/14039
- fix: associate type(T) select rank(0) names through a scalar cast by @assem2002 in https://github.com/lfortran/lfortran/pull/14049
- fix: declare enums in the specification part of a BLOCK by @assem2002 in https://github.com/lfortran/lfortran/pull/14051
- fix: load allocatable and pointer scalars in integer and real unary minus by @assem2002 in https://github.com/lfortran/lfortran/pull/14053
- fix: evaluate the test of an arithmetic IF once by @assem2002 in https://github.com/lfortran/lfortran/pull/14050
- test: dot_product of descriptor integer arrays and mixed real kinds by @assem2002 in https://github.com/lfortran/lfortran/pull/14055
- fix: resolve the parent type of a procedure-local derived type by host association by @certik in https://github.com/lfortran/lfortran/pull/14612
- fix: qualify procedures contained in a program with the program's name by @certik in https://github.com/lfortran/lfortran/pull/14617
- docs: rebuild incrementally with pixi run rebuild by @certik in https://github.com/lfortran/lfortran/pull/14635
- Handle external variables in select type statements by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/13966
- Add check for minloc return value in test by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14105
- Preserve compile time values in array_op scalarization by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14012
- fix: declare derived types in the specification part of a BLOCK by @assem2002 in https://github.com/lfortran/lfortran/pull/14056
- Reject coarrays of type c_ptr and c_funptr (F2018 8.5.6) by @usefahmed07 in https://github.com/lfortran/lfortran/pull/14427
- fix: shorten fix-issue skill description to valid length by @certik in https://github.com/lfortran/lfortran/pull/14717
- fix: expand output implied-do loops with folded constant bounds by @certik in https://github.com/lfortran/lfortran/pull/14637
- fix: compute LEN of a character array without indexing it by @certik in https://github.com/lfortran/lfortran/pull/14647
- fix: return standard status from get_command by @certik in https://github.com/lfortran/lfortran/pull/14669
- fix: accept postfix assumed length on array entities, a(n)() by @certik in https://github.com/lfortran/lfortran/pull/14683
- fix: end fixed-form statements at
;separators by @certik in https://github.com/lfortran/lfortran/pull/14694 - fix: accept a specific intrinsic as the interface in procedure declarations by @certik in https://github.com/lfortran/lfortran/pull/14614
- fix: reallocate LHS when shape changes but size does not (--realloc-lhs-arrays) by @certik in https://github.com/lfortran/lfortran/pull/14691
- fix: match typed external dummy procedures in generic resolution by @certik in https://github.com/lfortran/lfortran/pull/14692
- fix: accept free-form continuation of OpenMP directives by @certik in https://github.com/lfortran/lfortran/pull/14695
- fix: three template instantiation and operator-resolution bugs by @certik in https://github.com/lfortran/lfortran/pull/14725
- fix: keep a do concurrent reduce accumulator out of the GPU kernel locals by @certik in https://github.com/lfortran/lfortran/pull/14721
- fix: support named OpenMP critical constructs by @certik in https://github.com/lfortran/lfortran/pull/14706
- fix: resolve unary minus on a template deferred type by @certik in https://github.com/lfortran/lfortran/pull/14727
- fix: instantiate templates inside 'module procedure' bodies by @certik in https://github.com/lfortran/lfortran/pull/14732
- fix: honour the mask argument of iany and iall by @certik in https://github.com/lfortran/lfortran/pull/14648
- fix: recognize a statement label at the start of the file by @certik in https://github.com/lfortran/lfortran/pull/14751
- fix: diagnose intrinsic numeric operators on derived-type operands by @certik in https://github.com/lfortran/lfortran/pull/14734
- fix: template procedure-pointer components (nopass attribute, null() initializer) by @certik in https://github.com/lfortran/lfortran/pull/14769
- fix: instantiate a template's abstract interface used by procedure(iface) by @certik in https://github.com/lfortran/lfortran/pull/14772
- Copy C descriptor back after bind(c) calls with allocatable or pointer arrays by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14501
- fix: do not print the implicit main program name in
lfortran fmtby @certik in https://github.com/lfortran/lfortran/pull/14766 - Convert length and lbound to result kind before computing ubound by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14498
- Use PointerArray for bind(c) assumed size derived type dummies by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14494
- fix: pointer bounds remapping to a section of a non-descriptor array by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14295
- fix: ICE in transfer with a character array component as source by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14288
- fix: redirect host array references to the nested context around calls by @assem2002 in https://github.com/lfortran/lfortran/pull/14761
- fix: build generic interfaces declared in external procedures by @assem2002 in https://github.com/lfortran/lfortran/pull/14760
- fix: build the defined assignment generic of a main program by @assem2002 in https://github.com/lfortran/lfortran/pull/14754
- fix: keep allocatable derived-type scalars allocatable in nested_vars by @assem2002 in https://github.com/lfortran/lfortran/pull/14752
- fix: evaluate a scalar function reference in an array expression once by @assem2002 in https://github.com/lfortran/lfortran/pull/14057
- fix: convert values assigned to the SELECT RANK selector by @assem2002 in https://github.com/lfortran/lfortran/pull/14701
- fix: fold real(10) constants through their long double payload by @assem2002 in https://github.com/lfortran/lfortran/pull/14054
- fix: skip dummy procedures when resolving generic calls in array bounds by @assem2002 in https://github.com/lfortran/lfortran/pull/14703
- fix: keep a module's defined operators out of nested templates by @certik in https://github.com/lfortran/lfortran/pull/14813
- fix: support procedure pointer dispatch tables in named constants by @certik in https://github.com/lfortran/lfortran/pull/14744
- fix: keep the REPL from overwriting a file named input by @certik in https://github.com/lfortran/lfortran/pull/14773
- fix: reject deferred interface bodies that are not deferred arguments by @certik in https://github.com/lfortran/lfortran/pull/14733
- fix: add and instantiate type-bound generics and operators of template types by @certik in https://github.com/lfortran/lfortran/pull/14814
- fix: instantiate template constants used in components and nested templates by @certik in https://github.com/lfortran/lfortran/pull/14848
- fix: diagnose intrinsic numeric operators on two logical operands by @certik in https://github.com/lfortran/lfortran/pull/14833
- fix: allocate the lhs with lower bound 1 from an array expression by @schizophrenicmaniac in https://github.com/lfortran/lfortran/pull/14499
- test: register 4 more tests with the llvm label by @morphisme in https://github.com/lfortran/lfortran/pull/14507
- fix: match kinds when resolving a defined binary operator by @certik in https://github.com/lfortran/lfortran/pull/14768
- fix: tokenize fixed-form type definitions with attributes by @certik in https://github.com/lfortran/lfortran/pull/14858
- fix: allocate array concatenation temporaries with the full length by @certik in https://github.com/lfortran/lfortran/pull/14856
- fix: declare the procedures of interface blocks in BLOCK constructs by @certik in https://github.com/lfortran/lfortran/pull/14636
- fix: refer to a renamed template type's instance in member imports by @certik in https://github.com/lfortran/lfortran/pull/14926
- fix: allow a deferred constant as an instantiation argument in a template by @certik in https://github.com/lfortran/lfortran/pull/14929
- fix: print class() and type() for unlimited polymorphic types in diagnostics by @certik in https://github.com/lfortran/lfortran/pull/14863
- fix: apply an elemental unary operator(-) to arrays of derived types by @certik in https://github.com/lfortran/lfortran/pull/14951
- fix: resolve unary plus on a derived or deferred type by @certik in https://github.com/lfortran/lfortran/pull/14955
- fix: fail compilation when a semantic error is reported without aborting by @certik in https://github.com/lfortran/lfortran/pull/14831
- fix: instantiate derived types declared in template procedures by @certik in https://github.com/lfortran/lfortran/pull/14950
- fix: import a template component's type into the host of its type by @certik in https://github.com/lfortran/lfortran/pull/14949
- fix: template array and component default initializers using a deferred constant by @certik in https://github.com/lfortran/lfortran/pull/14947
- fix: accept unary intrinsic operators as instantiation arguments and share their binding by @certik in https://github.com/lfortran/lfortran/pull/14927
- fix: reject class(*) values for variables and dummies of a specific type by @certik in https://github.com/lfortran/lfortran/pull/14948
- fix: instantiate character lengths in templates by @certik in https://github.com/lfortran/lfortran/pull/14931
- fix: ignore quotes in fixed-form comment lines during preprocessing by @certik in https://github.com/lfortran/lfortran/pull/14966
- fix: build an operator interface in the scope of its interface block by @certik in https://github.com/lfortran/lfortran/pull/14877
- fix: instantiate a template's named constants without an only-list by @certik in https://github.com/lfortran/lfortran/pull/14958
- fix: resolve a template procedure dummy's interface defined later by @certik in https://github.com/lfortran/lfortran/pull/14928
- fix: do not finalize the object moved by move_alloc by @certik in https://github.com/lfortran/lfortran/pull/14967
- fix: accept an element of a template's constant array as a component bound by @certik in https://github.com/lfortran/lfortran/pull/14957
- fix: keep binding attributes and bind later module procedures for types in nested scopes by @certik in https://github.com/lfortran/lfortran/pull/14953
- fix: instantiate the parent type of a template's derived type by @certik in https://github.com/lfortran/lfortran/pull/14954
- fix: substitute only the instantiated template's own entities by @certik in https://github.com/lfortran/lfortran/pull/14952
- fix: speed up compilation of repeated constant array-section assignments by @certik in https://github.com/lfortran/lfortran/pull/14969
- fix: skip an assignment whose value failed under --continue-compilation by @certik in https://github.com/lfortran/lfortran/pull/14930
- fix: move a scalar allocation only between compatible types by @certik in https://github.com/lfortran/lfortran/pull/14978
- fix: restore the enclosing state after a requirement or template by @certik in https://github.com/lfortran/lfortran/pull/14946
- fix: keep checking a module after a declaration error in a function by @certik in https://github.com/lfortran/lfortran/pull/14956
- perf: generate machine code at -O0 in the default mode by @certik in https://github.com/lfortran/lfortran/pull/14981
- perf: emit runtime errors as a single runtime helper call by @certik in https://github.com/lfortran/lfortran/pull/14982
- fix: report a deferred constant used as a kind parameter by @certik in https://github.com/lfortran/lfortran/pull/14959
- fix: honor the strides of a character array section in output by @assem2002 in https://github.com/lfortran/lfortran/pull/14702
- fix: prefer a non-elemental specific over an elemental one in defined assignment by @assem2002 in https://github.com/lfortran/lfortran/pull/14851
- fix: validate internal procedure initial targets and captured type scopes by @certik in https://github.com/lfortran/lfortran/pull/14987
- fix: keep the Program node across postponed specification expressions by @assem2002 in https://github.com/lfortran/lfortran/pull/14855
- fix: diagnose incompatible move_alloc FROM and TO arguments by @certik in https://github.com/lfortran/lfortran/pull/15010
- fix: pass ENTRY result variables to the master procedure as arguments by @assem2002 in https://github.com/lfortran/lfortran/pull/14704
- fix: sort DWARF line tables across compilation units by @certik in https://github.com/lfortran/lfortran/pull/15003
- fix: accept cpu_time keyword argument by @certik in https://github.com/lfortran/lfortran/pull/15009
- fix: handle substrings bounded by a template's deferred constant by @schizophrenicmaniac in https://github.com/lfortran/lfortran/pull/14980
- fix: sync host variables around a whole where construct in nested_vars by @assem2002 in https://github.com/lfortran/lfortran/pull/14922
- perf: omit array bounds checks that cannot fail in array_op loops by @certik in https://github.com/lfortran/lfortran/pull/14988
- perf: assign to array sections through their base array by @certik in https://github.com/lfortran/lfortran/pull/14989
- fix: report a generic function reference that matches no specific procedure by @assem2002 in https://github.com/lfortran/lfortran/pull/14870
- fix: require an explicit interface for a procedure named in an interface block by @assem2002 in https://github.com/lfortran/lfortran/pull/14869
- fix: wrap default-integer system_clock count into 0..count_max by @certik in https://github.com/lfortran/lfortran/pull/15068
- fix: resolve later procedure-pointer component interfaces by @certik in https://github.com/lfortran/lfortran/pull/14979
- perf: read local named constant arrays from a read-only global by @certik in https://github.com/lfortran/lfortran/pull/15077
- test: check fixed-length concatenation output by @certik in https://github.com/lfortran/lfortran/pull/15054
- test: cover vector expression with allocatable intent(out) by @certik in https://github.com/lfortran/lfortran/pull/15055
- perf: mark element references with constant in-range subscripts in bounds by @certik in https://github.com/lfortran/lfortran/pull/15086
- perf: select FastISel instead of GlobalISel at -O0 on AArch64 by @certik in https://github.com/lfortran/lfortran/pull/15076
- fix: implement Windows SYSTEM_CLOCK and bound POSIX int64 counts by @certik in https://github.com/lfortran/lfortran/pull/15011
- fix: keep system_clock argument kinds consistent by @certik in https://github.com/lfortran/lfortran/pull/15104
- fix: allocate character PACK temporaries with source length by @certik in https://github.com/lfortran/lfortran/pull/15117
- fix: initialize standard units before child I/O by @certik in https://github.com/lfortran/lfortran/pull/15115
- fix: declare main-program procedures in source order by @certik in https://github.com/lfortran/lfortran/pull/15119
- fix: default-initialize module variables with procedure-pointer and array defaults by @certik in https://github.com/lfortran/lfortran/pull/15121
- feat: implement GNU getcwd intrinsic by @certik in https://github.com/lfortran/lfortran/pull/15123
- fix: reject unsupported selected_int_kind ranges by @certik in https://github.com/lfortran/lfortran/pull/15131
- fix: character formatted I/O, CRLF input and character reallocation by @certik in https://github.com/lfortran/lfortran/pull/15112
- fix(llvm): use the value of an array element as a stop code by @certik in https://github.com/lfortran/lfortran/pull/15148
- fix: see an allocated() inside the arguments of a call when promoting allocatables by @certik in https://github.com/lfortran/lfortran/pull/15149
- fix: inline a call only when its array dummies start where their actuals do by @certik in https://github.com/lfortran/lfortran/pull/15151
- fix: evaluate FORALL right-hand sides before assignment and lower FORALL before array temporaries by @certik in https://github.com/lfortran/lfortran/pull/15116
- fix: initialize saved derived-type locals with non-constant initializers once by @certik in https://github.com/lfortran/lfortran/pull/15120
- fix: record that an elemental procedure is pure unless it is impure by @certik in https://github.com/lfortran/lfortran/pull/15150
- fix(gpu): end the program when a Metal command buffer fails by @certik in https://github.com/lfortran/lfortran/pull/15152
- fix(asr): SymbolDuplicator copies reshape and retargets nested-scope declarations by @certik in https://github.com/lfortran/lfortran/pull/15153
- fix(llvm): keep the loop counters of array copies out of the loops they are in by @certik in https://github.com/lfortran/lfortran/pull/15154
- fix: give a temporary of shared lowering a name that is an identifier by @certik in https://github.com/lfortran/lfortran/pull/15155
- fix(gpu): run stop and error stop on every device through a status buffer by @certik in https://github.com/lfortran/lfortran/pull/15156
- test: Add regression test for nested bind(C) allocatable copyback by @Devkhunger in https://github.com/lfortran/lfortran/pull/15114
- fix: keep aint and anint right for values beyond integer(8) by @assem2002 in https://github.com/lfortran/lfortran/pull/15071
- fix: pad a short record with blanks in formatted READ by @assem2002 in https://github.com/lfortran/lfortran/pull/15072
- Clean-up: declare runtime functions with one helper by @assem2002 in https://github.com/lfortran/lfortran/pull/15170
- fix: connect an unconnected unit to fort.<unit> on READ by @assem2002 in https://github.com/lfortran/lfortran/pull/15069
- fix: report an array passed to a scalar dummy argument by @assem2002 in https://github.com/lfortran/lfortran/pull/15087
- fix: write unformatted sequential records at the current position by @assem2002 in https://github.com/lfortran/lfortran/pull/15078
- fix(gpu): size per-thread workspaces of offloaded loops by @certik in https://github.com/lfortran/lfortran/pull/15159
- fix: import a null procedure component's type into the constructor's scope by @certik in https://github.com/lfortran/lfortran/pull/15166
- fix: import scope-bound symbols when moving procedure signatures by @certik in https://github.com/lfortran/lfortran/pull/15167
- fix(gpu): give device routines storage for run-time sized locals, allocatables and components by @certik in https://github.com/lfortran/lfortran/pull/15161
- GPU: allocate on a device heap what the host cannot size by @certik in https://github.com/lfortran/lfortran/pull/15168
- GPU: correct arrays in device code (lower bounds, strides, sum) by @certik in https://github.com/lfortran/lfortran/pull/15169
- fix: preserve DATA initialized local lifetime by @certik in https://github.com/lfortran/lfortran/pull/15118
- fix: check procedure pointer initial targets against later module interfaces by @certik in https://github.com/lfortran/lfortran/pull/15157
- fix: write no output after errors with --continue-compilation by @certik in https://github.com/lfortran/lfortran/pull/15195
- fix: instantiate procedure interfaces of enclosing template procedures by @certik in https://github.com/lfortran/lfortran/pull/15208
- GPU: device routines and their imports (calls, host association, submodules, nested components) by @certik in https://github.com/lfortran/lfortran/pull/15172
- GPU: launch runtime (release per launch, present() of absent optionals, associate values) by @certik in https://github.com/lfortran/lfortran/pull/15173
- GPU: component fit through type-bound functions and constructs (FIATS main fully offloads on Metal) by @certik in https://github.com/lfortran/lfortran/pull/15174
- fix: run no iteration of an empty do concurrent nest on the GPU by @certik in https://github.com/lfortran/lfortran/pull/15274
- fix: release the contiguous copy of a GPU launch argument by @certik in https://github.com/lfortran/lfortran/pull/15278
- fix: store FORALL vector subscripts and array constructors per iteration by @certik in https://github.com/lfortran/lfortran/pull/15259
- fix: give deferred-length character results of array intrinsics an assumed length by @certik in https://github.com/lfortran/lfortran/pull/15257
- test: move DATA section error tests into continue_compilation_1 by @certik in https://github.com/lfortran/lfortran/pull/15255
- fix: substitute associate names inside BLOCKs of an offloaded loop by @certik in https://github.com/lfortran/lfortran/pull/15282
- fix: procedure pointer components of derived-type named constants by @certik in https://github.com/lfortran/lfortran/pull/15165
- fix: diagnose procedure interfaces that depend on their own characteristics by @certik in https://github.com/lfortran/lfortran/pull/15225
- import retype procedure pointer components in string_length_arguments by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/14484
- Support optional external dummy procedures and their return types by @Jainam-not-a-robot in https://github.com/lfortran/lfortran/pull/13886
- fix: write a runtime implied-do with mixed item types as one list by @assem2002 in https://github.com/lfortran/lfortran/pull/15200
- fix: write internal files that are array sections through a copy by @assem2002 in https://github.com/lfortran/lfortran/pull/15201
- fix: check procedure pointer component interfaces in structure constructors by @certik in https://github.com/lfortran/lfortran/pull/15196
- fix: preserve scope for procedure-pointer character result lengths by @certik in https://github.com/lfortran/lfortran/pull/15299
- fix: READ from a terminal in the REPL and in formatted reads by @certik in https://github.com/lfortran/lfortran/pull/15296
- fix: tokenize standalone attribute statements in fixed form by @certik in https://github.com/lfortran/lfortran/pull/15292
- perf(gpu): reuse device buffers across launches by @certik in https://github.com/lfortran/lfortran/pull/15272
- perf(gpu): asynchronous launches, device-resident data, batched Metal dispatch by @certik in https://github.com/lfortran/lfortran/pull/15283
- perf(gpu): run an iteration of a kernel with few iterations on a SIMD-group by @certik in https://github.com/lfortran/lfortran/pull/15305
- ci: test upstream Fiats main on Metal instead of the lf1 workaround branch by @certik in https://github.com/lfortran/lfortran/pull/15306
- fix: G editing rounding carry and legacy PAUSE statement (f2c suite) by @certik in https://github.com/lfortran/lfortran/pull/15298
- fix: support module-level bind(C) character arrays by @certik in https://github.com/lfortran/lfortran/pull/15362
- fix: share module character arrays across separate objects by @certik in https://github.com/lfortran/lfortran/pull/15371
- fix: use common linkage for uninitialized bind(C) character scalars by @certik in https://github.com/lfortran/lfortran/pull/15372
- fix: diagnose bind(c) character module variables accurately by @certik in https://github.com/lfortran/lfortran/pull/15373
- fix(gpu): give each thread its own per-iteration temporary array by @certik in https://github.com/lfortran/lfortran/pull/15346
- examples: add N-body benchmarks for CPU, OpenMP and Metal by @certik in https://github.com/lfortran/lfortran/pull/15368
- fix: ieee_is_normal returns true for zero by @certik in https://github.com/lfortran/lfortran/pull/15370
- fix: keep compile-time size() extents constant in array types by @certik in https://github.com/lfortran/lfortran/pull/15382
- fix: associate CLASS IS name with a non-pointer polymorphic selector by @certik in https://github.com/lfortran/lfortran/pull/15399
- fix: accept integer1, integer2, real10 and real16 declarations by @certik in https://github.com/lfortran/lfortran/pull/15369
- fix: do not copy a TYPE IS selector passed as an actual argument by @certik in https://github.com/lfortran/lfortran/pull/15374
- fix: do not capture derived-type components as host variables in nested_vars by @certik in https://github.com/lfortran/lfortran/pull/15401
- Fix MSVC compiler warnings on Windows by @certik in https://github.com/lfortran/lfortran/pull/15402
- ci: skip running implicit_typing_13 on LLVM 7 and 8 by @certik in https://github.com/lfortran/lfortran/pull/15423
- fix: preserve C character ABI for named function results by @certik in https://github.com/lfortran/lfortran/pull/15375
- fix: compute the size of a spread result from source and ncopies by @certik in https://github.com/lfortran/lfortran/pull/15376
- fix: finalize allocatable function results after intrinsic assignment by @certik in https://github.com/lfortran/lfortran/pull/15403
- refactor: remove unused NumPyArray and ISODescriptorArray physical types by @certik in https://github.com/lfortran/lfortran/pull/15404
- refactor: make unsupported array physical casts a hard error in LLVM codegen by @certik in https://github.com/lfortran/lfortran/pull/15405
- fix: reclaim deleted buckets in the --detect-leaks hash table by @certik in https://github.com/lfortran/lfortran/pull/15425
- Check integer casts only when assertions are enabled by @certik in https://github.com/lfortran/lfortran/pull/15421
- fix: give the shape array of a character broadcast a FixedSizeArray physical type by @certik in https://github.com/lfortran/lfortran/pull/15411
- gpu: optimize Metal launch sizing and counted device loops by @certik in https://github.com/lfortran/lfortran/pull/15417
- fix: give c_loc of a rank-2 assumed-size array a deferred-shape pointer type by @certik in https://github.com/lfortran/lfortran/pull/15414
- fix: drop removed physical types from LLVM diagnostics by @certik in https://github.com/lfortran/lfortran/pull/15467
- fix: deep-copy derived-type VALUE dummies in the callee by @certik in https://github.com/lfortran/lfortran/pull/15441
- fix: keep the format of internal-file writes of trimmed implied-do values by @certik in https://github.com/lfortran/lfortran/pull/15454
- fix: CLASS DEFAULT associate name for a non-variable selector by @certik in https://github.com/lfortran/lfortran/pull/15400
- test: add regression tests for [#15249] and [#15107] by @certik in https://github.com/lfortran/lfortran/pull/15443
- fix: lower bind(c) character array dummies as byte pointers by @certik in https://github.com/lfortran/lfortran/pull/15442
- fix: keep spread extent callbacks out of std::function by @certik in https://github.com/lfortran/lfortran/pull/15474
- test: cover --shared linking in integration and command-line tests by @certik in https://github.com/lfortran/lfortran/pull/15422
- fix: report the declared kind in logicalN and complexN style suggestions by @certik in https://github.com/lfortran/lfortran/pull/15385
- fix: reject duplicate type declarations with implicit typing by @certik in https://github.com/lfortran/lfortran/pull/15426
- refactor: stop mutating the dummy type in Call_t_body; document the rank(0) cast by @certik in https://github.com/lfortran/lfortran/pull/15469
- fix: define inputs in file open action fixture by @certik in https://github.com/lfortran/lfortran/pull/15476
- fix: do not copy an actual argument for a VALUE dummy that the callee copies by @certik in https://github.com/lfortran/lfortran/pull/15477
- Fix build with libc++ 23.1 by @MehdiChinoune in https://github.com/lfortran/lfortran/pull/15105
- fix: keep the omitted-FILE OPEN name alive for INQUIRE by @certik in https://github.com/lfortran/lfortran/pull/15483
- fix: require FILE= for OPEN with STATUS NEW or REPLACE by @certik in https://github.com/lfortran/lfortran/pull/15494
- fix: accept the 'q' exponent letter in real literals by @assem2002 in https://github.com/lfortran/lfortran/pull/15197
- fix: do not delete unrelated references on a filtered run_tests.py -u by @certik in https://github.com/lfortran/lfortran/pull/15486
- test: drop redundant no-flag references for implicit_typing5/6 by @certik in https://github.com/lfortran/lfortran/pull/15485
- Revert "fix: accept the 'q' exponent letter in real literals" by @assem2002 in https://github.com/lfortran/lfortran/pull/15501
- fix: accept the 'q' exponent letter in real literals by @assem2002 in https://github.com/lfortran/lfortran/pull/15502
- fix: prepare function actuals once before result allocation by @certik in https://github.com/lfortran/lfortran/pull/15445
- fix: copy back a host variable after assigning a part of it by @assem2002 in https://github.com/lfortran/lfortran/pull/15308
- fix: associate optional method arguments before inserting the receiver by @certik in https://github.com/lfortran/lfortran/pull/15503
- fix: leave fort.<unit> when OPEN omits FILE= by @certik in https://github.com/lfortran/lfortran/pull/15495
- fix: pad a short fixed-form line to column 72 in a continued literal by @assem2002 in https://github.com/lfortran/lfortran/pull/15275
- fix: do not reallocate the variable of a WHERE assignment by @assem2002 in https://github.com/lfortran/lfortran/pull/15311
- fix: give function results lower bound 1 at the call site by @assem2002 in https://github.com/lfortran/lfortran/pull/15312
- fix: preserve semantic lower bounds during result preparation by @certik in https://github.com/lfortran/lfortran/pull/15510
- fix: PRIMA build regressions exposed by [#15445] by @certik in https://github.com/lfortran/lfortran/pull/15511
- fix: replace arguments in a result bound that calls a host function by @assem2002 in https://github.com/lfortran/lfortran/pull/15317
- gpu: coalesce contiguous stores and add optional Metal profiling by @certik in https://github.com/lfortran/lfortran/pull/15506
- fix: sequence-associate allocatable array elements with explicit-shape dummies by @certik in https://github.com/lfortran/lfortran/pull/15383
- fix: refresh procedure-null signatures during function lowering by @certik in https://github.com/lfortran/lfortran/pull/15514
- fix: make StringFormat array arguments explicit before codegen by @certik in https://github.com/lfortran/lfortran/pull/15488
- fix: do not finalize the new elements of an array allocated with SOURCE= by @certik in https://github.com/lfortran/lfortran/pull/15493
- fix: size logical array constant data by its one-byte storage by @schizophrenicmaniac in https://github.com/lfortran/lfortran/pull/15351
- fix: build the length of a dimension when its postponed bounds are known by @assem2002 in https://github.com/lfortran/lfortran/pull/14889
- fix: tokenize a bare CYCLE in a fixed-form DO body by @certik in https://github.com/lfortran/lfortran/pull/15543
- fix: run the ASR passes for --show-asm by @certik in https://github.com/lfortran/lfortran/pull/15541
- fix: treat a legacy dummy a(lda,1) as assumed size by @assem2002 in https://github.com/lfortran/lfortran/pull/15090
- fix: ENTRY with an EXTERNAL dummy procedure by @assem2002 in https://github.com/lfortran/lfortran/pull/15100
- fix: copy host variables for calls in do loop bounds and do while tests by @assem2002 in https://github.com/lfortran/lfortran/pull/14898
- Fix CUDA offloading for separately compiled Formal libraries by @certik in https://github.com/lfortran/lfortran/pull/15546
- fix: do not resolve a variable to an external procedure of another unit by @certik in https://github.com/lfortran/lfortran/pull/15550
- fix: evaluate each operand of a defined operator once by @certik in https://github.com/lfortran/lfortran/pull/15578
- fix: compile CUDA device code for the target GPU architecture by @certik in https://github.com/lfortran/lfortran/pull/15559
- fix: map JSON AST/ASR locations back to the original source by @certik in https://github.com/lfortran/lfortran/pull/15613
- fix: reject invalid GPU launches and elide zero-work offloads by @certik in https://github.com/lfortran/lfortran/pull/15562
- fix: evaluate a character conditional expression's test and arms in their own context by @certik in https://github.com/lfortran/lfortran/pull/15540
- test: check that a second type after an interface-less procedure is rejected by @certik in https://github.com/lfortran/lfortran/pull/15618
- docs: note the allocated class component exception in the copy-function comment by @certik in https://github.com/lfortran/lfortran/pull/15619
- fix: map LSP positions back to the original source by @certik in https://github.com/lfortran/lfortran/pull/15630
- fix: correct fixed-form do loop and token end locations by @certik in https://github.com/lfortran/lfortran/pull/15629
- fix: extend if and where block locations to the end statement by @certik in https://github.com/lfortran/lfortran/pull/15635
- fix: give each GPU thread its own copy of per-iteration arrays by @certik in https://github.com/lfortran/lfortran/pull/15569
- test: call a function in a result-size actual argument once by @assem2002 in https://github.com/lfortran/lfortran/pull/15670
- fix: declare only the variables a GPU kernel scope refers to by @certik in https://github.com/lfortran/lfortran/pull/15570
- fix: return allocatable scalar function results through an argument by @certik in https://github.com/lfortran/lfortran/pull/15643
- fix: lower READ and WRITE array items without building ASR in the backend by @certik in https://github.com/lfortran/lfortran/pull/15523
- fix: let user externals take names of non-Fortran registry intrinsics by @certik in https://github.com/lfortran/lfortran/pull/15547
- fix: look up a defined operator(.neqv.) by @assem2002 in https://github.com/lfortran/lfortran/pull/15679
- fix: keep the outer FORALL when a nested FORALL construct has two statements by @assem2002 in https://github.com/lfortran/lfortran/pull/15673
- fix: copy a pointer array function result through a temporary by @assem2002 in https://github.com/lfortran/lfortran/pull/15672
- fix: assign a substring of a host variable in its context variable by @assem2002 in https://github.com/lfortran/lfortran/pull/15598
- perf(gpu): reuse CUDA scratch buffers across launches by @certik in https://github.com/lfortran/lfortran/pull/15580
- test: run the separately compiled GPU tests on the cuda backend by @certik in https://github.com/lfortran/lfortran/pull/15560
- fix(gpu): register any number of CUDA kernels by @certik in https://github.com/lfortran/lfortran/pull/15723
- perf: mark unaliased CUDA kernel buffers restrict by @certik in https://github.com/lfortran/lfortran/pull/15582
- fix(gpu): keep module constants of separately compiled device procedures by @certik in https://github.com/lfortran/lfortran/pull/15761
- perf(gpu): launch CUDA loop nests of two or more dimensions in tiles by @certik in https://github.com/lfortran/lfortran/pull/15728
- perf(gpu): skip copying in an array a kernel assigns whole before reading by @certik in https://github.com/lfortran/lfortran/pull/15584
- perf(gpu): fuse producer and consumer device loops by @certik in https://github.com/lfortran/lfortran/pull/15772
- refactor: pass constant array elements without mutating ASR in LLVM by @certik in https://github.com/lfortran/lfortran/pull/15518
- fix: do not change host declarations when replacing host variables in nested_vars by @certik in https://github.com/lfortran/lfortran/pull/15544
- fix: scope pending PARAMETER and POINTER statements to their unit by @certik in https://github.com/lfortran/lfortran/pull/15545
- fix: compute real(16) math intrinsics in quad precision by @certik in https://github.com/lfortran/lfortran/pull/15729
- fix CI: real(16) test failures on LLVM 7, 8, 10 and with --fast on LLVM 21+ by @assem2002 in https://github.com/lfortran/lfortran/pull/15793
- fix(gpu): two loop fusion legality holes (reallocation, equivalence) by @certik in https://github.com/lfortran/lfortran/pull/15785
- fix: give each extended type the generic bindings it inherits by @assem2002 in https://github.com/lfortran/lfortran/pull/14899
- fix: copy back a complex host variable after assigning one part of it by @assem2002 in https://github.com/lfortran/lfortran/pull/15678
- fix: load a .mod whose type-bound procedure names a procedure from another module by @assem2002 in https://github.com/lfortran/lfortran/pull/15803
- perf(gpu): split device loops into a branch-free interior and a frame by @certik in https://github.com/lfortran/lfortran/pull/15773
- fix: support convert= in open to set the byte order of unformatted data by @schizophrenicmaniac in https://github.com/lfortran/lfortran/pull/15806
- perf(gpu): skew time loops over bands of rows that fit in the cache by @certik in https://github.com/lfortran/lfortran/pull/15774
- fix: match Windows complex JIT result ABIs by @certik in https://github.com/lfortran/lfortran/pull/15813
- fix: export the character comparison runtime for Windows JIT by @certik in https://github.com/lfortran/lfortran/pull/15814
- Get pixi working on Windows by @certik in https://github.com/lfortran/lfortran/pull/15297
- fix: accept named IF, SELECT, WHERE and BLOCK constructs in fixed form by @certik in https://github.com/lfortran/lfortran/pull/15542
- fix: give a SAVE-only variable its IMPLICIT type by @certik in https://github.com/lfortran/lfortran/pull/15556
- fix: missing temporary and copy for overlapping ASSOCIATE selectors by @certik in https://github.com/lfortran/lfortran/pull/15649
- feat: add an opt-in runtime stdin record provider by @certik in https://github.com/lfortran/lfortran/pull/15815
- refactor(gpu): split LoopFusion::try_fuse into phases by @certik in https://github.com/lfortran/lfortran/pull/15789
- test: run the GPU tests that pass on an NVIDIA GPU with the cuda backend by @certik in https://github.com/lfortran/lfortran/pull/15563
- fix: Release build and Docker image on main by @assem2002 in https://github.com/lfortran/lfortran/pull/15825
- FIX CI by @assem2002 in https://github.com/lfortran/lfortran/pull/15826
- fix: serialize the location of ASR product nodes in modfiles by @certik in https://github.com/lfortran/lfortran/pull/15631
- ci: build Quick's native Release compiler with -Werror by @certik in https://github.com/lfortran/lfortran/pull/15827
- fix: read nested implied-do loops in a formatted READ by @certik in https://github.com/lfortran/lfortran/pull/15650
- test: build gpu_cuda_scratch_order for the local GPU by @certik in https://github.com/lfortran/lfortran/pull/15828
- fix: do not offload a do concurrent whose iterations do nothing by @certik in https://github.com/lfortran/lfortran/pull/15830
- fix: compute pointer bounds-spec bounds in semantics, not in the LLVM backend by @certik in https://github.com/lfortran/lfortran/pull/15788
- fix: give using files the module's decision for its procedures' loops by @certik in https://github.com/lfortran/lfortran/pull/15838
- refactor: build the CUDA GPU runtime as C by @certik in https://github.com/lfortran/lfortran/pull/15840
- fix: share cell evaluation between the prompt and the Jupyter kernel by @certik in https://github.com/lfortran/lfortran/pull/15816
- fix: non-rectangular collapsed OpenMP loops skip iterations by @certik in https://github.com/lfortran/lfortran/pull/15841
- fix: hand a GPU plain copy with nothing to copy back over read only by @certik in https://github.com/lfortran/lfortran/pull/15854
- fix: address the review of [#15816] (kernel fd leak, UTF-8, inspection cells, errors, formatting) by @certik in https://github.com/lfortran/lfortran/pull/15862
- fix: reject polymorphic intent(out) dummy of pure procedure by @certik in https://github.com/lfortran/lfortran/pull/15831
- fix: give GPU loop limit temporaries the scalar type of a pointer bound by @certik in https://github.com/lfortran/lfortran/pull/15834
- fix: keep a compound statement whose nested body ends in a removed statement by @certik in https://github.com/lfortran/lfortran/pull/15883
- feat: run the CUDA runtime on a CPU emulation of the CUDA API by @certik in https://github.com/lfortran/lfortran/pull/15856
- refactor: record the extents a bounds check compares in its ASR by @certik in https://github.com/lfortran/lfortran/pull/15843
- fix: check the deferred cudaFree calls of the CUDA GPU runtime by @certik in https://github.com/lfortran/lfortran/pull/15886
- test: select the CUDA tests with one cuda label by @certik in https://github.com/lfortran/lfortran/pull/15885
- asr: add dtio_bindings and dtio_unit to StringFormat by @certik in https://github.com/lfortran/lfortran/pull/15877
- runtime: write DT items through defined output callbacks in the formatter by @certik in https://github.com/lfortran/lfortran/pull/15880
- fix: accept the DT edit descriptor in FORMAT statements by @certik in https://github.com/lfortran/lfortran/pull/15884
- Lower storage_size of run-time length characters in the intrinsic_function pass by @certik in https://github.com/lfortran/lfortran/pull/15863
- refactor: record in ReAlloc when the shape of its object differs by @certik in https://github.com/lfortran/lfortran/pull/15866
- Compute size() of an array section in array_dim_intrinsics_update by @certik in https://github.com/lfortran/lfortran/pull/15867
- Print spread of a scalar without mutating the ASR by @certik in https://github.com/lfortran/lfortran/pull/15868
- test: restore spread ASR verifier diagnostics by @certik in https://github.com/lfortran/lfortran/pull/15925
- fix: lower exit and cycle in GPU kernels by @certik in https://github.com/lfortran/lfortran/pull/15887
- fix: close a named file opened on unit 0, 5 or 6 by @certik in https://github.com/lfortran/lfortran/pull/15904
- fix: give implied-do loops over different derived types a tuple type by @certik in https://github.com/lfortran/lfortran/pull/15876
- fix: resolve inherited defined output bindings and make DTIO callbacks private by @certik in https://github.com/lfortran/lfortran/pull/15897
- fix: write arrays and implied-do loops of derived-type items with DT by @certik in https://github.com/lfortran/lfortran/pull/15903
- feat: route runtime stdin through the evaluation service by @certik in https://github.com/lfortran/lfortran/pull/15818
- refactor: move larger asr_utils.h function bodies into asr_utils.cpp by @assem2002 in https://github.com/lfortran/lfortran/pull/15918
- fix: accept an allocatable integer scalar as an array bound by @assem2002 in https://github.com/lfortran/lfortran/pull/15671
- fix: allow rank and type inquiries about a local in an array bound by @assem2002 in https://github.com/lfortran/lfortran/pull/15701
- fix: keep the value of a variable defined in a GPU loop, privately per thread by @certik in https://github.com/lfortran/lfortran/pull/15896
- fix: give lbound 1 for a function reference with a pointer result by @assem2002 in https://github.com/lfortran/lfortran/pull/15588
- fix: write derived-type items with list-directed defined output through the runtime formatter by @certik in https://github.com/lfortran/lfortran/pull/15913
- fix: resume the parent record at the defined output child's final position by @certik in https://github.com/lfortran/lfortran/pull/15920
- Update reference tests by @certik in https://github.com/lfortran/lfortran/pull/15939
- Verify consistent array physical types (#15839 item 5) by @certik in https://github.com/lfortran/lfortran/pull/15875
- fix: ICE for a defined operator whose array result has a run-time size by @assem2002 in https://github.com/lfortran/lfortran/pull/15677
- fix: cast array bounds of different integer kinds before building the length by @assem2002 in https://github.com/lfortran/lfortran/pull/15601
- fix: give anint's aint helpers the same names with every C++ compiler by @assem2002 in https://github.com/lfortran/lfortran/pull/15945
- fix: bind entities of device-copied procedures in GPU offload by identity by @certik in https://github.com/lfortran/lfortran/pull/15902
- Allocate derived-type scalars on assignment in a pass, not in the LLVM backend by @certik in https://github.com/lfortran/lfortran/pull/15870
- fix: use portable Linux MPI transports in CI by @certik in https://github.com/lfortran/lfortran/pull/15948
- test: disable realloc_lhs_31 until [#15956] is fixed by @assem2002 in https://github.com/lfortran/lfortran/pull/15957
- fix: retarget the calls of nested constructs in a routine copied into a GPU kernel by @assem2002 in https://github.com/lfortran/lfortran/pull/15960
- fix: skip allocate_on_assignment for the C backend by @certik in https://github.com/lfortran/lfortran/pull/15951
- Allocate polymorphic scalars on assignment in a pass, not in the LLVM backend by @certik in https://github.com/lfortran/lfortran/pull/15873
- fix: give the DO CONCURRENT index-name construct scope by @certik in https://github.com/lfortran/lfortran/pull/15888
- Allocate class scalars from class values in a pass, not in the LLVM backend by @certik in https://github.com/lfortran/lfortran/pull/15874
- fix: do not reallocate an assignment target of the same shape by @certik in https://github.com/lfortran/lfortran/pull/15959
New Contributors
- @morphisme made their first contribution in https://github.com/lfortran/lfortran/pull/14338
- @Devkhunger made their first contribution in https://github.com/lfortran/lfortran/pull/15114
Full Changelog: https://github.com/lfortran/lfortran/compare/v0.67.0...v0.68.0