Files
mercury/RESERVED_MACRO_NAMES
Zoltan Somogyi cd72d000a8 Remove support for the MPS garbage collector.
As Tomas By's recent emails suggest, this support is doing more harm than good,
by falsely implying to people that MPS is a viable alternative to the Boehm
collector. The MPS collector was only ever experimental, and never performed
as well as Boehm. MPS isn't even in the git repository on git hub. It was
stored in a separate CVS repository on mundula, and (as far as I know)
wasn't carried over to github. The code of MPS was last touched a long time
ago; I would be surprised if it worked on today's systems without changes.

Mmake.common.in:
Mmake.workspace:
RESERVED_MACRO_NAMES:
boehm_gc/Mmakefile:
compiler/add_pragma.m:
compiler/compile_target_code.m:
compiler/globals.m:
compiler/handle_options.m:
compiler/mercury_compile_mlds_back_end.m:
compiler/mlds_to_c.m:
compiler/options.m:
compiler/peephole.m:
doc/user_guide.texi:
library/benchmarking.m:
runtime/Mmakefile.m:
runtime/mercury.h:
runtime/mercury_conf_param.h:
runtime/mercury_grade.h:
runtime/mercury_heap.h:
runtime/mercury_init.h:
runtime/mercury_memory.h:
runtime/mercury_wrapper.[ch]:
scripts/canonical_grade.sh-subr:
scripts/init_grade_options.sh-subr:
scripts/mgnuc.in:
scripts/ml.in:
scripts/parse_grade_options.sh-subr:
util/mkinit.c:
    Remove all references to MPS.
2014-08-05 15:45:33 +02:00

85 lines
3.6 KiB
Plaintext

#-----------------------------------------------------------------------------#
# Copyright (C) 2014 The Mercury team
# This file may only be copied under the terms of the GNU General
# Public License - see the file COPYING in the Mercury distribution.
#-----------------------------------------------------------------------------#
#
# RESERVED_MACRO_NAMES
#
# We want all macros defined by the Mercury header files to start with a prefix
# that indicates their origin, leaving the rest of the namespace available
# to users to use as they wish. However, we do have to define some macros
# that do not conform to this naming scheme. This file, and the other files
# of the same name in the lower directories that contain C header files
# list all these exceptions. The purpose of this is to enable the
# Mmakefile target `check_headers' in each of those directories
# to check whether we have accidentally defined any other macros that
# encroach on users' namespace.
#
# This file, and the other files with the same name, are used as arguments
# to `fgrep -f'. Lines starting with `#' will not match anything in the input,
# and can thus be used as comments. Other lines are treated as strings
# to match against.
#
# This file contains the namespace-unclean macros that are defined
# in all of the directories that have hand-written .h files.
#
# Any macros that are *not* defined in all those directories should be listed
# in the RESERVED_MACRO_NAMES file in the relevant directory or directories.
#
#-----------------------------------------------------------------------------#
# This is documented in the Mercury language reference manual
# and defined by mercury_types.h.
SUCCESS_INDICATOR
#-----------------------------------------------------------------------------#
# pid_t is only defined in mercury_conf.h if it is not present
# in the system headers. I don't think there is a nice way to
# prefix this without requiring a later version of autoconf (e.g. 2.52).
pid_t
#-----------------------------------------------------------------------------#
# These are defined by boehm_gc/gc.h.
__GC
_GC_H
HIDE_POINTER
REVEAL_POINTER
#-----------------------------------------------------------------------------#
# These are defined by boehm_gc/include/gc_pthread_redirects.h
dlopen
pthread_create
pthread_detach
pthread_join
pthread_sigmask
#-----------------------------------------------------------------------------#
# This is defined by the mgnuc script in some grades.
# It is used for configuring the Boehm collector.
# XXX it should have a GC_ prefix.
NO_SIGNALS
#-----------------------------------------------------------------------------#
# These are defined automatically by GCC -- gcc optionally passes them
# on the command line when calling cc1, depending on the exact options
# that gcc was invoked with. These are not namespace pollution, since they are
# in the _[A-Z]* namespace which is reserved for the C implementation,
# and they *are* being defined by the C implementation.
_GNU_SOURCE
_FORTIFY_SOURCE
__EXTENSIONS__
__OPTIMIZE__
__STRICT_ANSI__
__GCC_HAVE_DWARF2_CFI_ASM
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
__i686
__i686__
__pentiumpro
__pentiumpro__
#-----------------------------------------------------------------------------#
# These are defined in when threads are enabled.
_REENTRANT
_THREAD_SAFE
#-----------------------------------------------------------------------------#
# This is defined on MinGW64 to workaround limitations in the Windows libc.
__USE_MINGW_ANSI_STDIO
#-----------------------------------------------------------------------------#