@@ -22,6 +22,10 @@ extern (C++):
2222@nogc :
2323nothrow :
2424
25+ enum VERSION = " 9.00.0" ; // for banner and imbedding in .OBJ file
26+ enum VERSIONHEX = " 0x900" ; // for __DMC__ macro
27+ enum VERSIONINT = 0x900 ; // for precompiled headers and DLL version
28+
2529version (SCPP)
2630 version = XVERSION ;
2731version (SPP)
7781// #define ATTR_CAN_IGNORE(a) (((a) & (ATTR_LINKMOD|ATTR_TYPEMOD|ATTR_FUNCINFO|ATTR_DATAINFO|ATTR_TRANSU)) == 0)
7882// #define LNX_CHECK_ATTRIBUTES(a,x) assert(((a) & ~(x|ATTR_IGNORED|ATTR_WARNING)) == 0)
7983
84+ version (_WINDLL)
85+ enum SUFFIX = " nd" ;
86+ else version (_WIN64)
87+ enum SUFFIX = " a" ;
88+ else version (Win32 )
89+ enum SUFFIX = " n" ;
90+ else
91+ enum SUFFIX = " " ;
92+
8093// Generate cleanup code
8194enum TERMCODE = 0 ;
8295
@@ -347,32 +360,45 @@ enum REGMAX = 29; // registers are numbered 0..10
347360alias tym_t = uint ; // data type big enough for type masks
348361alias SYMIDX = int ; // symbol table index
349362
350- // #define _chkstack() (void)0
351363
352- // #if _WINDLL
353- // /* We reference the required Windows-1252 encoding of the copyright symbol
354- // by escaping its character code (0xA9) rather than directly embedding it in
355- // the source text. The character code is invalid in UTF-8, which causes some
356- // of our source-code preprocessing tools (e.g. tolf) to choke. */
357- // #ifndef COPYRIGHT_SYMBOL
358- // #define COPYRIGHT_SYMBOL "\xA9"
359- // #endif
360- // #define COPYRIGHT "Copyright " COPYRIGHT_SYMBOL " 2001 Digital Mars"
361- // #else
362- // #ifdef DEBUG
363- // #define COPYRIGHT "Copyright (C) Digital Mars 2000-2017. All Rights Reserved.\n\
364- // Written by Walter Bright\n\
365- // *****BETA TEST VERSION*****"
366- // #else
367- // #if __linux__
368- // #define COPYRIGHT "Copyright (C) Digital Mars 2000-2017. All Rights Reserved.\n\
369- // Written by Walter Bright, Linux version by Pat Nelson"
370- // #else
371- // #define COPYRIGHT "Copyright (C) Digital Mars 2000-2017. All Rights Reserved.\n\
372- // Written by Walter Bright"
373- // #endif
374- // #endif
375- // #endif
364+ version (MARS)
365+ {
366+ }
367+ else
368+ {
369+ version (_WINDLL)
370+ {
371+ /* We reference the required Windows-1252 encoding of the copyright symbol
372+ by escaping its character code (0xA9) rather than directly embedding it in
373+ the source text. The character code is invalid in UTF-8, which causes some
374+ of our source-code preprocessing tools (e.g. tolf) to choke.
375+ */
376+ enum COPYRIGHT_SYMBOL = " \xA9 " ;
377+ enum COPYRIGHT = " Copyright " ~ COPYRIGHT_SYMBOL ~ " 2001 Digital Mars" ;
378+ }
379+ else
380+ {
381+ debug
382+ {
383+ enum COPYRIGHT = " Copyright (C) Digital Mars 2000-2017. All Rights Reserved.
384+ Written by Walter Bright
385+ *****BETA TEST VERSION*****" ;
386+ }
387+ else
388+ {
389+ version (linux )
390+ {
391+ enum COPYRIGHT = " Copyright (C) Digital Mars 2000-2017. All Rights Reserved.
392+ Written by Walter Bright, Linux version by Pat Nelson" ;
393+ }
394+ else
395+ {
396+ enum COPYRIGHT = " Copyright (C) Digital Mars 2000-2017. All Rights Reserved.
397+ Written by Walter Bright" ;
398+ }
399+ }
400+ }
401+ }
376402
377403/* *********************************
378404 * Configuration
@@ -699,7 +725,8 @@ struct Config
699725enum THRESHMAX = 0xFFFF ;
700726
701727// Language for error messages
702- enum LANG
728+ alias LANG = int ;
729+ enum
703730{ LANGenglish,
704731 LANGgerman,
705732 LANGfrench,
0 commit comments