[llvm-bugs] [Bug 50568] New: [Format] star/amp is incorrectly recognized as PointerOrReference when overloaded operator is called as a member function
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Jun 3 02:07:08 PDT 2021
https://bugs.llvm.org/show_bug.cgi?id=50568
Bug ID: 50568
Summary: [Format] star/amp is incorrectly recognized as
PointerOrReference when overloaded operator is called
as a member function
Product: clang
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Formatter
Assignee: unassignedclangbugs at nondot.org
Reporter: yilong.guo at intel.com
CC: djasper at google.com, klimek at google.com,
llvm-bugs at lists.llvm.org
The '*' should be a binary operator.
```
// test.cpp
void f() { a.operator()(a * a); }
```
clang-format test.cpp --debug-only=format-token-annotator
AnnotatedTokens(L=0):
M=0 C=0 T=Unknown S=1 F=0 B=0 BK=0 P=0 Name=void L=4 PPK=2 FakeLParens=
FakeRParens=0 II=0x278cf38 Text='void'
M=0 C=1 T=FunctionDeclarationName S=1 F=0 B=0 BK=0 P=80 Name=identifier L=6
PPK=2 FakeLParens= FakeRParens=0 II=0x2791e10 Text='f'
M=0 C=0 T=Unknown S=0 F=0 B=0 BK=0 P=23 Name=l_paren L=7 PPK=2 FakeLParens=
FakeRParens=0 II=0x0 Text='('
M=0 C=0 T=Unknown S=0 F=0 B=0 BK=0 P=140 Name=r_paren L=8 PPK=2 FakeLParens=
FakeRParens=0 II=0x0 Text=')'
M=0 C=0 T=FunctionLBrace S=1 F=0 B=0 BK=1 P=23 Name=l_brace L=10 PPK=2
FakeLParens= FakeRParens=0 II=0x0 Text='{'
----
AnnotatedTokens(L=1):
M=0 C=0 T=Unknown S=1 F=0 B=0 BK=0 P=0 Name=identifier L=1 PPK=2
FakeLParens=0/ FakeRParens=0 II=0x2791e40 Text='a'
M=0 C=1 T=Unknown S=0 F=0 B=0 BK=0 P=170 Name=period L=2 PPK=2 FakeLParens=
FakeRParens=0 II=0x0 Text='.'
M=0 C=1 T=FunctionDeclarationName S=0 F=0 B=0 BK=0 P=220 Name=operator L=10
PPK=2 FakeLParens= FakeRParens=0 II=0x278d530 Text='operator'
M=0 C=0 T=OverloadedOperator S=0 F=0 B=0 BK=0 P=23 Name=l_paren L=11 PPK=2
FakeLParens= FakeRParens=0 II=0x0 Text='('
M=0 C=0 T=OverloadedOperator S=0 F=0 B=0 BK=0 P=59 Name=r_paren L=12 PPK=2
FakeLParens= FakeRParens=0 II=0x0 Text=')'
M=0 C=0 T=OverloadedOperatorLParen S=0 F=0 B=0 BK=0 P=23 Name=l_paren L=13
PPK=2 FakeLParens= FakeRParens=0 II=0x0 Text='('
M=0 C=1 T=Unknown S=0 F=0 B=0 BK=0 P=59 Name=identifier L=14 PPK=2
FakeLParens= FakeRParens=0 II=0x2791e40 Text='a'
M=0 C=1 T=PointerOrReference S=1 F=0 B=0 BK=0 P=230 Name=star L=16 PPK=2
FakeLParens= FakeRParens=0 II=0x0 Text='*'
M=0 C=1 T=StartOfName S=0 F=0 B=0 BK=0 P=240 Name=identifier L=17 PPK=2
FakeLParens= FakeRParens=0 II=0x2791e40 Text='a'
M=0 C=0 T=Unknown S=0 F=0 B=0 BK=0 P=43 Name=r_paren L=18 PPK=2 FakeLParens=
FakeRParens=1 II=0x0 Text=')'
M=0 C=0 T=Unknown S=0 F=0 B=0 BK=0 P=23 Name=semi L=19 PPK=2 FakeLParens=
FakeRParens=0 II=0x0 Text=';'
----
AnnotatedTokens(L=0):
M=0 C=0 T=Unknown S=1 F=0 B=0 BK=0 P=0 Name=r_brace L=1 PPK=2 FakeLParens=
FakeRParens=0 II=0x0 Text='}'
----
AnnotatedTokens(L=0):
M=0 C=0 T=Unknown S=1 F=0 B=0 BK=0 P=0 Name=eof L=0 PPK=2 FakeLParens=
FakeRParens=0 II=0x0 Text=''
----
void f() { a.operator()(a *a); }
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210603/18c190dd/attachment-0001.html>
More information about the llvm-bugs
mailing list