www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 11008] New: Allow -main switch even if user-defined main function exists

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11008

           Summary: Allow -main switch even if user-defined main function
                    exists
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: k.hara.pg gmail.com



Currently, if user-defined main() function exists, specifying -main switch will
fail to compile.

// test.d
void main() {}

$ dmd -main -run test
test.d(1): Error: only one main/WinMain/DllMain allowed, -main switch added
another main()

But I think this is unnecessary restriction. Compiler can stop adding "another
main" when user-defined main() detected.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 10 2013
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11008


Jonathan M Davis <jmdavisProg gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jmdavisProg gmx.com



PDT ---
It could also be argued that it's misleading if -main works when there's
already a main function, because instead of simply running the unit tests, the
main is going to do whatever the already included main function does. Giving
the user an error alerts them to the fact that they're trying to add a main
when there already is one (one which almost certainly doesn't do what they
want). So, it seems to me that not having -main error out gains us little and
causes problems when someone tries to use -main when they already have a main
function defined.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 10 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11008


Kenji Hara <k.hara.pg gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WONTFIX



Ok. I withdraw this.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 10 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11008


Maxim Fomin <maxim maxim-fomin.ru> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |maxim maxim-fomin.ru



---
One way to do this is to introduce separate option, say -fno-main-error which
does what was proposed in this enh without screwing current switch.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 10 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11008


thelastmammoth gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |thelastmammoth gmail.com




 One way to do this is to introduce separate option, say -fno-main-error which
 does what was proposed in this enh without screwing current switch.
 One way to do this is to introduce separate option, say -fno-main-error which
 does what was proposed in this enh without screwing current switch.
something more general and useful would be: dmd -main=mypck.mymodule.myfunction [...] which specifies the main function to use. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 10 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11008


Rainer Schuetze <r.sagitario gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |r.sagitario gmx.de



PDT ---
What about something like -emptymain to actually force an empty main function
to replace an optionally existing one. That way you'd be be able to run the
unittests without executing anything else?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 10 2013