summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/contrib/mcpp/system.H
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/contrib/mcpp/system.H')
-rw-r--r--TAO/TAO_IDL/contrib/mcpp/system.H399
1 files changed, 0 insertions, 399 deletions
diff --git a/TAO/TAO_IDL/contrib/mcpp/system.H b/TAO/TAO_IDL/contrib/mcpp/system.H
deleted file mode 100644
index 188bc47c024..00000000000
--- a/TAO/TAO_IDL/contrib/mcpp/system.H
+++ /dev/null
@@ -1,399 +0,0 @@
-/*- $Id$
- * Copyright (c) 1998, 2002-2008 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
- * All rights reserved.
- *
- * Some parts of this code are derived from the public domain software
- * DECUS cpp (1984,1985) written by Martin Minow.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * S Y S T E M . H
- * S y s t e m D e p e n d e n t
- * D e f i n i t i o n s f o r M C P P
- *
- * Definitions in this file may be edited to configure MCPP for particular
- * operating systems and compiler configurations.
- *
- * Note: MCPP assumes the system implement the Ascii character set.
- * If this is not the case, you will have to do some editing here and there.
- */
-
-#define SYSTEM_H
-
-#if HAVE_CONFIG_H
-//#include "configed.H"
-#else
-#include "noconfig.H"
-#endif
-
-/* Some system has a wrong definition of UCHAR_MAX. See cpp-test.html#5.1.3 */
-#if UCHARMAX < -255
-/* The definition of UCHARMAX (possibly UCHAR_MAX too) is wrong. */
-/* Define it as a signed int value, not as an unsigned value. */
-#undef UCHARMAX
-#define UCHARMAX ((1 << CHAR_BIT) - 1)
-#endif
-
-/*
- * PART 1 and PART 2 are defined in the above header files.
- */
-
-/*
- * P A R T 1 Configurations for target-operating-system
- * and target-compiler.
- */
-
-/*
- * P A R T 2 Configurations for host-compiler.
- */
-
-/*
- * P A R T 3 Configurations for default settings, typedefs and
- * translation limits.
- */
-
-/*
- * The variable 'mcpp_mode' specifies the mode of preprocessing as one of
- * OLD_PREP, KR, STD, or POST_STD.
- * Those modes have many differences each other --
- * i.e. handling of translation phases; handling of some
- * preprocessing tokens; availability of some directives; way of
- * macro expansion;
- * -- as follows.
- *
- * KR Actual arguments of a macro are expanded (after substitution)
- * with rest of the replacement text and the subsequent source text.
- * ## in macro definition has no significance to cpp. The surrounding
- * tokens are macro-expanded separately. Also, # has no significance
- * to cpp. The following token is expanded.
- * Directly or intermediately recursive macro call causes an error.
- * <backslash><newline> sequence is deleted only in string literals
- * and in #define directive lines.
- * sizeof (type) can be used in #if line.
- * KR corresponds to the "K&R 1st."
- *
- * OLD_PREP In addition to the KR specifications, this mode has the
- * following characteristics (and some others).
- * Converts comment to 0 space instead of 1 space.
- * Expands the parameter like spelling in string literal as a macro.
- * Does not check unmatched pair of '"' or '\''.
- * OLD_PREP corresponts to "Reiser model" cpp.
- *
- * STD Standard conforming mode.
- * <backslash><newline> sequence is always deleted after trigraph
- * conversion and before tokenization.
- * Digraph sequences are recognized as tokens.
- * Actual arguments of a macro are expanded separately prior to
- * re-scanning of the replacement text.
- * The name in the replacement text once expanded is not re-expanded,
- * thus preventing recursive death.
- * ## in macro definition concatenates tokens. The tokens are not
- * expanded. The concatenated token is expanded by rescanning.
- * # in macro definition stringizes the following argument. The argument
- * is not expanded. \ is inserted before " and \ in or surrounding
- * the string literal or character constant.
- * An expanded macro is surrounded by spaces to prevent unintended
- * token merging.
- *
- * POST_STD This mode simplifies the behavior of STD mode as follows.
- * 1. Digraph sequences are converted in translation phase 1, as
- * alternate characters rather than as tokens.
- * 2. A space is inserted as a token separator between any tokens in
- * a source (except a macro name and the next '(' in macro
- * definition): thus simplifying tokenization, test of macro
- * redefinition and macro expansion, especially "stringization".
- * 3. Test of macro redefinition ignores difference of parameter names,
- * test of which has little utility and not a little overhead.
- * 4. #if expression forbids character constants, which have little
- * portability, little utility and not a little overhead.
- * 5. Rescanning of a macro expansion is limited in the replacement
- * text, rest of the source file is not scanned, thus making the
- * syntax of "function-like" macro call more similar to that of
- * function call.
- * 6. Argument of #include directive in <header.h> form is an obsolescent
- * feature.
- * 7. '$' or so are not treated specially in #define directive.
- * 8. Trigraphs, UCN (universal-character name) are not recognized.
- * 9. Multi-byte characters in an identifier are not recognized.
- *
- * The following specifications are available when mode is STD or POST_STD.
- * preprocessing number token, digraphs,
- * #pragma (#pragma MCPP put_defines, #pragma MCPP warning
- * , #pragma MCPP debug) directive,
- * #error directive,
- * #if defined operator, #elif directive,
- * predefined macros __FILE__, __LINE__, __DATE__, __TIME__
- * , __STDC__, __STDC_VERSION__, __STDC_HOSTED__,
- * wide character constant, wide character string literal,
- * _Pragma() operator, variable-arguments macro,
- * macro as an argument of #include, #line directives,
- * escape sequences \x[hex-digits], \a, \v,
- * '+' option (C++ preprocessing),
- * 'S<n>' option (re-defines __STDC__ as <n>, unpredefine some macros),
- * 'V<n>' option (re-defines __STDC_VERSION__ or __cplusplus as <n>),
- * 'h<n>' option (re-defines __STDC_HOSTED__ as <n>).
- * The following specifications are available only in STD mode.
- * Trigraphs and UCN,
- * Multi-byte characters in an identifier.
- * The following specifications are available only in KR and OLD_PREP modes.
- * #assert, #asm, #endasm, #put_defines, #debug and some other older
- * directives,
- * argument of #line directive other than decimal-digits.
- */
-
-/* The values of 'mcpp_mode'. */
-#define OLD_PREP 1 /* "Reiser" cpp mode */
-#define KR 2 /* K&R 1st mode */
-#define STD 3 /* Standard moce */
-#define POST_STD 9 /* Special mode of MCPP */
-
-/*
- * TRIGRAPHS_INIT Initial value for the -3 option. If TRUE -3
- * disables trigraphs, if FALSE -3 enables them.
- * DIGRAPHS_INIT Initial value for the -2 option. If TRUE -2
- * disables digraphs, if FALSE -2 enables them.
- * OK_UCN Enable recognition of Universal-Character-Name sequence
- * by -V199901L option.
- * OK_MBIDENT Enable multi-byte characters in identifier by -V199901L
- * option.
- * EXPAND_PRAGMA Enable macro expansion of #pragma line (even in modes
- * other than C99).
- * expr_t, uexpr_t Type of maximum integer:
- * long long (unsigned long long) or longer.
- * EXPR_MAX should be defined to the maximum value of uexpr_t.
- */
-#define TRIGRAPHS_INIT FALSE
-#define DIGRAPHS_INIT FALSE
-#ifndef EXPAND_PRAGMA
-#define EXPAND_PRAGMA FALSE
-#endif
-#define OK_UCN TRUE
-#define OK_MBIDENT FALSE
-
-#if HAVE_INTMAX_T
-#if HAVE_STDINT_H
-#include "stdint.h"
-#elif HAVE_INTTYPES_H
-#include "inttypes.h"
-#endif
-typedef intmax_t expr_t;
-typedef uintmax_t uexpr_t;
-#else
-#if HAVE_LONG_LONG
-#if (HOST_COMPILER == MSC && _MSC_VER < 1500) || HOST_COMPILER == BORLANDC
-typedef __int64 expr_t;
-typedef unsigned __int64 uexpr_t;
-#else
-typedef long long expr_t;
-typedef unsigned long long uexpr_t;
-#endif
-#else /* !HAVE_LONG_LONG */
-typedef unsigned long uexpr_t;
-typedef long expr_t;
-#endif /* HAVE_LONG_LONG */
-#endif /* HAVE_INTMAX_T */
-
-#if 1
-#define EXPR_MAX UINT_MAX
-#elif HAVE_LONG_LONG
-#if (HOST_COMPILER == MSC && _MSC_VER < 1400) || HOST_COMPILER == BORLANDC
-#define EXPR_MAX 0xFFFFFFFFFFFFFFFFui64
-#else
-#define EXPR_MAX 0xFFFFFFFFFFFFFFFFULL
-#endif
-#else
-#define EXPR_MAX 4294967295UL
-#endif
-
-/*
- * Translation limits.
- * The following definitions are used to allocate memory for work buffers.
- *
- * NWORK Output buffer size. Set this size according to your compiler-
- * proper. Length of string literal should be less than NWORK
- * - 1.
- * Nevertheless, when COMPILER == GNUC || COMPILER == MSC, mcpp
- * uses NMACWORK as output buffer size because GNUC and Visual C
- * can accept very long line.
- * NBUFF Input buffer size after line concatenation by <backslash>
- * <newline>.
- * NMACWORK Internal work buffer size for macro definition and expansion.
- * IDMAX The longest identifier length.
- * NMACPARS The maximum number of #define parameters.
- * NOTE: Must be NMACPARS <= UCHARMAX.
- * NEXP The maximum nesting depth of #if expressions.
- * BLK_NEST The number of nested #if's permitted.
- * INCLUDE_NEST The maximum nesting depth of #include. This is needed to
- * prevent infinite recursive inclusion.
- * RESCAN_LIMIT The maximum rescan times of macro expansion in STD or POST_STD
- * modes.
- * PRESTD_RESCAN_LIMIT The maximum rescan times of macro expansion in KR or
- * OLD_PREP modes..
- *
- * NBUFF should not be smaller than NWORK.
- * NMACWORK should not be smaller than NWORK * 2.
- *
- * SBSIZE defines the number of hash-table slots for the macro symbol table.
- * It must be a power of 2.
- *
- * MKDEP_INIT The initial maximum number of filenames in a dependency line
- * of output of -M* option. The maximum number is dynamically
- * enlarged in execution.
- */
-
-#ifndef IDMAX
-#define IDMAX 0x400
-#endif
-#ifndef NMACPARS
-#define NMACPARS 0xFF
-#endif
-#ifndef NEXP
-#define NEXP 0x100
-#endif
-#ifndef BLK_NEST
-#define BLK_NEST 0x100
-#endif
-#ifndef INCLUDE_NEST
-#define INCLUDE_NEST 0x100
-#endif
-#ifndef RESCAN_LIMIT
-#define RESCAN_LIMIT 0x40
-#endif
-#ifndef PRESTD_RESCAN_LIMIT
-#define PRESTD_RESCAN_LIMIT 0x100
-#endif
-#ifndef NBUFF
-#define NBUFF 0x10000 /* Must be NWORK <= NBUFF */
-#endif
-#ifndef NWORK
-#define NWORK NBUFF /* 0x1000, 0x4000, 0x10000, .. */
-#endif
-#ifndef NMACWORK
-#define NMACWORK (NWORK * 4) /* Must be NWORK * 2 <= NMACWORK */
-#endif
-#ifndef SBSIZE
-#define SBSIZE 0x400
-#endif
-#ifndef MKDEP_INIT
-#define MKDEP_INIT 0x100
-#endif
-
-#if UCHARMAX < NMACPARS
- #error "NMACPARS should not be greater than UCHARMAX"
-#endif
-
-#if NBUFF < NWORK
- #error "NBUFF must be same or greater than NWORK"
-#endif
-#if NMACWORK < NWORK * 2
- #error "NMACWORK must be same or greater than NWORK * 2"
-#endif
-
-#define SBMASK (SBSIZE - 1)
-#if (SBSIZE ^ SBMASK) != ((SBSIZE * 2) - 1)
- #error "SBSIZE must be a power of 2 !"
-#endif
-
-/*
- * Translation limits required by the Standard.
- *
- * *90MIN limits specified by C90.
- * *99MIN limits specified by C99.
- * *_CPLUS_MIN limits recommended by C++ (ISO 1998/07 Standard).
- *
- * SLEN*MIN Characters in a logical source line
- * and characters in a string literal or wide string literal
- * (after concatenation).
- * IDLEN*MIN Significant initial characters in an internal identifier
- * or a macro name.
- * NMACPARS*MIN Parameters in one macro definition.
- * Arguments in one macro invocation.
- * EXP_NEST*MIN Nesting levels of parenthesized expressions in a full
- * expression.
- * BLK_NEST*MIN Nesting levels of conditional inclusion.
- * INCLUDE_NEST*MIN Nesting levels for #include files.
- * NMACRO*MIN Macro identifiers simultaneously defined in one translation
- * unit.
- */
-#define SLEN90MIN 0x1FD
-#define IDLEN90MIN 0x1F
-#define NMACPARS90MIN 0x1F
-#define EXP_NEST90MIN 0x20
-#define BLK_NEST90MIN 8
-#define INCLUDE_NEST90MIN 8
-#define NMACRO90MIN 0x400
-
-#define SLEN99MIN 0xFFF
-#define IDLEN99MIN 0x3F
-#define NMACPARS99MIN 0x7F
-#define EXP_NEST99MIN 0x3F
-#define BLK_NEST99MIN 0x3F
-#define INCLUDE_NEST99MIN 0xF
-#define NMACRO99MIN 0xFFF
-
-#define SLEN_CPLUS_MIN 0x10000
-#define IDLEN_CPLUS_MIN 0x400
-#define NMACPARS_CPLUS_MIN 0x100
-#define EXP_NEST_CPLUS_MIN 0x100
-#define BLK_NEST_CPLUS_MIN 0x100
-#define INCLUDE_NEST_CPLUS_MIN 0x100
-#define NMACRO_CPLUS_MIN 0x10000
-#define LINE90LIMIT 32767
-#define LINE_CPLUS_LIMIT 32767
-
-
-/* LINE99LIMIT means the line number limit of C99 */
-#define LINE99LIMIT 0x7FFFFFFF
-
-/*
- * STDC This macro is used for the predefined __STDC__.
- * STDC_VERSION is used for the value of __STDC_VERSION__.
- * STDC_HOSTED is used for the value of __STDC_HOSTED__.
- */
-#if IDMAX < IDLEN90MIN || NBUFF < SLEN90MIN + 3
- || NWORK < SLEN90MIN + 2 || NMACPARS < NMACPARS90MIN
- || NEXP < EXP_NEST90MIN || BLK_NEST < BLK_NEST90MIN
-#define STDC 0
-#endif
-#ifndef STDC
-#define STDC 1 /* 1 : for ISO 9899:1990 or later */
-#endif
-
-#ifndef STDC_VERSION
-#define STDC_VERSION 0L /* 199409L : For conforming
- implementation to ISO 9899:1990 / Amendment 1:1995
- 199901L : For C99 */
-#endif
-#ifndef STDC_HOSTED
-#define STDC_HOSTED 1 /* 1 : for hosted implementation,
- 0 : for free-standing implementation (C99 specification) */
-#endif
-
-/*
- * CPLUS specifies the default value of the pre-defined macro __cplusplus
- * for C++ processing.
- * The value can be changed by -V<n> option.
- */
-#define CPLUS 1 /* 199711L for C++ Standard */
-