www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 768] New: A switch to print predefined version identifiers

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

           Summary: A switch to print predefined version identifiers
           Product: D
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P3
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: larsivar igesund.net


Tools working with D code, and build tools in particular, need to know which
version identifiers are set by the compiler. To make this exact and less error
prone (a tool can't check which identifiers are set without knowing their
names), a standard switch should be added to all D compilers (I have picked DMD
here as this would presumably be a frontend feature.) 

The switch ( -versionids or similar) should print the set identifiers to stdout
in an easily parseable format. The set printed by the compiler may change
depending on environment or additional switches, for instance would GDC
presumably print varying identifiers if cross compiling targets are specified.


-- 
Dec 29 2006
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=768





------- Comment #1 from thomas-dloop kuehne.cn  2006-12-29 18:20 -------
While the commandline switch is useful, a more integrated solution would be 
much more powerful:

const char[][] all_defined_versions = version[];

That way debugging complex version setups becomes very easy.


-- 
Dec 29 2006
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=768





------- Comment #2 from larsivar igesund.net  2006-12-30 04:14 -------
(In reply to comment #1)
 While the commandline switch is useful, a more integrated solution would be 
 much more powerful:
 
 const char[][] all_defined_versions = version[];
 
 That way debugging complex version setups becomes very easy.
 

I don't think this could easily be made to handle cross compilation? --
Dec 30 2006
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=768





------- Comment #3 from thomas-dloop kuehne.cn  2006-12-30 07:49 -------
What would be the potential issues with cross compilation?


-- 
Dec 30 2006
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=768





------- Comment #4 from larsivar igesund.net  2006-12-30 07:52 -------
(In reply to comment #3)
 What would be the potential issues with cross compilation?
 

I may misunderstand your suggestion, but how would I (runtime) go about finding which version ids will be set given a specific target architecture/platform? --
Dec 30 2006
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=768





------- Comment #5 from thomas-dloop kuehne.cn  2006-12-30 20:09 -------
(In reply to comment #4)
The version ids set for cross compilation could be printed via a compile time 
template.

(Issues #772 , #774 and #775 are currently blocking this kind of template.)


-- 
Dec 30 2006
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=768


Andrei Alexandrescu <andrei metalanguage.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |andrei metalanguage.com
         AssignedTo|nobody puremagic.com        |bugzilla digitalmars.com


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 26 2010