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)