Mercurial > projects > ddmd
comparison dmd/Declaration.d @ 14:2cc604139636
Implemented Linux support for ddmd. Some parts are a bit hacky to just "get it working", that said, druntime and phobos compile, and unittests pass.
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Sun, 04 Apr 2010 02:06:32 +0100 |
parents | 10317f0c89a5 |
children | 5c9b78899f5d |
comparison
equal
deleted
inserted
replaced
11:3356c90e9aac | 14:2cc604139636 |
---|---|
178 { | 178 { |
179 assert(false); | 179 assert(false); |
180 } | 180 } |
181 | 181 |
182 string mangle() | 182 string mangle() |
183 out (result) | 183 /+out (result) |
184 { | 184 { |
185 try | 185 try |
186 { | 186 { |
187 int len = result.length; | 187 int len = result.length; |
188 | 188 |
195 } catch { | 195 } catch { |
196 writef("Incorrect mangle: '%s'\n", result); | 196 writef("Incorrect mangle: '%s'\n", result); |
197 assert(false); | 197 assert(false); |
198 } | 198 } |
199 } | 199 } |
200 body | 200 body+/ |
201 { | 201 { |
202 version(Bug3602) { writef( "Bug3602: Uncomment outblock when fixed" ); } | |
202 //writef("Declaration.mangle(this = %p, '%s', parent = '%s', linkage = %d)\n", this, toChars(), parent ? parent.toChars() : "null", linkage); | 203 //writef("Declaration.mangle(this = %p, '%s', parent = '%s', linkage = %d)\n", this, toChars(), parent ? parent.toChars() : "null", linkage); |
203 if (!parent || parent.isModule() || linkage == LINK.LINKcpp) // if at global scope | 204 if (!parent || parent.isModule() || linkage == LINK.LINKcpp) // if at global scope |
204 { | 205 { |
205 // If it's not a D declaration, no mangling | 206 // If it's not a D declaration, no mangling |
206 switch (linkage) | 207 switch (linkage) |