mirror of
https://github.com/dlang/phobos.git
synced 2025-04-28 06:00:35 +03:00

This is just me committing to maintain my code additions to these modules. We should, in general, use these author lists more so we know who's responsible for the various modules.
61 lines
1.9 KiB
D
61 lines
1.9 KiB
D
// Written in the D programming language.
|
|
|
|
/**
|
|
* Identify the compiler used and its various features.
|
|
*
|
|
* Macros:
|
|
* WIKI = Phobos/StdCompiler
|
|
*
|
|
* Copyright: Copyright Digital Mars 2000 - 2011.
|
|
* License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
|
|
* Authors: $(WEB digitalmars.com, Walter Bright), Alex Rønne Petersen
|
|
* Source: $(PHOBOSSRC std/_compiler.d)
|
|
*/
|
|
/* Copyright Digital Mars 2000 - 2011.
|
|
* Distributed under the Boost Software License, Version 1.0.
|
|
* (See accompanying file LICENSE_1_0.txt or copy at
|
|
* http://www.boost.org/LICENSE_1_0.txt)
|
|
*/
|
|
module std.compiler;
|
|
|
|
immutable
|
|
{
|
|
/// Vendor specific string naming the compiler, for example: "Digital Mars D".
|
|
string name = __VENDOR__;
|
|
|
|
/// Master list of D compiler vendors.
|
|
enum Vendor
|
|
{
|
|
unknown = 0, /// Compiler vendor could not be detected
|
|
digitalMars = 1, /// Digital Mars D (DMD)
|
|
gnu = 2, /// GNU D Compiler (GDC)
|
|
llvm = 3, /// LLVM D Compiler (LDC)
|
|
dotNET = 4, /// D.NET
|
|
sdc = 5, /// Stupid D Compiler (SDC)
|
|
}
|
|
|
|
/// Which vendor produced this compiler.
|
|
version(StdDdoc) Vendor vendor;
|
|
else version(DigitalMars) Vendor vendor = Vendor.digitalMars;
|
|
else version(GNU) Vendor vendor = Vendor.gnu;
|
|
else version(LDC) Vendor vendor = Vendor.llvm;
|
|
else version(D_NET) Vendor vendor = Vendor.dotNET;
|
|
else version(SDC) Vendor vendor = Vendor.sdc;
|
|
else Vendor vendor = Vendor.unknown;
|
|
|
|
|
|
/**
|
|
* The vendor specific version number, as in
|
|
* version_major.version_minor
|
|
*/
|
|
uint version_major = __VERSION__ / 1000;
|
|
uint version_minor = __VERSION__ % 1000; /// ditto
|
|
|
|
|
|
/**
|
|
* The version of the D Programming Language Specification
|
|
* supported by the compiler.
|
|
*/
|
|
uint D_major = 2;
|
|
uint D_minor = 0;
|
|
}
|