Mercurial > projects > ldc
comparison dmd/mangle.c @ 305:2b72433d5c8c trunk
[svn r326] Fixed a bunch of issues with printf's that MinGW32 did not support.
Fixed problems with label collisions when using labels inside inline asm. LabelStatement is now easily reached given its
Identifier, which should be useful elsewhere too.
Enabled inline asm for building the lib/compiler/llvmdc runtime code, fixing branches out of asm makes this possible.
author | lindquist |
---|---|
date | Fri, 27 Jun 2008 22:04:35 +0200 |
parents | 0ab29b838084 |
children | 571959608194 |
comparison
equal
deleted
inserted
replaced
304:3ebc136702dd | 305:2b72433d5c8c |
---|---|
211 char *p = tempdecl->parent->mangle(); | 211 char *p = tempdecl->parent->mangle(); |
212 if (p[0] == '_' && p[1] == 'D') | 212 if (p[0] == '_' && p[1] == 'D') |
213 p += 2; | 213 p += 2; |
214 buf.writestring(p); | 214 buf.writestring(p); |
215 } | 215 } |
216 buf.printf("%zu%s", strlen(id), id); | 216 buf.printf("%"PRIuSIZE"%s", strlen(id), id); |
217 id = buf.toChars(); | 217 id = buf.toChars(); |
218 buf.data = NULL; | 218 buf.data = NULL; |
219 //printf("TemplateInstance::mangle() %s = %s\n", toChars(), id); | 219 //printf("TemplateInstance::mangle() %s = %s\n", toChars(), id); |
220 return id; | 220 return id; |
221 } | 221 } |
239 char *p = parent->mangle(); | 239 char *p = parent->mangle(); |
240 if (p[0] == '_' && p[1] == 'D') | 240 if (p[0] == '_' && p[1] == 'D') |
241 p += 2; | 241 p += 2; |
242 buf.writestring(p); | 242 buf.writestring(p); |
243 } | 243 } |
244 buf.printf("%zu%s", strlen(id), id); | 244 buf.printf("%"PRIuSIZE"%s", strlen(id), id); |
245 id = buf.toChars(); | 245 id = buf.toChars(); |
246 buf.data = NULL; | 246 buf.data = NULL; |
247 //printf("Dsymbol::mangle() %s = %s\n", toChars(), id); | 247 //printf("Dsymbol::mangle() %s = %s\n", toChars(), id); |
248 return id; | 248 return id; |
249 } | 249 } |