mirror of
https://github.com/dlang/phobos.git
synced 2025-04-26 13:10:35 +03:00
58 lines
1.9 KiB
D
58 lines
1.9 KiB
D
// Written in the D programming language.
|
|
|
|
/**
|
|
* Identify the compiler used and its various features.
|
|
*
|
|
* Copyright: Copyright The D Language Foundation 2000 - 2011.
|
|
* License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
|
|
* Authors: $(HTTP digitalmars.com, Walter Bright), Alex Rønne Petersen
|
|
* Source: $(PHOBOSSRC std/compiler.d)
|
|
*/
|
|
/* Copyright The D Language Foundation 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, /// Snazzy 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;
|
|
}
|