File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change 109
109
function mangle_param (t, substitutions)
110
110
t == Nothing && return " v"
111
111
112
- if isa (t, DataType) || isa (t, Core. Function)
112
+ if isa (t, DataType) && t <: Ptr
113
+ tn = mangle_param (eltype (t), substitutions)
114
+ " P$tn "
115
+ elseif isa (t, DataType) || isa (t, Core. Function)
113
116
tn = safe_name (t)
114
117
115
118
# handle substitutions
@@ -134,9 +137,13 @@ function mangle_param(t, substitutions)
134
137
135
138
str
136
139
elseif isa (t, Integer)
137
- " Li$(t) E"
140
+ t > 0 ? " Li$(t) E " : " Lin $( abs (t) ) E"
138
141
else
139
- tn = safe_name (t)
142
+ tn = safe_name (t) # TODO : actually does support digits...
143
+ if startswith (tn, r" \d " )
144
+ # C++ classes cannot start with a digit, so mangling doesn't support it
145
+ tn = " _$(tn) "
146
+ end
140
147
" $(length (tn))$tn "
141
148
end
142
149
end
You can’t perform that action at this time.
0 commit comments