diff --git a/src/plugins/debugger/namedemangler/parsetreenodes.cpp b/src/plugins/debugger/namedemangler/parsetreenodes.cpp
index c78c97814f465c91f428450b43062b1c6b5d0d95..93243ac4a13a61f48ab2cdc9babe21b727536fe2 100644
--- a/src/plugins/debugger/namedemangler/parsetreenodes.cpp
+++ b/src/plugins/debugger/namedemangler/parsetreenodes.cpp
@@ -230,7 +230,7 @@ BuiltinTypeNode::BuiltinTypeNode(const BuiltinTypeNode &other)
 
 bool BuiltinTypeNode::mangledRepresentationStartsWith(char c)
 {
-    return strchr("vwbcahstijlmxynofgedzDu", c);
+    return std::strchr("vwbcahstijlmxynofgedzDu", c);
 }
 
 /*
@@ -2103,15 +2103,6 @@ template<int base> NonNegativeNumberNode<base>::NonNegativeNumberNode(const NonN
 {
 }
 
-template<int base> bool NonNegativeNumberNode<base>::mangledRepresentationStartsWith(char c)
-{
-    // Base can only be 10 or 36.
-    if (base == 10)
-        return strchr("0123456789", c);
-    else
-        return strchr("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", c);
-}
-
 template<int base> void NonNegativeNumberNode<base>::parse()
 {
     QByteArray numberRepr;
diff --git a/src/plugins/debugger/namedemangler/parsetreenodes.h b/src/plugins/debugger/namedemangler/parsetreenodes.h
index 03cd0c53b468e2ca2671b6eae4ae8dcb1e242a10..32ff935613294d24ec24d835b2a883e124b84f9f 100644
--- a/src/plugins/debugger/namedemangler/parsetreenodes.h
+++ b/src/plugins/debugger/namedemangler/parsetreenodes.h
@@ -552,7 +552,10 @@ template<int base> class NonNegativeNumberNode : public ParseTreeNode
 public:
     typedef QSharedPointer<NonNegativeNumberNode<base> > Ptr;
     NonNegativeNumberNode(GlobalParseState *parseState) : ParseTreeNode(parseState) {}
-    static bool mangledRepresentationStartsWith(char c);
+    static bool mangledRepresentationStartsWith(char c) {
+        // Base can only be 10 or 36.
+        return (c >= '0' && c <= '9') || (base == 36 && c >= 'A' && c <= 'Z');
+    }
     quint64 number() const { return m_number; }
     QByteArray toByteArray() const;