On 28.02.2012 10:56, Walter Bright wrote:


On 2/28/2012 12:41 AM, Rainer Schuetze wrote:

this line was reverted:
+inline char *prettyident(Symbol *s) { return CPP ? cpp_prettyident(s) : s->Sident; }

but it causes a link failure due to missing symbol cpp_prettyident. Where should I put its implementation? dsymbol.c? Maybe it should be added to the D source unconditionally, not only for _MSC_VER.

The thing is, CPP is 0. So it should never be calling cpp_prettyident. Other compilers optimize it away.


I assumed they do, but obviously the Microsoft compiler does not, especially in debug builds. I'd say it does not hurt to add this function with an assert(false) somewhere.My best guesses are dsymbol.c or glue.c? Objections?


  M src/backend/cg87.c

reverted the use of longdouble. If I read the includes correctly, it should be defined in cdef.h for a C compiler aswell. Why should it not be used?

Not sure what happened there.


Ok, then I'll put them back in.

Maybe you disliked the ld_... constants? I can name these similar to M_..._L, but it needs additional constants for 0 and 1.