diff options
Diffstat (limited to 'include/cps/FunctionAST.h')
| -rw-r--r-- | include/cps/FunctionAST.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/cps/FunctionAST.h b/include/cps/FunctionAST.h index 9b2d49b..4dfe908 100644 --- a/include/cps/FunctionAST.h +++ b/include/cps/FunctionAST.h @@ -1,5 +1,6 @@ #pragma once #include "cps/AST.h" +#include "cps/Identifier.h" #include <cstdint> #include <vector> #include <string> @@ -46,7 +47,10 @@ public: bool isExternal() const { return IsExternal; } const std::string &getOwnerClass() const { return OwnerClass; } bool isPublic() const { return IsPublic; } - std::string getLinkName() const { return OwnerClass.empty() ? Name : OwnerClass + "." + Name; } + std::string getLinkName() const { + if (!OwnerClass.empty()) return OwnerClass + "." + Name; + return sameIdentifier(Name, "MAIN") ? "__cps_main" : Name; + } }; class FunctionDefAST : public StmtAST { |
