Undefined reference error when array size is given

Steven Schveighoffer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jan 19 13:49:34 PST 2015


On 1/19/15 4:33 PM, ketmar via Digitalmars-d-learn wrote:
> On Mon, 19 Jan 2015 16:27:51 -0500
> Steven Schveighoffer via Digitalmars-d-learn
> <digitalmars-d-learn at puremagic.com> wrote:
>
>> On 1/19/15 4:16 PM, ketmar via Digitalmars-d-learn wrote:
>>> On Mon, 19 Jan 2015 21:00:55 +0000
>>> tcak via Digitalmars-d-learn <digitalmars-d-learn at puremagic.com> wrote:
>>>
>>>> What is the reason of this error exactly?
>>> "core.sys.posix.poll.d" module is not compiled into druntime. as it is
>>> in "include" path, compiler sees it and you can use `pollfd` struct.
>>> but as it's not in link library, there is no `.init` section for it.
>>
>> I think this not the root cause. Of course poll.d should be in druntime,
>> if applicable.
>>
>> What I likely think is that he is compiling on a platform where poll.d
>> is not supported.
>>
>> Can you give more info on your build environment?
>
> i tried that on my 32-bit GNU/Linux box, and the result is the same.
> but `poll (2)` is certainly supported here. dmd git head, as usual. ;-)
>

I figured it out, poll.d is missing from here:

https://github.com/D-Programming-Language/druntime/blob/master/mak/SRCS

So it's for some reason not purposely included.

I think there's an expectation (I'm probably guilty of this too) that if 
you include a file somewhere in druntime's core subdirectory, it gets 
compiled in.

There are actually quite a few files not included... not sure why.

-Steve


More information about the Digitalmars-d-learn mailing list