llnl / llnl/rose

Wrong identifier "unknown_condition"

Open
#378 0 comments 0 reactions 1 assignee Claimed by @pinnown View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.