summaryrefslogtreecommitdiff
path: root/src/ast/types.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/types.cpp')
-rw-r--r--src/ast/types.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ast/types.cpp b/src/ast/types.cpp
index 98bc6ee1..496cf694 100644
--- a/src/ast/types.cpp
+++ b/src/ast/types.cpp
@@ -40,13 +40,14 @@ static const struct {
{"usize", CORETYPE_UINT},
};
-enum eCoreType coretype_fromstring(const ::std::string& name)
+enum eCoreType coretype_fromstring(const char* name)
{
for(unsigned int i = 0; i < sizeof(CORETYPES)/sizeof(CORETYPES[0]); i ++)
{
- if( name < CORETYPES[i].name )
+ int cmp = strcmp(name, CORETYPES[i].name);
+ if( cmp < 0 )
break;
- if( name == CORETYPES[i].name )
+ if( cmp == 0 )
return CORETYPES[i].type;
}
return CORETYPE_INVAL;
@@ -323,7 +324,7 @@ namespace AST {
os << "'_";
}
else {
- os << "'" << x.m_name;
+ os << "'" << x.m_name.name;
if( x.m_binding != LifetimeRef::BINDING_UNBOUND ) {
os << "/*" << x.m_binding << "*/";
}