On Tuesday, 6 August 2013 at 16:18:54 UTC, bearophile wrote:
Andre Artus:

I decided to see whether dmd would compile with VS2013 and Clang. So far the only issue seems to be that C++11 RTL already defines 'strtold'.

I suggest to put most of those small bug reports in Bugzilla (or better if you want as a patch in GitHub to fix them).

Bye,
bearophile

I 'fixed' it in my copy. By that I mean it compiles and runs on my system, but no code in other conditional compilation path has changed, so it will break say on *nix etc. I currently only work on Mac and Windows, my Linux & BSD boxes were stolen.

If there is agreement with the new name, or if a better alternative is offered then I will be more than happy to make a comprehensive change.

I'm not sure if it classifies as a bug though, as there is no reason why DMD *has* to compile with C++11 libraries; it was just an experiment I tried.

I'm not sure that "strtolongdouble" fits in with the naming convention but I decided to choose something that would be easy to grep if I needed to do so. The all lowercase convention prevalent in C causes a little bit of sick to rise in my throat every time I see it. When I first saw 'strtold' my brain picked up 'str to old', as opposed to 'str to l d'. I normally try to write code in a way that someone with no prior experience may reasonably infer it's function merely from looking at the signature. I'll refactor several times if need be (while maintaining the contract on published interfaces where need be). But, when climbing into an established codebase it is prudent to follow existing conventions; I have not yet determined what they are for DMD. I take it there is a doc or page up about that somewhere.

Reply via email to