v0.42.0
What's Changed
- CI: Consolidate the two workflows by @certik in #5051
- Fix include for Apple by @certik in #5055
- fix: consider last index correctly in
index
intrinsic by @HarshitaKalani in #5053 - rem: present from runtime library as implemented as an intrinsic by @Pranavchiku in #5061
- test: add MRE for function call of a function call for a generic interface by @gxyd in #5068
- fix: isnan() supported for compile time values by @jinangshah21 in #5037
- fix: Spread error for Scalar Source in Spread function by @jinangshah21 in #5008
- tests: add MRE extracted from stdlib by @gxyd in #5075
- feat: Implement 'and' intrinsic function by @jinangshah21 in #5059
- ci: use
node-18.20.3-64bit
for emsdk installation by @Pranavchiku in #5080 - feat: Implemented 'or' and 'xor' intrinsic functions by @jinangshah21 in #5082
- test: add MRE for fastGPT with '--realloc-lhs' flag by @gxyd in #5047
- chore: fix return type of elemental function when any argument is an array by @gxyd in #5103
- port llvm backend changes from simplifier_pass branch by @gxyd in #5110
- Experimental simplifier flag on main + use the flag with 2 tests by @assem2002 in #5095
- Uncomment working test by @assem2002 in #5114
- sync:
implied_do_loops
,init_expr
,pass_utils.h/.cpp
with simplifier by @Pranavchiku in #5115 - sync:
inline_function_calls
andinstantitate_template
pass by @Pranavchiku in #5116 - Sync : ast_body_visitor, ast_common_visitor, CMakeLists, asr_builder,… by @assem2002 in #5118
- Sync : Port some visitors + call the class to start visiting the tran… by @assem2002 in #5119
- fix: Mod Intrinsic with different kinds by @AnshMehta1 in #5058
- fix: Preprocessing when "defined X" is used by @jinangshah21 in #5113
- fix: Passing ArraySection in function is supported by @jinangshah21 in #5127
- Sync : Port class 'ArgSimplifier' by @assem2002 in #5128
- chore: sync
subroutine_from_function
pass with main by @kmr-srbh in #5129 - port test programs from simplifier_pass PR by @gxyd in #5133
- syn: intrinsic_functions.h with main by @Pranavchiku in #5122
- fix: correct pass execution for
simplifier
pass by @kmr-srbh in #5138 - Raise error for duplicate functions in interface by @NishantBansal2003 in #5081
- chore: sync
gen_pass.py
with main by @kmr-srbh in #5146 - chore: sync
array_op
pass with main by @kmr-srbh in #5125 - Sync : asr_util.h by @assem2002 in #5120
- chore: sync
intrinsic_func_registry_util_gen.py
with main by @kmr-srbh in #5159 - restore array_op pass in pass_manager for "experimental simplifier" by @gxyd in #5162
- chore: sync
asdl_cpp.py
with main by @kmr-srbh in #5160 - sync integration tests from simplifier_pass branch by @gxyd in #5165
- sync: update simplifier.cpp from simplifier_pass branch by @gxyd in #5167
- sync: update asr_to_llvm.cpp by @gxyd in #5168
- sync:
intrinsic_function.cpp
,intrinsic_array_function_registry.h
with simplifier by @Pranavchiku in #5126 - chore: sync
where
pass with main by @kmr-srbh in #5130 - sync: asr_to_wasm.cpp from simplifier pass branch by @gxyd in #5171
- chore: sync
asr_verify
with main by @kmr-srbh in #5136 - chore: bring back changes from older
main
usinguse_experimental_simplifier
guard by @kmr-srbh in #5179 - Turn on testing with experiemntal-simplifier for some tests by @assem2002 in #5184
- use 'external' variable instead of 'static' variable by @gxyd in #5187
- minor: remove extra line empty line by @gxyd in #5192
- chore: use
ASRUtils::use_experimental_simplifier
for enabling/disabling experimental simplifier by @gxyd in #5190 - Enable all intrinsics for simplifier by @certik in #5194
- chore: enable functional test by @kmr-srbh in #5197
- Print LLVM version in
--version
by @certik in #5200 - feat: error resilient AST to ASR by @Pranavchiku in #5054
- fix: Optional arguments in
get_command
intrinsic by @jinangshah21 in #5204 - chore: tokenize interface in fixed form program by @gxyd in #5205
- CI: test with
--experimental-simplifier
flag for some third party packages by @gxyd in #5196 - Adding Semantic Check for non-constant variable in dimension expression by @AnshMehta1 in #5176
- feat: Collapse clause support by @adit4443ya in #5011
- chore: tokenize 'allocate'/'deallocate' statement in fixed-form by @gxyd in #5211
- chore: use int instead of unsigned int in comparison operation by @adit4443ya in #5210
- fix: m_type_declaration corrected for procedure declaration by @jinangshah21 in #5208
- Mod refactoring changes and extended logic to real by @AnshMehta1 in #5149
- test: added subroutine call in procedure declaration test by @jinangshah21 in #5217
- enh : Create physical string descriptor to be used with allocatable strings by @assem2002 in #4918
- bug: fix regex for 'TR'/'TL' format specification in tokenizer by @gxyd in #5219
- Fix array constructor function by @assem2002 in #5216
- enh: implement "TL/TR" format specifiers by @gxyd in #5225
- enh: Fortran backend to visit
Print
arguments by @Pranavchiku in #5223 - fix: Array in ArrayInitializer is checked before dimension error by @jinangshah21 in #5228
- chore: tokenize 'do concurrent' in fixed-form program by @gxyd in #5229
- chore: tokenize 'FLUSH' in fixedform by @gxyd in #5235
- chore: tokenize derived type in fixed form program by @gxyd in #5237
- CI: fix bug with fastGPT ubuntu & fpm in Test LLVM CI job by @gxyd in #5232
- ci: attempt to reduce number of jobs by lumping tests by @Pranavchiku in #5206
- chore: clear external_procedure after visiting subroutine by @Pranavchiku in #5241
- enh: r2r logic to avoid unnecessary cast node by @Pranavchiku in #5244
- make array_02 error resilient by @AnshMehta1 in #5230
- ci: refactor Test LLVM to speedup fastGPT and stdlib, merge check debug build by @Pranavchiku in #5242
- chore: expect variable value for implied do loop start, end, increment in data statement by @gxyd in #5247
- enh: declare implicit variable logic to handle parameter value by @Pranavchiku in #5252
- Error resilient array 05 array 06 by @AnshMehta1 in #5253
- Error resilient array_04 by @AnshMehta1 in #5257
- fix: return non-zero exit code with
--continue-compilation
by @Pranavchiku in #5255 - Handle allocatable args for max and min intrinsic by @HarshitaKalani in #5266
- Ref: align naming of error file by @parth121101 in #5268
- allow 'derived type' without start 'program' in parser by @gxyd in #5265
- Add compiler flag for LLVM stacktraces by @advikkabra in #5256
- ci: merge
test_llvm_wasm
totest_llvm
and test WASM for LLVM 10 and 19 by @Pranavchiku in #5254 - Allow enum in interactive mode by @certik in #5275
- Parser: allow parameter in interactive mode by @certik in #5276
- enh: frontend to support keyword argument in array reshape by @Pranavchiku in #5277
- DEV: Added simplification in
ArraySize
for type by @czgdp1807 in #5267 - enh: frontend to support procedure call by @Pranavchiku in #5282
- [MLIR][Refactor] Rename b (OpBuilder) to builder by @Thirumalai-Shaktivel in #5281
- Utilize size and capacity for optimizing string allocation and copying by @assem2002 in #5239
- Fix : intent out with allocatable internal members of passed structType argument by @assem2002 in #5264
- refactor(ASR): rename
Character
ASR node toString
by @kmr-srbh in #4695 - Reduce severity of missing input file by @pjh40 in #5289
- Semantics: check that Var is either Variable or Function by @certik in #5291
- Improve the error message for Program as a Var by @certik in #5293
- fix: handling of
where
on elemental function with array argument by @Pranavchiku in #5301 - enh: support integer(8) in spread intrinsic by @Pranavchiku in #5302
- Error resilient array-03 by @AnshMehta1 in #5303
- fix: PR#5247 by applying review by @Pranavchiku in #5296
- Enforce 72-column limit on fixed-form inputs by @pjh40 in #5306
- Error resilient array constructor with asterisk in type spec by @parth121101 in #5300
- ref: frontend to not create Enum_t instead add symbols in parent_scope by @Pranavchiku in #5310
- Treat spaces in first 72 columns as a comment by @pjh40 in #5315
- Initialize the
save
variable in LLVM by @certik in #5316 - Fix integer/real/logical save variables by @certik in #5317
- CI: set the packages to specific versions by @certik in #5322
- Chore : Add runtime error when allocating already allocated string by @assem2002 in #5320
- Adjust DATA statement parsing by @pjh40 in #5318
- CI: speedup dftatom tests by @certik in #5323
- CI: do not run simplifier for llvm_wasm tests by @certik in #5324
- feat: error resilient intrinsic function by @HarshitaKalani in #5326
- feat: error resilient array shape/dimension by @HarshitaKalani in #5325
- feat: error resilient arithmetic if by @parth121101 in #5307
- feat: error resilient dim in size intrinsic by @HarshitaKalani in #5330
- enh: Fortran backend : Fix C_ptr by @adit4443ya in #5278
- Fix: Handling maxval array function with comparision operator by @AnshMehta1 in #5336
- enh: make_array_size_t_util to support IntrinsicArrayFunction by @Pranavchiku in #5346
- fix: parser to throw multiple error messages only when
--continue-compilation
is enabled by @Pranavchiku in #5343 - feat: error resilient atmoic ops and add a single test file by @HarshitaKalani in #5347
- cpp: implement the #include directive by @certik in #5358
- Make the preprocessor return regular error messages by @certik in #5360
- Parser: allow to declare a
procedure(type)
type by @certik in #5361 - [MLIR] Add support for basic real type along with tests by @Thirumalai-Shaktivel in #5348
- use correct way of initialization in test case by @gxyd in #5342
- Fix a bug in fixed-form tokenizer for assignments by @gxyd in #5369
- Rework the declaration parsing by @certik in #5364
- Fix temporary creation for ArraySize argument by @czgdp1807 in #5371
- enh: reordered checking of arg type in
make_ArraySize_util
by @jinangshah21 in #5367 - feat: error resilient errors by @parth121101 in #5354
- feat : error resilient data implied do by @AnshMehta1 in #5359
- feat: error resilient kind parameter for intrinsics by @HarshitaKalani in #5345
- feat: error resilient coarrays, compare, complex by @parth121101 in #5374
- Initalize save variables in program for arrays and complex by @assem2002 in #5373
- chore: use empty dims for mask argument in maxminloc instantiation by @Pranavchiku in #5376
- enh: intrinsic function pass to allocate temporary of intrinsic Transpose by @Pranavchiku in #5349
- enh: set_allocation_size for transpose intrinsic array function by @gxyd in #5377
- ref: combined errors in single file by @parth121101 in #5381
- Enh : Utilize stringDescriptor size for
len()
by @assem2002 in #5383 - bug: fix array type in create_implicit_interface_function by @gxyd in #5387
New Contributors
- @NishantBansal2003 made their first contribution in #5081
- @pjh40 made their first contribution in #5289
Full Changelog: v0.41.0...v0.42.0