Wrong identifier "unknown_condition"
- Dominant language
- C
- Stars
- 688
- Forks
- 144
- PR merge metrics
- No merged PRs in 30d
Description
The reproducer:
```cpp
class A {
public:
A() {}
operator int() {
return 1;
}
};
void k()
{
A a;
if (A a2 = a) {
;
}
}
```
However, AST dump:
```
SgClassDeclaration:class A {public: inline A(){}inline operator int(){return 1;}};
SgClassDefinition:class A {public: inline A(){}inline operator int(){return 1;}}
SgMemberFunctionDeclaration:void A() {...}
SgFunctionParameterList:
SgFunctionDefinition:function definition: void A() {...}
SgBasicBlock:{}
SgCtorInitializerList:
SgMemberFunctionDeclaration:int operator int() {...}
SgFunctionParameterList:
SgFunctionDefinition:function definition: int operator int() {...}
SgBasicBlock:{return 1;}
SgReturnStmt:return 1;
SgIntVal:1
SgCtorInitializerList:
SgFunctionDeclaration:void k() {...}
SgFunctionParameterList:
SgFunctionDefinition:function definition: void k() {...}
SgBasicBlock:{class A a;if(class A unknown_condition = a) {;}}
SgVariableDeclaration:class A a;
SgInitializedName:a
SgConstructorInitializer:
SgExprListExp:
SgIfStmt:if(class A unknown_condition = a) {;}
SgVariableDeclaration:class A unknown_condition = a;
SgInitializedName:unknown_condition
SgAssignInitializer:a
SgVarRefExp:a
SgBasicBlock:{;}
SgExprStatement:;
SgNullExpression:
```
__a2__ became __unknown_condition__
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.