[llvm-branch-commits] [flang] 5244bb1 - Modify an IO format error message
V Donaldson via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Jan 4 12:19:47 PST 2022
Author: V Donaldson
Date: 2022-01-04T10:34:07-08:00
New Revision: 5244bb18abbf70d2f4475fa8facb34d4d8af0d32
URL: https://github.com/llvm/llvm-project/commit/5244bb18abbf70d2f4475fa8facb34d4d8af0d32
DIFF: https://github.com/llvm/llvm-project/commit/5244bb18abbf70d2f4475fa8facb34d4d8af0d32.diff
LOG: Modify an IO format error message
F18 constraint C1308 is:
For the G edit descriptor, e shall not be specified if w is zero.
For an edit descriptor such as 'G0.2E4', change the error message from:
error: Unexpected 'e' in 'G0' edit descriptor
To:
error: A 'G0' edit descriptor must not have an 'e' value
Added:
Modified:
flang/include/flang/Common/format.h
flang/test/Semantics/io07.f90
flang/test/Semantics/io08.f90
Removed:
################################################################################
diff --git a/flang/include/flang/Common/format.h b/flang/include/flang/Common/format.h
index e38ea6b0dfedf..7ca3faa79f290 100644
--- a/flang/include/flang/Common/format.h
+++ b/flang/include/flang/Common/format.h
@@ -606,8 +606,8 @@ template <typename CHAR> bool FormatValidator<CHAR>::Check() {
check_e();
}
} else if (token_.kind() == TokenKind::Point && check_d() &&
- token_.kind() == TokenKind::E) {
- ReportError("Unexpected 'e' in 'G0' edit descriptor"); // C1308
+ token_.kind() == TokenKind::E) { // C1308
+ ReportError("A 'G0' edit descriptor must not have an 'e' value");
NextToken();
if (token_.kind() == TokenKind::UnsignedInteger) {
NextToken();
diff --git a/flang/test/Semantics/io07.f90 b/flang/test/Semantics/io07.f90
index 5c4c2b419d978..9b1f048e5b17c 100644
--- a/flang/test/Semantics/io07.f90
+++ b/flang/test/Semantics/io07.f90
@@ -74,9 +74,9 @@
8001 format(9G0.5)
- !ERROR: Unexpected 'e' in 'G0' edit descriptor
+ !ERROR: A 'G0' edit descriptor must not have an 'e' value
8101 format(9(G0.5e1))
- !ERROR: Unexpected 'e' in 'G0' edit descriptor
+ !ERROR: A 'G0' edit descriptor must not have an 'e' value
8102 format(9(G0.5 E 1))
end
diff --git a/flang/test/Semantics/io08.f90 b/flang/test/Semantics/io08.f90
index c074e1562e222..843028acfd5bf 100644
--- a/flang/test/Semantics/io08.f90
+++ b/flang/test/Semantics/io08.f90
@@ -189,10 +189,10 @@
!ERROR: Expected 'G' edit descriptor '.d' value
write(*,'(G4)')
- !ERROR: Unexpected 'e' in 'G0' edit descriptor
+ !ERROR: A 'G0' edit descriptor must not have an 'e' value
write(*,'(G0.8e)')
- !ERROR: Unexpected 'e' in 'G0' edit descriptor
+ !ERROR: A 'G0' edit descriptor must not have an 'e' value
write(*,'(G0.8e2)')
!ERROR: Kind parameter '_' character in format expression
More information about the llvm-branch-commits
mailing list