Summary: | Structs with toString() method not formatted properly | ||
---|---|---|---|
Product: | GDC | Reporter: | Alex Rønne Petersen <alex> |
Component: | libgphobos | Assignee: | Iain Buclaw <ibuclaw> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | johannespfau |
Priority: | --- | ||
Version: | development | ||
Hardware: | All | ||
OS: | All |
Description
Alex Rønne Petersen
2012-07-15 09:45:29 CEST
Documentation on known differences should be updated. DMD on 64bit has a runtime library implementation that retrieves the next variadic argument based on it's TypeInfo and it's tsize(). eg: auto va = va_arg(ap, ti); GDC uses it's GCC's built-in VA_ARG_EXPR, which depends on the type being known at compile time in order to work. eg: auto va = va_arg!(Foo)(ap); There is no way around this other than implementing a new runtime function which does a similar job that DMD's implementation does, but have it specific for the way GDC passes variadic arguments to the callee. Implements the remainder va_arg templates missing in GDC runtime. https://github.com/D-Programming-GDC/GDC/commit/f039c099235636cf64242c21e572fca6c0a5952e Harmonises doFormat implementation in GDC phobos with upstream so testcase passes. https://github.com/D-Programming-GDC/GDC/commit/185320fa4ce894fd6a60a1cd398ef7659422924b Can we close this bug report? If your happy. Closed. |