1 /** 2 * This file is part of DCD, a development tool for the D programming language. 3 * Copyright (C) 2014 Brian Schott 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 module common.constants; 20 21 // The lists in this module should be kept sorted. 22 23 /** 24 * Pragma arguments 25 */ 26 immutable string[] pragmas = [ 27 "inline", 28 "lib", 29 "mangle", 30 "msg", 31 "startaddress" 32 ]; 33 34 /** 35 * Linkage types 36 */ 37 immutable string[] linkages = [ 38 "C", 39 "C++", 40 "D", 41 "Pascal", 42 "System", 43 "Windows" 44 ]; 45 46 /** 47 * Traits arguments 48 */ 49 immutable string[] traits = [ 50 "allMembers", 51 "classInstanceSize", 52 "compiles", 53 "derivedMembers", 54 "getAliasThis", 55 "getAttributes", 56 "getFunctionAttributes", 57 "getMember", 58 "getOverloads", 59 "getPointerBitmap", 60 "getProtection", 61 "getUnitTests", 62 "getVirtualFunctions", 63 "getVirtualIndex", 64 "getVirtualMethods", 65 "hasMember", 66 "identifier", 67 "isAbstractClass", 68 "isAbstractFunction", 69 "isArithmetic", 70 "isAssociativeArray", 71 "isFinalClass", 72 "isFinalFunction", 73 "isFloating", 74 "isIntegral", 75 "isLazy", 76 "isNested", 77 "isOut", 78 "isOverrideFunction", 79 "isPOD", 80 "isRef", 81 "isSame", 82 "isScalar", 83 "isStaticArray", 84 "isStaticFunction", 85 "isTemplate", 86 "isUnsigned", 87 "isVirtualFunction", 88 "isVirtualMethod", 89 "parent" 90 ]; 91 92 /** 93 * Scope conditions 94 */ 95 immutable string[] scopes = [ 96 "exit", 97 "failure", 98 "success" 99 ]; 100 101 /** 102 * Compiler-defined values for version() conditions. 103 */ 104 immutable string[] predefinedVersions = [ 105 "AArch64", 106 "AIX", 107 "all", 108 "Alpha", 109 "Alpha_HardFloat", 110 "Alpha_SoftFloat", 111 "Android", 112 "ARM", 113 "ARM_HardFloat", 114 "ARM_SoftFloat", 115 "ARM_SoftFP", 116 "ARM_Thumb", 117 "assert", 118 "BigEndian", 119 "BSD", 120 "Cygwin", 121 "D_Coverage", 122 "D_Ddoc", 123 "D_HardFloat", 124 "DigitalMars", 125 "D_InlineAsm_X86", 126 "D_InlineAsm_X86_64", 127 "D_LP64", 128 "D_NoBoundsChecks", 129 "D_PIC", 130 "DragonFlyBSD", 131 "D_SIMD", 132 "D_SoftFloat", 133 "D_Version2", 134 "D_X32", 135 "FreeBSD", 136 "FreeStanding", 137 "GNU", 138 "Haiku", 139 "HPPA", 140 "HPPA64", 141 "Hurd", 142 "IA64", 143 "LDC", 144 "linux", 145 "LittleEndian", 146 "MIPS32", 147 "MIPS64", 148 "MIPS_EABI", 149 "MIPS_HardFloat", 150 "MIPS_N32", 151 "MIPS_N64", 152 "MIPS_O32", 153 "MIPS_O64", 154 "MIPS_SoftFloat", 155 "NetBSD", 156 "none", 157 "OpenBSD", 158 "OSX", 159 "Posix", 160 "PPC", 161 "PPC64", 162 "PPC_HardFloat", 163 "PPC_SoftFloat", 164 "S390", 165 "S390X", 166 "SDC", 167 "SH", 168 "SH64", 169 "SkyOS", 170 "Solaris", 171 "SPARC", 172 "SPARC64", 173 "SPARC_HardFloat", 174 "SPARC_SoftFloat", 175 "SPARC_V8Plus", 176 "SysV3", 177 "SysV4", 178 "unittest", 179 "Win32", 180 "Win64", 181 "Windows", 182 "X86", 183 "X86_64", 184 ];