aboutsummaryrefslogtreecommitdiff
path: root/include/cps/FunctionAST.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cps/FunctionAST.h')
-rw-r--r--include/cps/FunctionAST.h6
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 {