http://d.puremagic.com/issues/show_bug.cgi?id=7568
Summary: pragma(msg) segfaults with an aggregate including a class. Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: CTFE, ice Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: kenn...@gmail.com --- Comment #0 from kenn...@gmail.com 2012-02-23 11:02:13 PST --- Test cases: ----------------------------------------------- class C7568 {} struct S7568 { C7568 c; } auto test7568a() { return [new C7568]; } auto test7568b() { return S7568(new C7568); } pragma(msg, test7568a()); pragma(msg, test7568b()); ----------------------------------------------- This will cause a segmentation fault: test.d(4): Error: C7568 class literals cannot be returned from CTFE Segmentation fault This happens because an Expression* is assigned to the value 0x1, and the function 'argsToCBuffer' is trying to access the expression without first checking if the expression is a valid pointer. The program should simply fail to compile, without the segfault. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------