[flang] Address editorial comments and use oxford comma

Original-commit: flang-compiler/f18@88a8d1be03
Reviewed-on: https://github.com/flang-compiler/f18/pull/749
Tree-same-pre-rewrite: false
This commit is contained in:
Jean Perier 2019-09-17 01:54:51 -07:00
parent d8fc41f612
commit 9a01a4915e
2 changed files with 7 additions and 6 deletions

View File

@ -94,13 +94,13 @@ Extensions, deletions, and legacy features supported by default
we allow distinct types to be used, promoting
the arguments as if they were operands to an intrinsic `+` operator,
and defining the result type accordingly.
* DOUBLE COMPLEX intrinsics DREAL, DCMPLX, DCONJG and DIMAG.
* DOUBLE COMPLEX intrinsics DREAL, DCMPLX, DCONJG, and DIMAG.
* INT_PTR_KIND intrinsic returns the kind of c_intptr_t.
* Restricted specific conversion intrinsics FLOAT, SNGL, IDINT, IFIX, DREAL,
and DCMPLX accept arguments of any kind instead of only the default kind or
double precision kind. Their result kinds remain as specified.
* Specific intrinsics AMAX0, AMAX1, AMIN0, AMIN1, DMAX1, DMIN1, MAX0, MAX1,
MIN0 and MIN1 accept more argument types than specified. They are replaced by
MIN0, and MIN1 accept more argument types than specified. They are replaced by
the related generics followed by conversions to the specified result types.
Extensions supported when enabled by options
@ -152,7 +152,7 @@ Extensions and legacy features deliberately not supported
component declarations.
* Wrong argument types in calls to specific intrinsics that have different names than the
related generics. Some accepted exceptions are listed above in the allowed extensions.
PGI, Intel and XLF support this in ways that are not numerically equivalent.
PGI, Intel, and XLF support this in ways that are not numerically equivalent.
PGI converts the arguments while Intel and XLF replace the specific by the related generic.
Preprocessing behavior

View File

@ -715,8 +715,9 @@ static const IntrinsicInterface genericIntrinsicFunction[]{
// in Table 16.2 can be used as actual arguments, PROCEDURE() interfaces,
// and procedure pointer targets.
// Note that the restricted conversion functions dcmplx, dreal, float, idint,
// ifix and sngl are extended to accept any argument kind because this a common
// Fortran compilers behavior.
// ifix, and sngl are extended to accept any argument kind because this is a
// common Fortran compilers behavior, and as far as we can tell, is safe and
// useful.
struct SpecificIntrinsicInterface : public IntrinsicInterface {
const char *generic{nullptr};
bool isRestrictedSpecific{false};
@ -1685,7 +1686,7 @@ std::optional<SpecificCall> IntrinsicProcTable::Implementation::Probe(
localContext.messages().Say(
"Argument type does not match specific intrinsic '%s' "
"requirements, using '%s' generic instead and converting the "
"result to %s if needed."_en_US,
"result to %s if needed"_en_US,
name, genericName, newType.AsFortran());
if (finalBuffer != nullptr) {
finalBuffer->Annex(std::move(localBuffer));