March 17, 2007
Frits van Bommel wrote:
>
> The above error is fixed.
> 
> However, after reverting my changes, I still get the old va_arg error:
...
> I dug into it a bit more and it turns out GDC chokes if va_start and/or va_arg are inside version(GNU)(!).

Ack!  Fixed now.  Thanks :-)

> I don't think this should cause problems for DMD since the only import of this module is inside version(GNU) itself...

Yup.  I mostly did it to be safe.

> User-level code importing std.c.stdarg may be a problem. Unfortunately, this seems unavoidable since the code is needed by tango.stdc.stdarg. Unless perhaps it could be moved to lib/compiler/gdc and only copied to an import path when building/installing for GDC?

I'd considered moving it somewhere else entirely (gcc, perhaps) and just naming the module std.c.stdarg internally, but I have no idea if that would work with the way intrinsics are handled in GDC.  If you're inclined to try this and it works, however, please let me know.  If this becomes a long-term fix I may also look into having GDC install them as you suggest.  I'll admit I'm still secretly hoping to not have to maintain 'std' to support intrinsics forever.


Sean
March 17, 2007
Sean Kelly wrote:
[talking about std/c/stdarg.di]
> I'd considered moving it somewhere else entirely (gcc, perhaps) and just naming the module std.c.stdarg internally, but I have no idea if that would work with the way intrinsics are handled in GDC.  If you're inclined to try this and it works, however, please let me know.  If this becomes a long-term fix I may also look into having GDC install them as you suggest.  I'll admit I'm still secretly hoping to not have to maintain 'std' to support intrinsics forever.

Doesn't seem to work. Apparently it needs to be imported as std.c.stdarg for it to work...

Maybe you guys should talk to the compiler developers and suggest a more movable way to mark special modules.
Perhaps a pragma:
---
version(CompilerSource) pragma(magic_module, c_stdarg);
---
(with CompilerSource in [GNU, DigitalMars])

That sort of thing is what pragmas were intended to do, wasn't it?
(From http://www.digitalmars.com/d/pragma.html: "Pragmas are a way to pass special information to the compiler and to add vendor specific extensions to D.")
March 20, 2007
Frits van Bommel wrote:
> Sean Kelly wrote:
> [talking about std/c/stdarg.di]
>> I'd considered moving it somewhere else entirely (gcc, perhaps) and just naming the module std.c.stdarg internally, but I have no idea if that would work with the way intrinsics are handled in GDC.  If you're inclined to try this and it works, however, please let me know.  If this becomes a long-term fix I may also look into having GDC install them as you suggest.  I'll admit I'm still secretly hoping to not have to maintain 'std' to support intrinsics forever.
> 
> Doesn't seem to work. Apparently it needs to be imported as std.c.stdarg for it to work...
> 
> Maybe you guys should talk to the compiler developers and suggest a more movable way to mark special modules.
> Perhaps a pragma:
> ---
> version(CompilerSource) pragma(magic_module, c_stdarg);
> ---
> (with CompilerSource in [GNU, DigitalMars])
> 
> That sort of thing is what pragmas were intended to do, wasn't it?
> (From http://www.digitalmars.com/d/pragma.html: "Pragmas are a way to pass special information to the compiler and to add vendor specific extensions to D.")

A pragma is a good idea.  That seems like it might allow for a clean separation between library design and compiler implementation, whether the library is Phobos, Tango, or something else entirely.  In fact, there are some intrinsics Tango isn't taking advantage of simply because the hardcoded module names are too much of a bother in some cases.  For example, DMD provides intrinsics for some of the functions in std.math.


Sean
March 29, 2007
Lars Ivar Igesund wrote:

> Within a
> few days, daily source-snapshots plus binaries will be enabled also.

It took longer than planned, but the first daily snapshots are now up, see the download page, close to the bottom. Please report any problems that you find or things that could be improved. I hope to improve the relevant install docs sometime during easter.

> 
> Downloads: http://www.dsource.org/projects/tango/wiki/Download
> 
> See http://www.dsource.org/projects/tango/wiki/TopicInstallTango for more detailed installation instructions for your system.
> 
> Contact
> http://www.dsource.org/projects/tango/wiki/Contact
> 
> Signed,
> The Tango Team
> http://www.dsource.org/projects/tango/wiki/Contributors
> 
> ---------
> 
> Tango is a D library providing a cohesive runtime plus library for the D programming language. A feature list can be found on http://www.dsource.org/projects/tango/wiki/Features
1 2 3
Next ›   Last »