From d4609ae47d16a8f5ccd761fa1b61cf52505b1a08 Mon Sep 17 00:00:00 2001 From: Peter Steinfeld Date: Mon, 9 May 2022 14:12:41 -0700 Subject: [PATCH] [flang] Change "bad kind" messages in the runtime to "not yet implemented" Similar to change D125046. If a programmer is able to compile and link a program that contains types that are not yet supported by the runtime, it must be because they're not yet implemented. This change will make it easier to find unimplemented code in tests. Differential Revision: https://reviews.llvm.org/D125267 --- flang/runtime/character.cpp | 4 ++-- flang/runtime/random.cpp | 10 ++++++---- flang/runtime/tools.cpp | 3 ++- flang/runtime/transformational.cpp | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/flang/runtime/character.cpp b/flang/runtime/character.cpp index 50f796d..2264fe6 100644 --- a/flang/runtime/character.cpp +++ b/flang/runtime/character.cpp @@ -253,7 +253,7 @@ static void LenTrimKind(Descriptor &result, const Descriptor &string, int kind, result, string, terminator); break; default: - terminator.Crash("LEN_TRIM: bad KIND=%d", kind); + terminator.Crash("not yet implemented: LEN_TRIM: KIND=%d", kind); } } @@ -454,7 +454,7 @@ static void GeneralCharFuncKind(Descriptor &result, const Descriptor &string, result, string, arg, back, terminator); break; default: - terminator.Crash("INDEX/SCAN/VERIFY: bad KIND=%d", kind); + terminator.Crash("not yet implemented: INDEX/SCAN/VERIFY: KIND=%d", kind); } } diff --git a/flang/runtime/random.cpp b/flang/runtime/random.cpp index a2753da..8f8145b 100644 --- a/flang/runtime/random.cpp +++ b/flang/runtime/random.cpp @@ -108,7 +108,8 @@ void RTNAME(RandomNumber)( break; #endif default: - terminator.Crash("RANDOM_NUMBER(): bad REAL kind %d", kind); + terminator.Crash( + "not yet implemented: RANDOM_NUMBER(): REAL kind %d", kind); } } @@ -127,7 +128,8 @@ void RTNAME(RandomSeedSize)( *size.OffsetElement>() = 1; break; default: - terminator.Crash("RANDOM_SEED(SIZE=): bad kind %d\n", kind); + terminator.Crash( + "not yet implemented: RANDOM_SEED(SIZE=): kind %d\n", kind); } } @@ -148,7 +150,7 @@ void RTNAME(RandomSeedPut)( seed = *put.OffsetElement>(); break; default: - terminator.Crash("RANDOM_SEED(PUT=): bad kind %d\n", kind); + terminator.Crash("not yet implemented: RANDOM_SEED(PUT=): kind %d\n", kind); } { CriticalSection critical{lock}; @@ -186,7 +188,7 @@ void RTNAME(RandomSeedGet)( *got.OffsetElement>() = seed; break; default: - terminator.Crash("RANDOM_SEED(GET=): bad kind %d\n", kind); + terminator.Crash("not yet implemented: RANDOM_SEED(GET=): kind %d\n", kind); } } } // extern "C" diff --git a/flang/runtime/tools.cpp b/flang/runtime/tools.cpp index 598083b..ccea795 100644 --- a/flang/runtime/tools.cpp +++ b/flang/runtime/tools.cpp @@ -106,7 +106,8 @@ void CheckConformability(const Descriptor &to, const Descriptor &x, void CheckIntegerKind(Terminator &terminator, int kind, const char *intrinsic) { if (kind < 1 || kind > 16 || (kind & (kind - 1)) != 0) { - terminator.Crash("%s: bad KIND=%d argument", intrinsic, kind); + terminator.Crash( + "not yet implemented: %s: KIND=%d argument", intrinsic, kind); } } } // namespace Fortran::runtime diff --git a/flang/runtime/transformational.cpp b/flang/runtime/transformational.cpp index 803c55b..ac12627 100644 --- a/flang/runtime/transformational.cpp +++ b/flang/runtime/transformational.cpp @@ -106,7 +106,7 @@ static void DefaultInitialize( static_cast(' ')); break; default: - terminator.Crash("EOSHIFT: bad CHARACTER kind %d", kind); + terminator.Crash("not yet implemented: EOSHIFT: CHARACTER kind %d", kind); } } else { std::memset(result.raw().base_addr, 0, bytes); -- 2.7.4