Revise -mdisable-fpregs option and add new -msoft-mult option
[official-gcc.git] / gcc / d / d-system.h
bloba6a9fccc6b809d03a0454aa406b1905ced2bf123
1 /* d-system.h -- DMD frontend inclusion of gcc header files.
2 * Copyright (C) 2018-2021 Free Software Foundation, Inc.
4 * GCC is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 3, or (at your option)
7 * any later version.
9 * GCC is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with GCC; see the file COPYING3. If not see
16 * <http://www.gnu.org/licenses/>.
19 #ifndef GCC_D_SYSTEM_H
20 #define GCC_D_SYSTEM_H
22 #ifdef GENERATOR_FILE
23 #include "bconfig.h"
24 #else
25 #include "config.h"
26 #endif
27 #include "system.h"
29 /* Used by the dmd front-end to determine if we have POSIX-style IO. */
30 #define POSIX (__linux__ || __GLIBC__ || __gnu_hurd__ || __APPLE__ \
31 || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__ \
32 || __sun || __unix__)
34 /* Forward assert invariants to gcc_assert. */
35 #undef assert
36 #define assert(EXPR) gcc_assert(EXPR)
38 /* Use libiberty's lrealpath to avoid portability problems. */
39 #undef realpath
40 #define realpath(a, b) lrealpath((a))
42 /* Forward ctype.h macros used by the dmd front-end to safe-ctype.h. */
43 #undef isalpha
44 #define isalpha(c) ISALPHA(c)
45 #undef isalnum
46 #define isalnum(c) ISALNUM(c)
47 #undef isdigit
48 #define isdigit(c) ISDIGIT(c)
49 #undef islower
50 #define islower(c) ISLOWER(c)
51 #undef isprint
52 #define isprint(c) ISPRINT(c)
53 #undef isspace
54 #define isspace(c) ISSPACE(c)
55 #undef isupper
56 #define isupper(c) ISUPPER(c)
57 #undef isxdigit
58 #define isxdigit(c) ISXDIGIT(c)
59 #undef tolower
60 #define tolower(c) TOLOWER(c)
62 /* Forward _mkdir on MinGW to mkdir in system.h. */
63 #ifdef _WIN32
64 #undef _mkdir
65 #define _mkdir(p) mkdir(p, 0)
66 #endif
68 /* Define any missing _MAX and _MIN macros. */
69 #ifndef INT32_MAX
70 # define INT32_MAX INTTYPE_MAXIMUM (int32_t)
71 #endif
72 #ifndef INT32_MIN
73 # define INT32_MIN INTTYPE_MINIMUM (int32_t)
74 #endif
75 #ifndef INT64_MIN
76 # define INT64_MIN INTTYPE_MINIMUM (int64_t)
77 #endif
78 #ifndef UINT32_MAX
79 # define UINT32_MAX INTTYPE_MAXIMUM (uint32_t)
80 #endif
81 #ifndef UINT64_MAX
82 # define UINT64_MAX INTTYPE_MAXIMUM (uint64_t)
83 #endif
85 #endif /* GCC_D_SYSTEM_H */