File tree Expand file tree Collapse file tree 2 files changed +8
-0
lines changed Expand file tree Collapse file tree 2 files changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -7186,6 +7186,11 @@ ParserStatus Parser::parseLineDirective(bool isLine) {
7186
7186
}
7187
7187
SmallString<16 > buffer;
7188
7188
auto text = stripUnderscoresIfNeeded (Tok.getText (), buffer);
7189
+ if (text.find_first_not_of (" 0123456789" ) != StringRef::npos) {
7190
+ // Disallow non-decimal line numbers in Swift 6.
7191
+ diagnose (Tok, diag::expected_line_directive_number)
7192
+ .warnUntilSwiftVersion (6 );
7193
+ }
7189
7194
if (text.getAsInteger (0 , StartLine)) {
7190
7195
diagnose (Tok, diag::expected_line_directive_number);
7191
7196
return makeParserError ();
Original file line number Diff line number Diff line change @@ -14,6 +14,9 @@ x // expected-error {{parameterless closing #sourceLocation() directive without
14
14
15
15
#sourceLocation(file: x.swift, line: 1) // expected-error{{expected filename string literal}}
16
16
17
+ // expected-warning@+1 {{expected starting line number}}
18
+ #sourceLocation(file: "x.swift", line: 0xff)
19
+
17
20
#sourceLocation(file: "x.swift", line: 42)
18
21
x x ; // should be ignored by expected_error because it is in a different file
19
22
x
You can’t perform that action at this time.
0 commit comments