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 109109function mangle_param (t, substitutions)
110110 t == Nothing && return " v"
111111
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)
113116 tn = safe_name (t)
114117
115118 # handle substitutions
@@ -134,9 +137,13 @@ function mangle_param(t, substitutions)
134137
135138 str
136139 elseif isa (t, Integer)
137- " Li$(t) E"
140+ t > 0 ? " Li$(t) E " : " Lin $( abs (t) ) E"
138141 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
140147 " $(length (tn))$tn "
141148 end
142149end
You can’t perform that action at this time.
0 commit comments