llvm-project/flang/runtime
Peter Klausler 562fd2c99b [flang][runtime] Emit error message rather than crashing for MOD(ULO)(x,P=0)
Add extra arguments and checks to the runtime support library so that
a call to the intrinsic functions MOD and MODULO with "denominator"
argument P of zero will cause a crash with a source location rather
than an uninformative floating-point error or integer division by
zero signal.

Additional work is required in lowering to (1) pass source file path and
source line number arguments and (2) actually call these runtime
library APIs instead of emitting inline code for MOD &/or MODULO.

Differential Revision: https://reviews.llvm.org/D127034
2022-06-04 11:02:48 -07:00
..
FortranMain [flang][Runtime] Use proper prototypes in Fortran_main. NFCI 2022-05-18 08:04:09 +00:00
CMakeLists.txt [flang][driver] Add support for generating executables 2022-04-25 12:00:23 +00:00
ISO_Fortran_binding.cpp [flang] LBOUND() edge case: empty dimension 2022-03-14 11:16:09 -07:00
allocatable.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
assign.cpp [flang] Make subscript list argument a nullable pointer 2021-11-08 11:53:13 -08:00
buffer.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
buffer.h [flang] runtime perf: larger I/O buffer growth increments 2022-01-31 14:53:15 -08:00
character.cpp [flang] Change "bad kind" messages in the runtime to "not yet implemented" 2022-05-10 20:08:03 -07:00
command.cpp Fix invalid overflow check in flang 2022-03-30 16:47:33 +02:00
complex-reduction.c [flang] Change complex type define in runtime for clang-cl 2021-09-22 06:54:33 +00:00
complex-reduction.h [flang] Change complex type define in runtime for clang-cl 2021-09-22 06:54:33 +00:00
config.h.cmake
connection.cpp [flang] Honor RECL= in list-directed/namelist output 2022-03-02 12:07:18 -08:00
connection.h [flang][runtime] Don't pad CHARACTER input at end of record unless PAD='YES' 2022-05-09 12:39:43 -07:00
copy.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
copy.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
derived-api.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
derived.cpp [flang] Fix extent computation in finalization 2022-03-09 09:01:02 -08:00
derived.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
descriptor-io.cpp [flang] Fix repeated "DT" editing 2022-01-21 17:22:51 -08:00
descriptor-io.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
descriptor.cpp [flang][runtime] Ensure PointerDeallocate actually deallocate pointers 2022-03-28 10:22:08 +02:00
dot-product.cpp [flang] Fix DOT_PRODUCT for logical 2021-10-22 15:56:20 -07:00
edit-input.cpp [flang][runtime] Signal new I/O error on floating-point input overflow 2022-06-03 22:55:03 -07:00
edit-input.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
edit-output.cpp [flang][runtime] Fix edge case discrepancies with EN output editing 2022-06-04 09:14:05 -07:00
edit-output.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
environment.cpp [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
environment.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
extensions.cpp [flang] Add CALL FLUSH(n) legacy extension 2021-12-08 08:56:54 -08:00
extrema.cpp [flang] Fix MAXLOC/MINLOC when MASK is scalar .FALSE. 2022-04-27 14:50:00 -07:00
file.cpp [flang][runtime] Fix WRITE after OPEN(.., ACCESS="APPEND") 2022-06-04 09:18:25 -07:00
file.h [flang][runtime] INQUIRE(FILE="...",SIZE=nbytes) 2022-06-03 18:05:27 -07:00
findloc.cpp [flang] Improve runtime crash messages 2022-03-12 15:15:56 -08:00
format-implementation.h [flang][runtime] Signal format error when input field width is zero 2022-06-03 18:11:00 -07:00
format.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
format.h [flang] Do not print format tabs 2022-02-23 20:03:10 -08:00
inquiry.cpp [flang] Improve runtime crash messages 2022-03-12 15:15:56 -08:00
internal-unit.cpp [flang][runtime] Don't crash after surviving internal output overflow 2022-06-04 08:47:13 -07:00
internal-unit.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
io-api.cpp [flang][runtime] Fix deadlock in error recovery 2022-06-04 09:55:53 -07:00
io-error.cpp [flang] Error recovery improvement in runtime (IOMSG=) 2022-03-18 17:24:32 -07:00
io-error.h [flang][runtime] Clean up asynchronous I/O APIs 2022-05-24 07:54:57 -07:00
io-stmt.cpp [flang][runtime] Fix deadlock in error recovery 2022-06-04 09:55:53 -07:00
io-stmt.h [flang][runtime] Fix deadlock in error recovery 2022-06-04 09:55:53 -07:00
iostat.cpp [flang][runtime] Signal new I/O error on floating-point input overflow 2022-06-03 22:55:03 -07:00
lock.h [flang] More Fortran runtime support for CHARACTER operations 2020-06-17 15:51:48 -07:00
main.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
matmul.cpp [flang] Speed common runtime cases of DOT_PRODUCT & MATMUL 2021-10-22 14:36:13 -07:00
memory.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
misc-intrinsic.cpp [flang] Return arrays in Transfer runtime with SIZE argument 2021-12-03 08:23:30 +01:00
namelist.cpp [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
namelist.h [flang] Support NAMELIST input of short arrays 2021-10-22 13:38:11 -07:00
numeric.cpp [flang][runtime] Emit error message rather than crashing for MOD(ULO)(x,P=0) 2022-06-04 11:02:48 -07:00
pointer.cpp [flang][runtime] Ensure PointerDeallocate actually deallocate pointers 2022-03-28 10:22:08 +02:00
product.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
ragged.cpp [flang] Simplify RaggedArrayHeader and make it plain C struct 2021-12-09 22:28:06 +01:00
random.cpp [flang][runtime] Don't let random seed queries change the sequence 2022-06-04 08:01:46 -07:00
reduction-templates.h [flang] Improve runtime crash messages 2022-03-12 15:15:56 -08:00
reduction.cpp [flang] Improve runtime crash messages 2022-03-12 15:15:56 -08:00
stat.cpp [flang] Implement GET_ENVIRONMENT_VARIABLE(VALUE) 2021-11-01 09:19:20 +00:00
stat.h [flang] Implement GET_ENVIRONMENT_VARIABLE(VALUE) 2021-11-01 09:19:20 +00:00
stop.cpp [flang] Rename the runtime routine that reports a fatal user error 2022-02-01 09:01:50 -08:00
sum.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
support.cpp [flang] Define & implement a lowering support API IsContiguous() in runtime 2021-11-30 14:15:56 -08:00
terminator.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
terminator.h [flang] Define & implement a lowering support API IsContiguous() in runtime 2021-11-30 14:15:56 -08:00
time-intrinsic.cpp [flang][MSVC] Fix building with `/permissive-` flag 2022-05-24 23:36:04 -05:00
tools.cpp [flang] Change "bad kind" messages in the runtime to "not yet implemented" 2022-05-10 20:08:03 -07:00
tools.h [flang] Change "unsupported" messages in the runtime to "not yet implemented" 2022-05-05 15:20:01 -07:00
transformational.cpp [flang] Change "bad kind" messages in the runtime to "not yet implemented" 2022-05-10 20:08:03 -07:00
type-code.cpp [flang][runtime] Fix KIND=16 real/complex component I/O 2022-04-25 11:18:21 -07:00
type-info.cpp [flang] Fix character length calculation for Unicode component 2022-05-23 17:48:12 -07:00
type-info.h [flang] Allow for deferred-length character in EstablishDescriptor 2022-02-14 10:05:07 -08:00
unit-map.cpp [flang] Allow more concurrently open NEWUNIT= values, with recycling 2022-02-28 16:13:22 -08:00
unit-map.h [flang] Allow more concurrently open NEWUNIT= values, with recycling 2022-02-28 16:13:22 -08:00
unit.cpp [flang][runtime] Fix WRITE after OPEN(.., ACCESS="APPEND") 2022-06-04 09:18:25 -07:00
unit.h [flang][runtime] Handle BACKSPACE after reading past EOF 2022-05-24 10:27:50 -07:00
utf.cpp [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
utf.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00