[clang] [flang] [llvm] [flang-rt] Pass the whole path of libflang_rt.runtime.a to linker on AIX and LoP (PR #131041)

2025-04-04 Thread Peter Klausler via cfe-commits
klausler wrote: Still fails in my x86-64 environment. https://github.com/llvm/llvm-project/pull/131041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [llvm] [flang-rt] Pass the whole path of libflang_rt.runtime.a to linker on AIX and LoP (PR #131041)

2025-04-03 Thread Peter Klausler via cfe-commits
klausler wrote: ``` FAIL: Flang :: Driver/linker-flags.f90 (1 of 3430) TEST 'Flang :: Driver/linker-flags.f90' FAILED Exit Code: 1 Command Output (stderr): -- /home/pklausler/llvm-project/build/x86/gcc/9.3.0/Release/shared/bin/flang -### --target=ppc64

[clang] [flang] [flang] Add support for -fimplicit-none-ext option (PR #125248)

2025-01-31 Thread Peter Klausler via cfe-commits
@@ -54,7 +54,7 @@ ENUM_CLASS(LanguageFeature, BackslashEscapes, OldDebugLines, PolymorphicActualAllocatableOrPointerToMonomorphicDummy, RelaxedPureDummy, UndefinableAsynchronousOrVolatileActual, AutomaticInMainProgram, PrintCptr, SavedLocalInSpecExpr, PrintNamelist,

[clang] [flang] [flang] Add support for -fimplicit-none-ext option (PR #125248)

2025-01-31 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. Well done! Thank you. https://github.com/llvm/llvm-project/pull/125248 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Add support for -fimplicit-none-ext option (PR #125248)

2025-01-31 Thread Peter Klausler via cfe-commits
https://github.com/klausler edited https://github.com/llvm/llvm-project/pull/125248 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [lld] [Flang] Don't use FortranDecimal for runtime (PR #121997)

2025-01-09 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. https://github.com/llvm/llvm-project/pull/121997 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [lld] [Flang] Remove FortranDecimal library (PR #121997)

2025-01-08 Thread Peter Klausler via cfe-commits
klausler wrote: can you accomplish your goals while leaving the binary/decimal package's sources and headers in their own directory? they constitute a stand-alone package that would lose its identity if the files were to be scattered elsewhere. https://github.com/llvm/llvm-project/pull/12199

[clang] [flang] [flang][driver] add option to make all main program variable static (PR #121968)

2025-01-07 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. https://github.com/llvm/llvm-project/pull/121968 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-12-18 Thread Peter Klausler via cfe-commits
https://github.com/klausler closed https://github.com/llvm/llvm-project/pull/113504 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-11-20 Thread Peter Klausler via cfe-commits
@@ -0,0 +1,119 @@ + + +# Fortran Extensions supported by Flang + +```{contents} +--- +local: +--- +``` + +For better compatibility with GNU Fortran and Sun Fortran, +this compiler supports an option (`-funsigned`) that enables +the `UNSIGNED` data type, constants, intrinsic functi

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-11-15 Thread Peter Klausler via cfe-commits
https://github.com/klausler ready_for_review https://github.com/llvm/llvm-project/pull/113504 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-11-15 Thread Peter Klausler via cfe-commits
klausler wrote: I've exercised all of the operations and intrinsic procedures with end-to-end testing; those tests will end up in llvm-test-suite later. So I'm turning off "draft" status now for this PR, and request your reviews. Thank you in advance. https://github.com/llvm/llvm-project/pul

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-11-15 Thread Peter Klausler via cfe-commits
https://github.com/klausler edited https://github.com/llvm/llvm-project/pull/113504 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-25 Thread Peter Klausler via cfe-commits
@@ -213,6 +213,22 @@ def fir_IntegerType : FIR_Type<"Integer", "int"> { }]; } +def fir_UnsignedType : FIR_Type<"Unsigned", "unsigned"> { klausler wrote: If I comment out the appearance of `fir_UnsignedType.predicate` in `AnyIntegerLike` with ``` def AnyIn

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-25 Thread Peter Klausler via cfe-commits
@@ -400,6 +400,69 @@ constexpr TypeBuilderFunc getModel() { return fir::ReferenceType::get(f(context)); }; } +template <> +constexpr TypeBuilderFunc getModel() { + return getModel(); klausler wrote: I did try marking all of these explicitly unsigned whe

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-25 Thread Peter Klausler via cfe-commits
@@ -968,21 +968,41 @@ struct BinaryOp {}; fir::FirOpBuilder &builder, \ const Op &, hlfir::Entity lhs, \ hlfir::Entity rhs) {

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-25 Thread Peter Klausler via cfe-commits
@@ -135,8 +141,12 @@ static constexpr TypePattern SubscriptInt{IntType, KindCode::subscript}; // Match any kind of some intrinsic or derived types static constexpr TypePattern AnyInt{IntType, KindCode::any}; +static constexpr TypePattern AnyUnsigned{UnsignedType, KindCode::an

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-25 Thread Peter Klausler via cfe-commits
https://github.com/klausler edited https://github.com/llvm/llvm-project/pull/113504 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-24 Thread Peter Klausler via cfe-commits
@@ -0,0 +1,116 @@ + + +# Fortran Extensions supported by Flang + +```{contents} +--- +local: +--- +``` + +For better compatibility with GNU Fortran and Sun Fortran, +this compiler supports an option (`-funsigned`) that enables +the `UNSIGNED` data type, constants, intrinsic functi

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-24 Thread Peter Klausler via cfe-commits
@@ -400,6 +400,69 @@ constexpr TypeBuilderFunc getModel() { return fir::ReferenceType::get(f(context)); }; } +template <> +constexpr TypeBuilderFunc getModel() { + return getModel(); klausler wrote: The existing code does not distinguish `unsigned int`

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-24 Thread Peter Klausler via cfe-commits
@@ -213,6 +213,22 @@ def fir_IntegerType : FIR_Type<"Integer", "int"> { }]; } +def fir_UnsignedType : FIR_Type<"Unsigned", "unsigned"> { klausler wrote: I get HLFIR verifier errors on things like unsigned assignments if that type isn't defined and included

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-24 Thread Peter Klausler via cfe-commits
@@ -968,21 +968,41 @@ struct BinaryOp {}; fir::FirOpBuilder &builder, \ const Op &, hlfir::Entity lhs, \ hlfir::Entity rhs) {

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-24 Thread Peter Klausler via cfe-commits
@@ -178,7 +192,12 @@ static constexpr TypePattern SameType{AnyType, KindCode::same}; // universal extension feature. static constexpr TypePattern OperandReal{RealType, KindCode::operand}; static constexpr TypePattern OperandInt{IntType, KindCode::operand}; +static constexpr Ty

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-24 Thread Peter Klausler via cfe-commits
klausler wrote: > Seems a place that needs to add UNSIGNED type case > > ``` > llvm-project/flang/lib/Semantics/resolve-names.cpp:7597:16: error: > enumeration value 'Unsigned' not handled in switch [-Werror,-Wswitch] > switch (type.category()) { > ~^~ > llvm-project/fla

[clang] [flang] [flang] Add UNSIGNED (PR #113504)

2024-10-23 Thread Peter Klausler via cfe-commits
https://github.com/klausler converted_to_draft https://github.com/llvm/llvm-project/pull/113504 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [llvm] [openmp] [flang][driver] rename flang-new to flang (PR #110023)

2024-10-10 Thread Peter Klausler via cfe-commits
klausler wrote: > Which I don't think the rename is at fault for. If you rebase to current llvm-project/main, that test will (or should) work; it got broken yesterday and was fixed later. https://github.com/llvm/llvm-project/pull/110023 ___ cfe-commi

[clang] [flang] [llvm] [openmp] [flang][driver] rename flang-new to flang (PR #110023)

2024-10-10 Thread Peter Klausler via cfe-commits
klausler wrote: > @klausler , can you point me specifically at the failure messages? The > failures I've seen so far from the merge did not look related to my > (admittedly untrained) eye. I ran the tests in the repo and they passed > locally. Are there other tests somewhere that need to be up

[clang] [flang] [llvm] [openmp] [flang][driver] rename flang-new to flang (PR #110023)

2024-10-10 Thread Peter Klausler via cfe-commits
klausler wrote: There are multiple weird failures in llvm-test-suite where clang++ complains about unknown options that look like they're slang-only options. Did you run llvm-test-suite before merging? Please check. These failures are going to cause build bot failures shortly in the clang-*

[clang] [flang] [flang][preprocessor] Don't expand INCLUDE under -E by default (PR #110333)

2024-09-30 Thread Peter Klausler via cfe-commits
https://github.com/klausler closed https://github.com/llvm/llvm-project/pull/110333 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][preprocessor] Don't expand INCLUDE under -E by default (PR #110333)

2024-09-27 Thread Peter Klausler via cfe-commits
https://github.com/klausler created https://github.com/llvm/llvm-project/pull/110333 Fortran INCLUDE lines have (until now) been treated like #include directives. This isn't how things work with other Fortran compilers when running under the -E option for preprocessing only, so stop doing it

[clang] [flang] Allow disabling of types from the command line (PR #107126)

2024-09-03 Thread Peter Klausler via cfe-commits
@@ -6761,6 +6761,12 @@ def fdefault_integer_8 : Flag<["-"],"fdefault-integer-8">, Group, HelpText<"Set the default integer and logical kind to an 8 byte wide type">; def fdefault_real_8 : Flag<["-"],"fdefault-real-8">, Group, HelpText<"Set the default real kind to an 8 byt

[clang] [flang] Allow disabling of types from the command line (PR #107126)

2024-09-03 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. https://github.com/llvm/llvm-project/pull/107126 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Add -fhermetic-module-files (PR #98083)

2024-07-11 Thread Peter Klausler via cfe-commits
https://github.com/klausler closed https://github.com/llvm/llvm-project/pull/98083 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Add -fhermetic-module-files (PR #98083)

2024-07-08 Thread Peter Klausler via cfe-commits
https://github.com/klausler created https://github.com/llvm/llvm-project/pull/98083 Module files emitted by this Fortran compiler are valid Fortran source files. Symbols that are USE-associated into modules are represented in their module files with USE statements and special comments with ha

[clang] [flang] [flang] New -fdebug-unparse-with-modules option (PR #91660)

2024-05-15 Thread Peter Klausler via cfe-commits
https://github.com/klausler closed https://github.com/llvm/llvm-project/pull/91660 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] New -fdebug-unparse-with-modules option (PR #91660)

2024-05-09 Thread Peter Klausler via cfe-commits
https://github.com/klausler created https://github.com/llvm/llvm-project/pull/91660 This option is a compilation action that parses a source file and performs semantic analysis on it, like the existing -fdebug-unparse option does. Its output, however, is preceded by the effective contents of

[clang] [flang] [Flang] RFC: Add support for -w option (PR #90420)

2024-04-29 Thread Peter Klausler via cfe-commits
klausler wrote: See https://github.com/llvm/llvm-project/pull/90518, which I think would greatly ease implementation of `-w`. https://github.com/llvm/llvm-project/pull/90420 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.or

[clang] [flang] [Flang] RFC: Add support for -w option (PR #90420)

2024-04-29 Thread Peter Klausler via cfe-commits
klausler wrote: I am finishing up a patch that ensures that all warning messages are conditional in Semantics. https://github.com/llvm/llvm-project/pull/90420 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailm

[clang] [flang] [lld] [flang] Generate main only when a Fortran program statement is present (PR #89938)

2024-04-24 Thread Peter Klausler via cfe-commits
@@ -0,0 +1,63 @@ +//===-- Main.cpp - generate main runtime API calls *- C++ klausler wrote: This header comment needs to be cleaned up. https://github.com/llvm/llvm-project/pull/89938 ___ cfe-commits ma

[clang] [flang] [lld] [flang] Generate main only when a Fortran program statement is present (PR #89938)

2024-04-24 Thread Peter Klausler via cfe-commits
https://github.com/klausler edited https://github.com/llvm/llvm-project/pull/89938 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [lld] [flang] Generate main only when a Fortran program statement is present (PR #89938)

2024-04-24 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. https://github.com/llvm/llvm-project/pull/89938 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][Frontend] Implement printing defined macros via -dM (PR #87627)

2024-04-10 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. https://github.com/llvm/llvm-project/pull/87627 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][Frontend] Implement printing defined macros via -dM (PR #87627)

2024-04-09 Thread Peter Klausler via cfe-commits
klausler wrote: > How is this code used outside of LLVM? Why do people want to use _without_ > LLVM? Just curious. There are people who want to construct tools to analyze or restructure Fortran programs outside of the context of compilation, and need to have access to a good parse tree or sym

[clang] [flang] [flang][Frontend] Implement printing defined macros via -dM (PR #87627)

2024-04-09 Thread Peter Klausler via cfe-commits
@@ -46,6 +49,38 @@ bool Definition::set_isDisabled(bool disable) { return was; } +void Definition::Print( +llvm::raw_ostream &out, llvm::StringRef macroName) const { + if (!isFunctionLike_) { +// If it's not a function-like macro, then just print the replacement. +

[clang] [flang] [flang][Frontend] Implement printing defined macros via -dM (PR #87627)

2024-04-09 Thread Peter Klausler via cfe-commits
@@ -49,15 +51,21 @@ class Definition { TokenSequence Apply(const std::vector &args, Prescanner &); + void Print(llvm::raw_ostream &out, llvm::StringRef macroName = "") const; klausler wrote: `const char *` would be a more portable type for `macroName` for

[clang] [flang] [flang][Frontend] Implement printing defined macros via -dM (PR #87627)

2024-04-09 Thread Peter Klausler via cfe-commits
@@ -49,15 +51,21 @@ class Definition { TokenSequence Apply(const std::vector &args, Prescanner &); + void Print(llvm::raw_ostream &out, llvm::StringRef macroName = "") const; + private: static TokenSequence Tokenize(const std::vector &argNames, const TokenSequen

[clang] [flang] [RFC][flang][runtime] Add FortranFloat128Math wrapper library. (PR #81971)

2024-02-20 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. https://github.com/llvm/llvm-project/pull/81971 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libc] [llvm] [clang] [clang-tools-extra] [flang] [compiler-rt] Apply kind code check on exitstat and cmdstat (PR #78286)

2024-01-23 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. https://github.com/llvm/llvm-project/pull/78286 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [libc] [clang] [compiler-rt] [llvm] [flang] Apply kind code check on exitstat and cmdstat (PR #78286)

2024-01-23 Thread Peter Klausler via cfe-commits
@@ -122,10 +122,22 @@ void RTNAME(ExecuteCommandLine)(const Descriptor &command, bool wait, if (exitstat) { RUNTIME_CHECK(terminator, IsValidIntDescriptor(exitstat)); +auto exitstatKind{exitstat->type().GetCategoryAndKind()->second}; +if (exitstatKind < 4) { ---

[flang] [clang] [compiler-rt] [llvm] [clang-tools-extra] [libc] Apply kind code check on exitstat and cmdstat (PR #78286)

2024-01-23 Thread Peter Klausler via cfe-commits
https://github.com/klausler commented: Is there another patch that adds integer kind handling for these two arguments to the runtime implementation? https://github.com/llvm/llvm-project/pull/78286 ___ cfe-commits mailing list cfe-commits@lists.llvm.or

[clang] [llvm] [clang-tools-extra] [flang] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2024-01-04 Thread Peter Klausler via cfe-commits
https://github.com/klausler edited https://github.com/llvm/llvm-project/pull/74077 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[flang] [llvm] [clang] [clang-tools-extra] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2024-01-04 Thread Peter Klausler via cfe-commits
@@ -173,5 +173,72 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from) { ShallowCopy(to, from, to.IsContiguous(), from.IsContiguous()); } +RT_API_ATTRS const char *EnsureNullTerminated( +const char *str, std::size_t length, Terminator &terminat

[clang] [llvm] [flang] [clang-tools-extra] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2024-01-04 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. https://github.com/llvm/llvm-project/pull/74077 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [flang] [clang] [clang-tools-extra] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2024-01-04 Thread Peter Klausler via cfe-commits
@@ -0,0 +1,206 @@ +//===-- runtime/execute.cpp ---===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[flang] [clang-tools-extra] [llvm] [clang] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2024-01-04 Thread Peter Klausler via cfe-commits
@@ -0,0 +1,206 @@ +//===-- runtime/execute.cpp ---===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[libcxx] [clang-tools-extra] [flang] [lldb] [clang] [libc] [compiler-rt] [llvm] [flang] FDATE extension implementation: get date and time in ctime format (PR #71222)

2024-01-03 Thread Peter Klausler via cfe-commits
@@ -22,6 +22,9 @@ extern "C" { // CALL FLUSH(n) antedates the Fortran 2003 FLUSH statement. void FORTRAN_PROCEDURE_NAME(flush)(const int &unit); +// GNU extension subroutine FDATE +void FORTRAN_PROCEDURE_NAME(fdate)(std::byte *string, std::int64_t length); kla

[clang-tools-extra] [flang] [llvm] [libc] [compiler-rt] [lldb] [clang] [libcxx] [flang] FDATE extension implementation: get date and time in ctime format (PR #71222)

2024-01-03 Thread Peter Klausler via cfe-commits
@@ -43,6 +66,26 @@ void FORTRAN_PROCEDURE_NAME(flush)(const int &unit) { } } // namespace io +// CALL FDATE(DATE) +void FORTRAN_PROCEDURE_NAME(fdate)(std::byte *arg, std::int64_t length) { + // Day Mon dd hh:mm:ss \n\0 is 26 characters, e.g. + // Tue May 26 21:51:03 2015

[clang-tools-extra] [flang] [llvm] [libc] [compiler-rt] [lldb] [clang] [libcxx] [flang] FDATE extension implementation: get date and time in ctime format (PR #71222)

2024-01-03 Thread Peter Klausler via cfe-commits
@@ -43,6 +66,26 @@ void FORTRAN_PROCEDURE_NAME(flush)(const int &unit) { } } // namespace io +// CALL FDATE(DATE) +void FORTRAN_PROCEDURE_NAME(fdate)(std::byte *arg, std::int64_t length) { + // Day Mon dd hh:mm:ss \n\0 is 26 characters, e.g. + // Tue May 26 21:51:03 2015

[flang] [clang] [libcxx] [lldb] [clang-tools-extra] [llvm] [compiler-rt] [libc] [flang] FDATE extension implementation: get date and time in ctime format (PR #71222)

2024-01-03 Thread Peter Klausler via cfe-commits
@@ -22,6 +22,9 @@ extern "C" { // CALL FLUSH(n) antedates the Fortran 2003 FLUSH statement. void FORTRAN_PROCEDURE_NAME(flush)(const int &unit); +// GNU extension subroutine FDATE +void FORTRAN_PROCEDURE_NAME(fdate)(std::byte *string, std::int64_t length); kla

[clang-tools-extra] [flang] [llvm] [clang] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-27 Thread Peter Klausler via cfe-commits
@@ -173,5 +173,70 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from) { ShallowCopy(to, from, to.IsContiguous(), from.IsContiguous()); } +RT_API_ATTRS const char *EnsureNullTerminated( +const char *str, size_t length, Terminator &terminator) {

[llvm] [clang] [flang] [clang-tools-extra] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-27 Thread Peter Klausler via cfe-commits
@@ -0,0 +1,31 @@ +//===-- include/flang/Runtime/command.h -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[clang] [llvm] [flang] [clang-tools-extra] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-27 Thread Peter Klausler via cfe-commits
@@ -0,0 +1,203 @@ +//===-- runtime/execute.cpp ---===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[llvm] [clang-tools-extra] [flang] [clang] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-27 Thread Peter Klausler via cfe-commits
@@ -411,6 +412,24 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from, bool toIsContiguous, bool fromIsContiguous); RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from); +RT_API_ATTRS const char *EnsureNullTerminated( +

[llvm] [flang] [clang-tools-extra] [clang] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-27 Thread Peter Klausler via cfe-commits
@@ -0,0 +1,203 @@ +//===-- runtime/execute.cpp ---===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang-tools-extra] [flang] [clang] [llvm] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-27 Thread Peter Klausler via cfe-commits
@@ -173,5 +173,70 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from) { ShallowCopy(to, from, to.IsContiguous(), from.IsContiguous()); } +RT_API_ATTRS const char *EnsureNullTerminated( +const char *str, size_t length, Terminator &terminator) {

[clang-tools-extra] [clang] [llvm] [flang] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-21 Thread Peter Klausler via cfe-commits
@@ -173,5 +173,141 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from) { ShallowCopy(to, from, to.IsContiguous(), from.IsContiguous()); } +RT_API_ATTRS const char *EnsureNullTerminated( +const char *str, size_t length, Terminator &terminator)

[llvm] [clang-tools-extra] [flang] [clang] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-21 Thread Peter Klausler via cfe-commits
@@ -173,5 +173,145 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from) { ShallowCopy(to, from, to.IsContiguous(), from.IsContiguous()); } +RT_API_ATTRS const char *EnsureNullTerminated( +const char *str, size_t length, Terminator &terminator)

[flang] [clang-tools-extra] [clang] [llvm] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-21 Thread Peter Klausler via cfe-commits
@@ -411,6 +412,48 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from, bool toIsContiguous, bool fromIsContiguous); RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from); +RT_API_ATTRS const char *EnsureNullTerminated( +

[flang] [clang] [clang-tools-extra] [llvm] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-21 Thread Peter Klausler via cfe-commits
@@ -173,5 +173,141 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from) { ShallowCopy(to, from, to.IsContiguous(), from.IsContiguous()); } +RT_API_ATTRS const char *EnsureNullTerminated( +const char *str, size_t length, Terminator &terminator)

[flang] [clang-tools-extra] [llvm] [clang] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-21 Thread Peter Klausler via cfe-commits
@@ -173,5 +173,141 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from) { ShallowCopy(to, from, to.IsContiguous(), from.IsContiguous()); } +RT_API_ATTRS const char *EnsureNullTerminated( +const char *str, size_t length, Terminator &terminator)

[clang] [flang] [clang-tools-extra] [llvm] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-21 Thread Peter Klausler via cfe-commits
@@ -411,6 +412,48 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from, bool toIsContiguous, bool fromIsContiguous); RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from); +RT_API_ATTRS const char *EnsureNullTerminated( +

[llvm] [flang] [clang] [clang-tools-extra] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-21 Thread Peter Klausler via cfe-commits
@@ -411,6 +412,48 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from, bool toIsContiguous, bool fromIsContiguous); RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from); +RT_API_ATTRS const char *EnsureNullTerminated( +

[llvm] [clang] [flang] [clang-tools-extra] [flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (PR #74077)

2023-12-21 Thread Peter Klausler via cfe-commits
@@ -411,6 +412,48 @@ RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from, bool toIsContiguous, bool fromIsContiguous); RT_API_ATTRS void ShallowCopy(const Descriptor &to, const Descriptor &from); +RT_API_ATTRS const char *EnsureNullTerminated( +

[clang-tools-extra] [clang] [flang] [llvm] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-20 Thread Peter Klausler via cfe-commits
https://github.com/klausler approved this pull request. https://github.com/llvm/llvm-project/pull/74628 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang-tools-extra] [flang] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-13 Thread Peter Klausler via cfe-commits
@@ -10,13 +10,29 @@ // extensions that will eventually be implemented in Fortran. #include "flang/Runtime/extensions.h" +#include "flang/Runtime/character.h" #include "flang/Runtime/command.h" #include "flang/Runtime/descriptor.h" #include "flang/Runtime/io-api.h" +#if _R

[clang] [llvm] [clang-tools-extra] [flang] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-13 Thread Peter Klausler via cfe-commits
@@ -6,6 +6,37 @@ // //===--===// +// Defines a utility function for copying and padding characters +#ifndef CHARACTER_H +#define CHARACTER_H klausler wrote: Either way, the name of the guard

[clang-tools-extra] [clang] [llvm] [flang] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-06 Thread Peter Klausler via cfe-commits
@@ -37,5 +79,34 @@ void FORTRAN_PROCEDURE_NAME(getarg)( (void)RTNAME(GetCommandArgument)( n, &value, nullptr, nullptr, __FILE__, __LINE__); } + +// CALL GETLOG(USRNAME) +void FORTRAN_PROCEDURE_NAME(getlog)(std::int8_t *arg, std::int64_t length) { + const int nameMaxLen

[clang-tools-extra] [llvm] [clang] [flang] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-06 Thread Peter Klausler via cfe-commits
@@ -37,5 +79,34 @@ void FORTRAN_PROCEDURE_NAME(getarg)( (void)RTNAME(GetCommandArgument)( n, &value, nullptr, nullptr, __FILE__, __LINE__); } + +// CALL GETLOG(USRNAME) +void FORTRAN_PROCEDURE_NAME(getlog)(std::int8_t *arg, std::int64_t length) { + const int nameMaxLen

[clang] [clang-tools-extra] [flang] [llvm] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-06 Thread Peter Klausler via cfe-commits
@@ -10,10 +10,52 @@ // extensions that will eventually be implemented in Fortran. #include "flang/Runtime/extensions.h" +#include "terminator.h" +#include "flang/Runtime/character.h" #include "flang/Runtime/command.h" #include "flang/Runtime/descriptor.h" #include "flang/Ru

[llvm] [clang] [clang-tools-extra] [flang] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-06 Thread Peter Klausler via cfe-commits
@@ -37,5 +79,34 @@ void FORTRAN_PROCEDURE_NAME(getarg)( (void)RTNAME(GetCommandArgument)( n, &value, nullptr, nullptr, __FILE__, __LINE__); } + +// CALL GETLOG(USRNAME) +void FORTRAN_PROCEDURE_NAME(getlog)(std::int8_t *arg, std::int64_t length) { + const int nameMaxLen

[llvm] [flang] [clang-tools-extra] [clang] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-06 Thread Peter Klausler via cfe-commits
@@ -37,5 +79,34 @@ void FORTRAN_PROCEDURE_NAME(getarg)( (void)RTNAME(GetCommandArgument)( n, &value, nullptr, nullptr, __FILE__, __LINE__); } + +// CALL GETLOG(USRNAME) +void FORTRAN_PROCEDURE_NAME(getlog)(std::int8_t *arg, std::int64_t length) { + const int nameMaxLen

[llvm] [clang-tools-extra] [flang] [clang] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-06 Thread Peter Klausler via cfe-commits
@@ -10,10 +10,52 @@ // extensions that will eventually be implemented in Fortran. #include "flang/Runtime/extensions.h" +#include "terminator.h" +#include "flang/Runtime/character.h" #include "flang/Runtime/command.h" #include "flang/Runtime/descriptor.h" #include "flang/Ru

[clang] [llvm] [flang] [clang-tools-extra] [flang] GETLOG runtime and extension implementation: get login username (PR #74628)

2023-12-06 Thread Peter Klausler via cfe-commits
@@ -657,6 +657,11 @@ CALL CO_REDUCE CALL CO_SUM ``` +### Library subroutine klausler wrote: Please put this new section later, after all of the non-standard intrinsics, so the actual intrinsic procedures appear together. https://github.com/llvm/llvm-projec

[clang-tools-extra] [clang] [flang] [llvm] [flang ]GETLOG runtime and extension implementation: get login username (PR #70917)

2023-12-04 Thread Peter Klausler via cfe-commits
@@ -37,5 +80,17 @@ void FORTRAN_PROCEDURE_NAME(getarg)( (void)RTNAME(GetCommandArgument)( n, &value, nullptr, nullptr, __FILE__, __LINE__); } + +void FORTRAN_PROCEDURE_NAME(getlog)(std::int8_t *arg, std::int64_t length) { + std::array str; klausler wro

[clang] [clang-tools-extra] [flang] [llvm] [flang ]GETLOG runtime and extension implementation: get login username (PR #70917)

2023-12-04 Thread Peter Klausler via cfe-commits
@@ -39,6 +39,17 @@ // overload will have a dummy parameter whose type indicates whether or not it // should be preferred. Any other parameters required for SFINAE should have // default values provided. + +// outside anonymous namespace, function reused klausle

[clang-tools-extra] [llvm] [clang] [flang] [flang ]GETLOG runtime and extension implementation: get login username (PR #70917)

2023-12-04 Thread Peter Klausler via cfe-commits
@@ -751,7 +751,7 @@ This phase currently supports all the intrinsic procedures listed above but the | Object characteristic inquiry functions | ALLOCATED, ASSOCIATED, EXTENDS_TYPE_OF, IS_CONTIGUOUS, PRESENT, RANK, SAME_TYPE, STORAGE_SIZE | | Type inquiry intrinsic functions |

[clang-tools-extra] [flang] [llvm] [clang] [flang ]GETLOG runtime and extension implementation: get login username (PR #70917)

2023-11-27 Thread Peter Klausler via cfe-commits
@@ -9,6 +9,17 @@ // Defines the API between compiled code and the implementations of time-related // intrinsic subroutines in the runtime library. +// time-intrinsic.h +#ifndef TIME_INTRINSIC_H +#define TIME_INTRINSIC_H + +#include + +void copyBufferAndPad(

[clang-tools-extra] [llvm] [flang] [clang] [flang ]GETLOG runtime and extension implementation: get login username (PR #70917)

2023-11-27 Thread Peter Klausler via cfe-commits
@@ -9,6 +9,17 @@ // Defines the API between compiled code and the implementations of time-related // intrinsic subroutines in the runtime library. +// time-intrinsic.h +#ifndef TIME_INTRINSIC_H +#define TIME_INTRINSIC_H + +#include + +void copyBufferAndPad( +char *dest,

[flang] [clang] [llvm] [clang-tools-extra] [flang ]GETLOG runtime and extension implementation: get login username (PR #70917)

2023-11-21 Thread Peter Klausler via cfe-commits
klausler wrote: > Hello @klausler, could you please share your thoughts or comments on this > patch, particularly with regard to the Windows side? Thanks in advance. You should use modern C++ braced initialization in flang/runtime. https://github.com/llvm/llvm-project/pull/70917 __

[flang] [llvm] [clang] [mlir] [libc] [flang] Fold MATMUL() (PR #72176)

2023-11-14 Thread Peter Klausler via cfe-commits
https://github.com/klausler closed https://github.com/llvm/llvm-project/pull/72176 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [flang] [libc] [mlir] [flang] Fold MATMUL() (PR #72176)

2023-11-14 Thread Peter Klausler via cfe-commits
klausler wrote: ping! https://github.com/llvm/llvm-project/pull/72176 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [llvm] [libc] [mlir] [flang] Fold MATMUL() (PR #72176)

2023-11-13 Thread Peter Klausler via cfe-commits
https://github.com/klausler updated https://github.com/llvm/llvm-project/pull/72176 >From e2e0e60c5cf01b5e99cb2494e2444b91d1f6605d Mon Sep 17 00:00:00 2001 From: Peter Klausler Date: Fri, 3 Nov 2023 13:04:01 -0700 Subject: [PATCH] [flang] Fold MATMUL() Implements constant folding for matrix mu

[clang] 996ef89 - [flang] Add -fno-automatic, refine IsSaved()

2021-11-22 Thread Peter Klausler via cfe-commits
Author: Peter Klausler Date: 2021-11-22T10:06:38-08:00 New Revision: 996ef895cd3d1313665a42fc8e20d1d4e1cf2a28 URL: https://github.com/llvm/llvm-project/commit/996ef895cd3d1313665a42fc8e20d1d4e1cf2a28 DIFF: https://github.com/llvm/llvm-project/commit/996ef895cd3d1313665a42fc8e20d1d4e1cf2a28.diff

[clang] 3338ef9 - [flang] Produce proper "preprocessor output" for -E option

2021-07-30 Thread peter klausler via cfe-commits
Author: peter klausler Date: 2021-07-30T15:13:56-07:00 New Revision: 3338ef93b02837edf69abc203e15a42fa55aa1b3 URL: https://github.com/llvm/llvm-project/commit/3338ef93b02837edf69abc203e15a42fa55aa1b3 DIFF: https://github.com/llvm/llvm-project/commit/3338ef93b02837edf69abc203e15a42fa55aa1b3.diff