diff options
author | sethp <seth.pellegrino@gmail.com> | 2024-01-09 12:45:57 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-09 12:45:57 -0800 |
commit | baa8c2abcd8da31549996458c9df4871454b0673 (patch) | |
tree | 4f889354a4a0de845e3480b261e5dc9098c7d3a8 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | fb1466216889e9f4d884a387f430d2e85b4542f6 (diff) | |
download | llvm-baa8c2abcd8da31549996458c9df4871454b0673.zip llvm-baa8c2abcd8da31549996458c9df4871454b0673.tar.gz llvm-baa8c2abcd8da31549996458c9df4871454b0673.tar.bz2 |
[Clang] Wide delimiters ('{{{') for expect strings (#77326)
Prior to this commit, it was impossible to use the simple string
matching directives to look for any content that contains unbalanced
`{{` `}}` pairs, such as:
```
// expected-note {{my_struct{{1}, 2}}}
```
Which would parse like so:
```
"nested" brace v
// expected-note {{my_struct{{1}, 2}}}
closes the nested brace ^ |
trailing }
```
And the frontend would complain 'cannot find end ('}}') of expected'.
At this snapshot, VerifyDiagnosticConsumer's parser now counts the
opening braces and looks for a matching length of closing sigils,
allowing the above to be written as:
```
// expected-note {{{my_struct{{1}, 2}}}}
opening brace |-| |-|
closing brace is '}}}', found here ^
```
This came about as a result of this discussion:
https://github.com/llvm/llvm-project/pull/74852#discussion_r1443117644
cc @erichkeane
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions