Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

__MODULE__ crashes ldc #446

Closed
timotheecour opened this issue Aug 19, 2013 · 6 comments
Closed

__MODULE__ crashes ldc #446

timotheecour opened this issue Aug 19, 2013 · 6 comments

Comments

@timotheecour
Copy link

void main(){
auto a=MODULE;
}

%$ldc_X main.d
0 ldc2 0x0000000108f48170 PrintStackTrace(void_) + 34
1 ldc2 0x0000000108f48502 SignalHandler(int) + 228
2 libsystem_c.dylib 0x00007fff98b4594a sigtramp + 26
3 libsystem_c.dylib 0x0000000000000001 sigtramp + 18446603337954207441
4 ldc2 0x000000010883a172 Parser::parsePrimaryExp() + 1474
5 ldc2 0x000000010883ce69 Parser::parseUnaryExp() + 627
6 ldc2 0x000000010883d736 Parser::parseMulExp() + 38
7 ldc2 0x000000010883d87a Parser::parseAddExp() + 38
8 ldc2 0x000000010883d9ba Parser::parseShiftExp() + 38
9 ldc2 0x000000010883dafa Parser::parseCmpExp() + 38
10 ldc2 0x000000010883dd57 Parser::parseAndExp() + 41
11 ldc2 0x000000010883dea2 Parser::parseXorExp() + 42
12 ldc2 0x000000010883dfe4 Parser::parseOrExp() + 42
13 ldc2 0x000000010883e120 Parser::parseAndAndExp() + 38
14 ldc2 0x000000010883e1ba Parser::parseOrOrExp() + 38
15 ldc2 0x000000010883e24e Parser::parseCondExp() + 42
16 ldc2 0x0000000108831a49 Parser::parseAssignExp() + 43
17 ldc2 0x00000001088362f0 Parser::parseInitializer() + 158
18 ldc2 0x0000000108834456 Parser::parseAutoDeclarations(unsigned long long, unsigned char
) + 182
19 ldc2 0x00000001088328a9 Parser::parseDeclarations(unsigned long long, unsigned char
) + 1917
20 ldc2 0x0000000108836c94 Parser::parseStatement(int, unsigned char__) + 716
21 ldc2 0x000000010883700f Parser::parseStatement(int, unsigned char__) + 1607
22 ldc2 0x000000010883694f Parser::parseContracts(FuncDeclaration_) + 559
23 ldc2 0x0000000108832ebd Parser::parseDeclarations(unsigned long long, unsigned char_) + 3473
24 ldc2 0x000000010883031f Parser::parseDeclDefs(int, Dsymbol_*) + 519
25 ldc2 0x000000010883e535 Parser::parseModule() + 233
26 ldc2 0x000000010880e9ea Module::parse(bool) + 1252
27 ldc2 0x000000010877b24d main + 7997
28 libdyld.dylib 0x00007fff912ce7e1 start + 0

@timotheecour
Copy link
Author

actually it's pretty annoying because it crashes LDC even when protecting it as follows, making it hard to port code to LDC:

import std.stdio;
void main(){
version(LDC){
writeln("LDC");
}
else{
writeln("not LDC");
auto a=MODULE;//crashes even though we're using ldc
}
}

@timotheecour
Copy link
Author

actually the same bug seems to occur with dmd. Still, I would think it's a bug. It occurs when module declaration is omited.

@redstar
Copy link
Member

redstar commented Aug 19, 2013

Nice crash. Did you also report the DMD issue? Looks like an upstream problem...

@redstar
Copy link
Member

redstar commented Aug 19, 2013

@ghost
Copy link

ghost commented Feb 4, 2014

This was a front-end bug that was fixed in the meantime, please close.

@redstar
Copy link
Member

redstar commented Feb 4, 2014

Available in release 0.13.0-alpha1.

@redstar redstar closed this as completed Feb 4, 2014
redstar pushed a commit that referenced this issue Sep 27, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants