Bug 3321 – debug flags

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2009-09-16T20:12:00Z
Last change time
2013-02-06T17:53:33Z
Keywords
pull, spec
Assigned to
andrej.mitrovich
Creator
ellery-newcomer

Comments

Comment #0 by ellery-newcomer — 2009-09-16T20:12:35Z
test.d: debug pragma(msg,"hi!"); void main() {} $ dmd2 test (no output) $ dmd2 -debug test hi! $ dmd2 -debug=1 test hi! $ dmd2 -debug=ellery test (no output) WHAT???????
Comment #1 by ellery-newcomer — 2009-09-16T20:23:48Z
a quick peek in the source shows that debug <=> debug(1) is this sane behavior?
Comment #2 by ary — 2009-09-17T04:18:53Z
Yes, that's normal behaviour. And: $ dmd2 -debug=ellery test will print "hi!" if the code is: debug(ellery) pragma(msg,"hi!"); void main() {} I won't close this as invalid because the specification doesn't say exactly this. It says: --- The debug condition is satisfied when the -debug switch is thrown on the compiler. The debug ( Integer ) condition is satisfied when the debug level is >= Integer. The debug ( Identifier ) condition is satisfied when the debug identifier matches Identifier. --- It should say: The debug condition is satisfied when the -debug switch is thrown on the compiler or when a debug level >= 1 is indicated. (or something like that)
Comment #3 by ellery-newcomer — 2009-09-17T07:44:38Z
(In reply to comment #2) > Yes, that's normal behaviour. According to whom? The C preprocessor? When I read the spec, I came away with the impression that debug should work like so: debug { stuff } should get compiled if the compiler is given -debug or -debug={something}. Basically, I see it as a boolean. Are we in a debug compile? debug(number) { stuff } should get compiled if the compiler is given -debug=n, where n >= number (and there's nothing that says debug(0) { stuff } will always get compiled) wait, I'm seeing a pattern here 1 -> true, 0 -> false. That sorta makes sense. debug(id) { stuff } should get compiled if the compiler is given -debug=id Yeah, spec needs to be more precise. I would like to see -debug=id => debug_level=1, though.
Comment #4 by yebblies — 2011-06-12T22:11:46Z
*** Issue 3721 has been marked as a duplicate of this issue. ***
Comment #5 by andrej.mitrovich — 2013-02-06T17:25:47Z
Comment #6 by github-bugzilla — 2013-02-06T17:53:08Z