Compiler-generated prelude¶
Ü compiler generates some code, which is added into each source file. This code contains information about compiler itself and about current compiler invocation options.
An example of such code:
namespace compiler
{
auto& version = "0.9";
auto& git_revision = "0000000000000000000000000000000000000000";
var size_type generation = 1s;
namespace options
{
var char8 optimization_level = '0';
var bool generate_debug_info = false;
auto& cpu_name = "";
var tup[ ] features[ ];
}
namespace target
{
auto& str = "x86_64-unknown-linux-gnu";
auto& arch = "x86_64";
auto& vendor = "unknown";
auto& os = "linux";
auto& environment = "gnu";
auto& os_and_environment = "linux-gnu";
var bool is_big_endian = false;
}
}
This information may be used, if necessary, for example, to implement some code in a different way depending on architecture/operating system.