1// GNU D Compiler configure constants.
2// Copyright (C) 2015-2021 Free Software Foundation, Inc.
3
4// GCC is free software; you can redistribute it and/or modify it under
5// the terms of the GNU General Public License as published by the Free
6// Software Foundation; either version 3, or (at your option) any later
7// version.
8
9// GCC is distributed in the hope that it will be useful, but WITHOUT ANY
10// WARRANTY; without even the implied warranty of MERCHANTABILITY or
11// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12// for more details.
13
14// Under Section 7 of GPL version 3, you are granted additional
15// permissions described in the GCC Runtime Library Exception, version
16// 3.1, as published by the Free Software Foundation.
17
18// You should have received a copy of the GNU General Public License and
19// a copy of the GCC Runtime Library Exception along with this program;
20// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
21// <http://www.gnu.org/licenses/>.
22
23module gcc.config;
24
25// Does platform define __ARM_EABI_UNWINDER__
26enum GNU_ARM_EABI_Unwinder = @DCFG_ARM_EABI_UNWINDER@;
27
28// Map from thread model to thread interface.
29enum ThreadModel
30{
31    Single,
32    Posix,
33    Win32,
34}
35
36enum ThreadModel GNU_Thread_Model = ThreadModel.@DCFG_THREAD_MODEL@;
37
38// Whether struct dl_phdr_info has dlpi_tls_modid member.
39enum OS_Have_Dlpi_Tls_Modid = @DCFG_DLPI_TLS_MODID@;
40
41// Whether target has support for builtin atomics.
42enum GNU_Have_Atomics = @DCFG_HAVE_ATOMIC_BUILTINS@;
43
44// Whether target has support for 64-bit builtin atomics.
45enum GNU_Have_64Bit_Atomics = @DCFG_HAVE_64BIT_ATOMICS@;
46
47// Do we have libatomic available
48enum GNU_Have_LibAtomic = @DCFG_HAVE_LIBATOMIC@;
49
50// Do we have qsort_r function
51enum Have_Qsort_R = @DCFG_HAVE_QSORT_R@;
52
53// Whether libphobos been configured with --enable-cet.
54enum GNU_Enable_CET = @DCFG_ENABLE_CET@;
55