digitalmars.D.bugs - [Issue 2643] New: -o- switch bearks semantic analysis
- d-bugmail puremagic.com (32/34) Feb 03 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2643
- d-bugmail puremagic.com (6/6) Feb 03 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2643
- d-bugmail puremagic.com (10/13) Feb 05 2009 not everything, just object file generation
- d-bugmail puremagic.com (6/6) Feb 05 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2643
- d-bugmail puremagic.com (10/10) Feb 05 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2643
- d-bugmail puremagic.com (10/10) Jun 10 2011 http://d.puremagic.com/issues/show_bug.cgi?id=2643
- d-bugmail puremagic.com (16/16) Jul 22 2013 http://d.puremagic.com/issues/show_bug.cgi?id=2643
http://d.puremagic.com/issues/show_bug.cgi?id=2643 Summary: -o- switch bearks semantic analysis Product: D Version: 2.023 Platform: PC URL: http://digitalmars.com/d/2.0/dmd-windows.html#switches OS/Version: Windows Status: NEW Keywords: diagnostic Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: maxmo pochta.ru --- module Test; interface NetworkListener { void onConnect(); } class SoundManager : private NetworkListener { private final void onConnect() { } } --- compiling this code with -c -o- switches yields no error messages, while compilation with -c switch yields error.dmd -c tmp.d -o- -I.. -wdmd -c tmp.d -I.. -wtmp.d(16): class Test.SoundManager interface function NetworkListener.onConnect isn't implemented --
Feb 03 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2643 that's not a bug if you look at it a different way; -o- is to allow generating ddoc output without having to run everything. OTOH if you see it as run a test build but don't generate object files... --
Feb 03 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2643that's not a bug if you look at it a different way; -o- is to allow generating ddoc output without having to run everything.not everything, just object file generationOTOH if you see it as run a test build but don't generate object files...well then this feature should be better documented, because *some* semantic analysis is *done* with -o- switch. I suspect that this surprise only pops up when compiler tries to build class's vtbl at codegen step, which means that semantic analysis is not fully done at right time. I intensively use gcc -fsyntax-only and never run into trouble with it, in spite of the switch name, it seems like it does full semantic analysis. --
Feb 05 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2643 At some point I home that DMD will actual do more semantic stuff under -o- as then I can get DDoc output for generated code. However even then DMD should only do what is needed to generate the requested output. --
Feb 05 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2643 DMD actually does quite a bit of error handling during code generation. I've been hit by this several times in LDC, where it means that quite a lot of the time, you can't be sure the AST you're generating code for is valid. I would love to see this fixed as well, but I can also understand that some errors are a lot simpler to detect at the codegen stage, so it worth the performance tradeoff ? I'm not sure. --
Feb 05 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2643 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |robert octarineparrot.com *** Issue 5947 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 10 2011
http://d.puremagic.com/issues/show_bug.cgi?id=2643 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |accepts-invalid Summary|-o- switch breaks semantic |Front-end should check for |analysis |unimplemented interface | |functions This is not just an issue with -o-. Because the error is only generated in the glue layer, it isn't prevented from being sent to CTFE. This means that in some circumstances, in CTFE, you can successfully call a function which the compiler says does not exist!! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 22 2013