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

Ticket #333 (closed defect: fixed)

Opened 1 year ago

Last modified 1 year ago

Compile error on Gentoo x86_64 with tango/stc/stdarg.d

Reported by: Nietsnie Assigned to: sean
Priority: major Milestone: 0.97 RC 1
Component: Core Functionality Version:
Keywords: x86_64 gentoo Cc:

Description

On Gentoo, with GCC 4.1.2 and the "d" use flag (which automagically

compiles gcc with GDC 0.23) I did the following:

  1. ln -s /usr/bin/gcc /usr/bin/gdc
  2. Checkout svn to trango
  3. cd tango/lib
  4. ./build-gdc.sh

After finishing the configuration script, I got the following compile error (left some surrounding fluff for reference):

gdc -o dgccmain2.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \

-c dgccmain2.d

gdc -o genobj.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \

-c genobj.d

gdc -o invariant.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \

-c invariant.d

gdc -o lifetime.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \

-c lifetime.d

../../../tango/stdc/stdarg.d:21: Error: cannot have out or inout parameter of type ubyte[24][1] ../../../tango/stdc/stdarg.d:815: template instance tango.stdc.stdarg.va_start!(uint) error instantiating lifetime.d:815: Error: cannot change reference to static array 'va' make[2]: *** [lifetime.o] Error 1 make[2]: Leaving directory `/home/slayer/code/grep/tango/lib/compiler/gdc' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/slayer/code/grep/tango/lib/compiler/gdc' make: *** [lib] Error 2

Change History

03/14/07 17:30:50 changed by larsivi

  • keywords set to x86_64 gentoo.
  • milestone set to 0.97 RC 1.

03/16/07 15:05:44 changed by sean

Hopefully, this has been fixed in changeset [1915]. Please verify and let me know if I can close the ticket. This ticket is liked to ticket #314.

03/16/07 16:08:41 changed by Nietsnie

Doesn't look like anything is different to me:

$ svn info
Path: .
URL: http://svn.dsource.org/projects/tango/trunk[[BR]] Repository Root: http://svn.dsource.org/projects/tango[[BR]] Repository UUID: 94d23b9d-ec12-0410-b399-9fdf8a1d4f26
Revision: 1916
Node Kind: directory
Schedule: normal
Last Changed Author: sean
Last Changed Rev: 1915
Last Changed Date: 2007-03-16 12:57:59 -0600 (Fri, 16 Mar 2007

$./build-gdc.sh
<snip>
gdc -o lifetime.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC
-fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \

-c lifetime.d

../../../std/c/stdarg.di:14: Error: identifier 'va_list' is not defined
../../../std/c/stdarg.di:14: Error: va_list is used as a type
../../../std/c/stdarg.di:14: Error: cannot have parameter of type void
../../../std/c/stdarg.di: variable std.c.stdarg.va_start!(uint).va_start.ap voids have no value
../../../std/c/stdarg.di:815: template instance std.c.stdarg.va_start!(uint) error instantiating
lifetime.d:815: function std.c.stdarg.va_start!(uint).va_start (void,uint) does not match parameter types
(ubyte[24][1],uint)
lifetime.d:815: Error: cannot implicitly convert expression (va) of type ubyte[24][1] to void
lifetime.d:815: Error: cast(void)va is not an lvalue
make[2]: *** [lifetime.o] Error 1
</snip>

03/16/07 16:12:59 changed by sean

Okay, hopefully changeset [1918] will address this. Please try again.

03/16/07 16:17:07 changed by Nietsnie

Slightly different:

gdc -o lifetime.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \

-c lifetime.d

../../../std/c/stdarg.di:20: Error: cannot have out or inout parameter of type ubyte[24][1]
../../../std/c/stdarg.di:815: template instance std.c.stdarg.va_start!(uint) error instantiating

03/16/07 16:19:09 changed by Nietsnie

lifetime.d:815: Error: cannot change reference to static array 'va'

(add that to bottom of above comment)

03/16/07 16:30:31 changed by sean

And one more time! Please try commit [1919].

03/16/07 16:33:23 changed by sean

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