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

Ticket #680 (closed defect: fixed)

Opened 17 years ago

Last modified 16 years ago

Need to use std.stdarg for variatic arguments.

Reported by: d3z Assigned to: kris
Priority: major Milestone: 0.99.3
Component: Core Functionality Version: 0.99.2 Don
Keywords: Cc:

Description

The use of pointer manipulation for variatic arguments does not work on x86_64. It actually segfaults gdc-0.24, but it probably wouldn't work without the compiler error.

I will see if I can get tango.text.covert.Layout changed over so that I can at least compile/run on this platform.

Attachments

diffout (410 bytes) - added by d3z on 10/12/07 06:52:48.
Patch to fix other x86_64 typo.
withfloats (5.3 kB) - added by d3z on 10/13/07 16:41:48.
Fix for 'float' varargs.

Change History

10/11/07 16:52:23 changed by kris

  • owner changed from sean to kris.

David Friedman is working on a solution to this, but it would be good to see it working now :)

(follow-up: ↓ 3 ) 10/12/07 06:28:17 changed by kris

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

Fixed for now, thanks to David's patch. Hoorah!

(in reply to: ↑ 2 ) 10/12/07 06:52:25 changed by d3z

  • status changed from closed to reopened.
  • resolution deleted.

Replying to kris:

Fixed for now, thanks to David's patch. Hoorah!

Missed the other x86_64 instead of X86_64. This version segfaults the compiler.

10/12/07 06:52:48 changed by d3z

  • attachment diffout added.

Patch to fix other x86_64 typo.

10/12/07 08:12:25 changed by larsivi

(In [2646]) Another x86-64 -< X86-64, refs #680

10/12/07 08:13:34 changed by larsivi

  • status changed from reopened to closed.
  • resolution set to fixed.

gdc-0.24 has never worked with Tango due to segfaults and is not supported. Until 0.25 is released, GDC trunk is what is relevant in that area. Fixed the other typo. Closing again :)

10/13/07 16:41:48 changed by d3z

  • attachment withfloats added.

Fix for 'float' varargs.

10/13/07 16:45:58 changed by d3z

  • status changed from closed to reopened.
  • resolution deleted.

Because the floats don't live with the rest of the variables, they need their own va_arg pulling.

This now passes unit tests for x86_64 in Layout.d.

Oh, and this works just fine with gdc-0.24. The compiler bug in the segfaults is a red-herring, this fix is still needed, on any future version as well.

10/13/07 17:08:46 changed by kris

nice! Hey, I don't suppose you can save patches in another format? SVN patch hasn't got a clue about the contents of these change-files (so I wind up doing things manually instead).

10/13/07 17:39:22 changed by d3z

Any idea what it doesn't like? Have you tried 'patch -p1'?

10/14/07 16:32:23 changed by kris

it doesn't have those options, I'm afraid. SVN has a 'merge' command, and it doesn't appear to grok the diff format you're using ... speaking of which, how are you generating those diff files?

10/14/07 17:04:51 changed by d3z

They are generated by 'git diff'. It's basically the output of normal diff. Regular patch reads them just fine. I have a git mirror of the SVN.

You might try removing the 'a/' and 'b/' from the path names and see if it is happier. I couldn't find any options to 'svn merge' that made it look like it even accepted patches in the first place.

Can you give me the exact SVN command you're running, and I'll ask the git folks if they have any ideas?

11/02/07 21:43:05 changed by kris

  • status changed from reopened to closed.
  • resolution set to fixed.

thanks for this, David :)

We can reopen as necessary to get a clean fix