LDC predefined identifiers

Brad Roberts braddr at puremagic.com
Sun Jun 7 18:04:02 PDT 2009


I'm in the process of updating the version.html list of predefined identifiers.
 I'd like to include the identifiers that are produced by LDC as well as
validate that there aren't conflicts or contradictions between the compilers.  I
know there was a thread about this a while back.  What's the current state for LDC?

See also: http://d.puremagic.com/issues/show_bug.cgi?id=2994

The ddoc file, with some not yet committed edits:

        $(TABLE2 Compiler Vendors
        $(TR $(TH Identifier) $(TH Description))
        $(TR $(TD $(B DigitalMars)) $(TD Digital Mars compilers))
        )

        $(TABLE2 CPU Architectures
        $(TR $(TH Identifier) $(TH Description))
        $(TR $(TD $(B X86)) $(TD Intel and AMD 32 bit processors))
        $(TR $(TD $(B X86_64)) $(TD AMD and Intel 64 bit processors))
        )

        $(TABLE2 Operating Systems
        $(TR $(TH Identifier) $(TH Description))
        $(V2 $(TR $(TD $(B FreeBSD)) $(TD All Linux systems)))
        $(TR $(TD $(B linux)) $(TD All linux systems))
        $(V2 $(TR $(TD $(B Posix)) $(TD All posix systems)))
        $(V2 $(TR $(TD $(B Solaris)) $(TD All Solaris systems)))
        $(TR $(TD $(B Windows)) $(TD Microsoft Windows systems))
        $(TR $(TD $(B Win32)) $(TD Microsoft 32 bit Windows systems))
        $(TR $(TD $(B Win64)) $(TD Microsoft 64 bit Windows systems))
        )

        $(TABLE2 Various features
        $(TR $(TH Identifier) $(TH Description))
        $(TR $(TD $(B LittleEndian)) $(TD Byte order, least significant first))
        $(TR $(TD $(B BigEndian)) $(TD Byte order, most significant first))
        $(TR $(TD $(B D_Coverage)) $(TD $(LINK2 code_coverage.html, Code
coverage analysis) instrumentation (command line $(LINK2
dmd-windows.html#switches, switch) $(B -cov)) is being generated))
        $(TR $(TD $(B D_Ddoc)) $(TD $(LINK2 ddoc.html, Ddoc) documentation
(command line $(LINK2 dmd-windows.html#switches, switch) $(B -D)) is being
generated))
        $(TR $(TD $(B D_InlineAsm_X86)) $(TD $(LINK2 iasm.html, Inline
assembler) for X86 is implemented))
        $(TR $(TD $(B D_InlineAsm_X86_64)) $(TD $(LINK2 iasm.html, Inline
assembler) for X86-64 is implemented))
        $(V2 $(TR $(TD $(B D_NET)) $(TD The .NET D compiler)))
        $(TR $(TD $(B D_LP64)) $(TD Pointers are 64 bits (command line $(LINK2
dmd-windows.html#switches, switch) $(B -m64))))
        $(TR $(TD $(B D_PIC)) $(TD Position Independent Code (command line
$(LINK2 dmd-windows.html#switches, switch) $(B -fPIC)) is being generated))
        $(V2 $(TR $(TD $(B unittest)) $(TD Unit tests are enabled (command line
$(LINK2 dmd-windows.html#switches, switch) $(B -unittest)))))
        $(V2 $(TR $(TD $(B D_Version2)) $(TD This is a D version 2 compiler)))
        $(TR $(TD $(B none)) $(TD Never defined; used to just disable a section
of code))
        $(TR $(TD $(B all)) $(TD Always defined; used as the opposite of $(B none)))
        )

Thanks,
Brad



More information about the Digitalmars-d mailing list