dmd 2.064.2 stuck compiling code?

Arjan arjan at ask.me.to
Mon Nov 25 15:21:55 PST 2013


On Wednesday, 20 November 2013 at 08:44:47 UTC, Arjan wrote:
> On Tuesday, 19 November 2013 at 21:19:13 UTC, michaelc37 wrote:
>> On Tuesday, 19 November 2013 at 10:30:15 UTC, Arjan wrote:
>>> On Tuesday, 19 November 2013 at 02:07:18 UTC, michaelc37 
>>> wrote:
>>>> On Monday, 18 November 2013 at 08:30:05 UTC, Arjan wrote:
>>>>> On Monday, 18 November 2013 at 04:17:25 UTC, Brian Schott 
>>>>> wrote:
>>>>>> On Monday, 18 November 2013 at 02:18:34 UTC, michaelc37 
>>>>>> wrote:
>>>>>>> I have an issue where dmd v2.064.2 never finishes 
>>>>>>> compiling (hangs)
>>>>>>>
>>>>>>> i'm trying to recompile my patched up fork of qtd 
>>>>>>> (https://github.com/michaelc37/qtd) but the code never 
>>>>>>> stops compiling (it was compiling with v2.063.2).
>>>>>>>
>>>>>>> any suggestions on how to investigate this further?
>>>>>>
>>>>>> Possibly related: 
>>>>>> https://github.com/Hackerpilot/DCD/issues/79
>>>>>
>>>>> I had the same problems when building Dscanner on 
>>>>> OpenSUSE(32) bits, on FreeBSD-9(64) it core dumps. The 
>>>>> backtrace shows an endless list of:
>>>>> #0 0x0.. FuncDeclaration::overloadInsert ()
>>>>> #1 0x0.. FuncDeclaration::overloadInsert ()
>>>>> #2 0x0.. FuncDeclaration::overloadInsert ()
>>>>> ..
>>>>> Haven't had the time to investigate this further.
>>>>> This happens with dmd build form the the 
>>>>> master/HEAD(ff81ae9)
>>>>
>>>> i think i tracked down the commit that caused this issue for 
>>>> me
>>>>
>>>> it seems to be this.
>>>> https://github.com/D-Programming-Language/dmd/commit/5f0c3a12de2a15116fac109b39912bfcb22842b8
>>>>
>>>> using a dmd built on the commit before it does not hang.
>>>> https://github.com/D-Programming-Language/dmd/commit/435af3171f488c7857c2d2859c1c99981de19506
>>>
>>> Great! Did you already report this bug here?
>>> https://d.puremagic.com/issues/
>>
>> Not yet, I'm still trying to isolate the issue out of an 
>> enormous amount of *.d files.  Once i can get to that, i can 
>> paste the minimum amount of coded needed to reproduce the 
>> issue to https://d.puremagic.com/issues/.
>
> OK. Thanks for doing this.
> Maybe dustmite can be of help?
> https://github.com/CyberShadow/DustMite/wiki

The code snippet is reduced using dustmite and causes DMD to 
coredump on FreeBSD and compile forever on Linux.

Version dmd FreeBSD: DMD64 D Compiler v2.065-devel-b6b240b
Version dmd Linux: DMD32 D Compiler v2.065-devel-be98dbb

Maybe someone is willing to file this in bugzilla as I have no 
account.
-------------------8<------------------------------
public:

/**
  * Represents a D token
  */
struct Token
{
TokenType type;

}

/**
  * Listing of all the tokens in the D language.
  */
enum TokenType: ushort
{
invalid}

import std.algorithm;
/**
  * Parser structure
  */
class Parser
{
bool peekIsOneOf(TokenType[] types...) {
canFind(types, tokens[1].type);
}

const(Token)[] tokens;
}



More information about the Digitalmars-d mailing list