~ubuntu-branches/ubuntu/quantal/libgc/quantal

« back to all changes in this revision

Viewing changes to doc/README.macros

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Egger
  • Date: 2011-02-19 12:19:56 UTC
  • mfrom: (1.3.2 upstream) (0.1.5 experimental)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: james.westby@ubuntu.com-20110219121956-67rb69xlt5nud3v2
Tags: 1:7.1-5
Upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
macros.  Currently these macros generally identify platforms instead of
20
20
features.  In many cases, this is a mistake.
21
21
 
22
 
3) The code currently avoids #elif, eventhough that would make it more
23
 
readable.  This was done since #elif would need to be understood by ALL
24
 
compilers used to build the collector, and that hasn't always been the case.
25
 
It makes sense to reconsider this decision at some point, since #elif has been
26
 
standardized at least since 1989.
27
 
 
28
22
Many of the tested configuration macros are at least somewhat defined in
29
23
either include/private/gcconfig.h or in Makefile.direct.  Here is an attempt
30
24
at defining some of the remainder:  (Thanks to Walter Bright for suggesting
33
27
MACRO           EXPLANATION
34
28
-----           -----------
35
29
 
 
30
GC_DEBUG        Tested by gc.h.  Causes all-upper-case macros to
 
31
                expand to calls to debug versions of collector routines.
 
32
 
 
33
GC_NO_THREAD_REDIRECTS Tested by gc.h.  Prevents redirection of thread
 
34
                creation routines etc. to GC_ versions.  Requires the
 
35
                programmer to explicitly handle thread registration.
 
36
 
 
37
GC_NO_THREAD_DECLS Tested by gc.h. MS Windows only.  Do not declare
 
38
                Windows thread creation routines and do not include windows.h.  
 
39
 
36
40
__DMC__ Always #define'd by the Digital Mars compiler. Expands
37
41
                to the compiler version number in hex, i.e. 0x810 is
38
42
                version 8.1b0
79
83
PCR             Set if the collector is being built as part of the Xerox
80
84
                Portable Common Runtime.
81
85
 
82
 
SRC_M3          Set if the collector is being built as a replacement of the
83
 
                one in the DEC/Compaq SRC Modula-3 runtime.  I suspect this
84
 
                was last used around 1994, and no doubt broke a long time ago.
85
 
                It's there primarily incase someone wants to port to a similar
86
 
                system.
87
 
 
88
86
USE_COMPILER_TLS  Assume the existence of __thread-style thread-local
89
87
                storage.  Set automatically for thread-local allocation with
90
88
                the HP/UX vendor compiler.  Usable with gcc on sufficiently