Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Ticket #924 (closed defect: fixed)

Opened 10 months ago

Last modified 8 months ago

std/stdarg.di and std/c/stdarg.di need alias void* va_list for tangobos compatibility

Reported by: baxissimo Assigned to: Gregor
Priority: normal Milestone: 0.99.6
Component: Core Functionality Version: 0.99.4 Frank
Keywords: Cc:

Description (Last modified by baxissimo)

Tangobos uses 'va_list' in a couple of places. In Tango's version stdarg.di this only gets defined for version(GNU).

The Tangobos block used in both cases contains:

version(GNU) {
 ...
} else {
    alias void* va_list;
}

The issue arises from the fact that Tangobos and Tango both have copies of std.stdarg and std.c.stdarg. When installing using dsss one's version gets copied over the other's. If you re-install tango subsequent to installing Tangobos then Tango's versions will overwrite Tangobos's, and things like std.stdio will stop working because they use va_list.

There are other differences between the Tangobos and Tango versions of stdarg. They need to be resolved. Ideally, Tangobos shouldn't need to have its own versions of these files at all since they are included with Tango. But Tango's versions at least need to get the va_list alias for that to be possible.

Change History

02/17/08 23:40:39 changed by kris

  • owner changed from sean to Gregor.

02/18/08 02:16:43 changed by baxissimo

  • description changed.

03/23/08 16:36:45 changed by larsivi

  • priority changed from critical to normal.
  • milestone changed from 0.99.6 to 0.99.7.

You have gotten the symptoms right, but the reasons behind are different. Tango only has std.stdarg because it is hardcoded into GDC - it is not needed, nor used, for DMD, and shouldn't be for GDC. Problems in std.* can be rectified by importing tango.core.Vararg instead of std.stdarg. That should in a problem only for those applications using std.stdarg in the event that Tango is re-installed after Tangobos is installed.

03/23/08 19:19:08 changed by larsivi

Got some unexpected results when I tested a few things - will get back to this soon.

03/25/08 16:30:04 changed by larsivi

(In [3397]) Remove std.stdarg hacks for GDC. closes #1001, refs #924

03/25/08 16:32:34 changed by larsivi

  • status changed from new to closed.
  • resolution set to fixed.
  • milestone changed from 0.99.7 to 0.99.6.

Ok, this is fixed. Will make sure Tangobos follows suit.

03/26/08 17:49:20 changed by larsivi

This is further tracked in #1001, but bottom line is - this is not resolved.