dmd.globals
Stores command line options and contains other miscellaneous declarations.
License
Source: globals.d
Documentation: https://dlang.org/phobos/dmd_globals.html
-
Declaration
enum
DiagnosticReporting
: ubyte; -
Declaration
enum
MessageStyle
: ubyte;How code locations are formatted for diagnostic reporting
-
Declaration
digitalmars
filename.d(line): message
-
Declaration
gnu
filename.d:line: message, see https://www.gnu.org/prep/standards/html_node/Errors.html
-
-
Declaration
enum
CHECKENABLE
: ubyte; -
Declaration
enum
CHECKACTION
: ubyte; -
Declaration
enum
PIC
: ubyte; -
Declaration
enum
JsonFieldFlags
: uint;Each flag represents a field that can be included in the JSON output.
NOTE: set type to uint so its size matches C++ unsigned type
-
Declaration
enum
CppStdRevision
: uint;Version of C++ standard to support
-
Declaration
enum
CxxHeaderMode
: uint; -
Declaration
enum
FeatureState
: byte; -
Declaration
struct
Param
;Put command line switches in here
-
Declaration
bool
ehnogc
;The --transition=safe switch should only be used to show code with silent semantics changes related to @safe improvements. It should not be used to hide a feature that will have to go through deprecate-then-error before becoming default.
-
Declaration
CxxHeaderMode
doCxxHdrGeneration
;Generate 'Cxx header' file
-
-
Declaration
struct
Global
;Collection of global compiler settings and global state used by the frontend
-
Declaration
const(char)[]
inifilename
;filename of configuration file as given by
-conf=
, or default value -
Declaration
Array!(const(char)*)*
path
;Array of char*'s which form the import lookup
path
-
Declaration
Array!(const(char)*)*
filePath
;Array of char*'s which form the file import lookup path
-
Declaration
const(char)[]
vendor
;Compiler backend name
-
Declaration
Param
params
;command line parameters
-
Declaration
uint
errors
;number of
errors
reported so far -
Declaration
uint
warnings
;number of
warnings
reported so far -
Declaration
uint
gag
;!=0 means
gag
reporting of errors & warnings -
Declaration
uint
gaggedErrors
;number of errors reported while gagged
-
Declaration
uint
gaggedWarnings
;number of warnings reported while gagged
-
Declaration
void*
console
;opaque pointer to
console
for controlling text attributes -
Declaration
Array!Identifier*
versionids
;command line versions and predefined versions
-
Declaration
Array!Identifier*
debugids
;command line debug versions and predefined versions
-
Declaration
enum int
recursionLimit
;number of recursive template expansions before abort
-
Declaration
nothrow uint
startGagging
();Start ignoring compile errors instead of reporting them.
Discussion
Used for speculative compilation like
__traits(compiles, XXX)
, but also internally to e.g. try out analias this
rewrite without comitting to it.
Works like a stack, so N calls to
should be paired with N calls tostartGagging
endGagging
.Return Value
the current number of gagged errors, which should later be passed to
endGagging
-
Declaration
nothrow bool
endGagging
(uintoldGagged
);Stop gagging, restoring the old gagged state before the most recent call to
startGagging
.Parameters
uint
oldGagged
the previous number of errors, as returned by
startGagging
Return Value
true
if errors occurred while gagged. -
Declaration
nothrow void
increaseErrorCount
();Increment the error count to record that an error has occurred in the current context.
Discussion
An error message may or may not have been printed.
-
Declaration
nothrow void
deinitialize
();Deinitializes the global state of the compiler.
Discussion
This can be used to restore the state set by
_init
to its original state. -
Declaration
nothrow uint
versionNumber
();Return Value
the version as the number that would be returned for __VERSION__
-
Declaration
nothrow string
versionString
();Return Value
compiler version string.
-
Declaration
nothrow const(char*)
versionChars
();Return Value
compiler version as char string.
-
Declaration
const nothrow const(char)[]
finalDefaultlibname
();Return Value
the final defaultlibname based on the command-line parameters
-
-
Declaration
struct
Loc
;A source code location
Discussion
Used for error messages,
__FILE__
and__LINE__
tokens,__traits(getLocation, XXX)
, debug info etc.-
Declaration
const(char)*
filename
;zero-terminated
filename
string, either absolute or relative to cwd -
Declaration
uint
linnum
;line number, starting from 1
-
Declaration
uint
charnum
;utf8 code unit index relative to start of line, starting from 1
-
Declaration
static immutable Loc
initial
;use for default initialization of const ref Loc's
-
Declaration
const nothrow bool
equals
(ref const(Loc)loc
);Checks for equivalence by comparing the filename contents (not the pointer) and character location.
Note:
- Uses case-insensitive comparison on Windows
- Ignores
charnum
ifglobal.params.showColumns
isfalse
.
-
Declaration
const pure nothrow @nogc @trusted bool
opEquals
(ref const(Loc)loc
);
const pure nothrow @trusted size_ttoHash
();
/opEquals
()
for AA key usagetoHash
()Discussion
Compare filename contents (case-sensitively on Windows too), not the pointer - a static foreach loop repeatedly mixing in a mixin may lead to multiple equivalent filenames (
foo.d-mixin-<line>
), e.g., for test/runnable/test18880.d. -
Declaration
const pure nothrow bool
isValid
();Return Value
true
if Loc has been set to other than the default initialization
-
-
Declaration
enum
LINK
: ubyte;A linkage attribute as defined by
extern(XXX)
-
Declaration
enum
CPPMANGLE
: ubyte; -
Declaration
enum
MATCH
: int;Function match levels
-
Declaration
nomatch
no match
-
Declaration
convert
match with conversions
-
Declaration
constant
match with conversion to const
-
Declaration
exact
exact
match
-
-
Declaration
enum
PINLINE
: ubyte; -
Declaration
Global
global
;Collection of
global
state