aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2016-02-02 21:46:53 -0700
committerAndrew Kelley <superjoe30@gmail.com>2016-02-02 21:46:53 -0700
commitb04e64d300b8531c0e84c376d484a62aa9f92614 (patch)
treef44c70585a172d6e4a6ed2ec4368d1e7fe012c1b /src/codegen.cpp
parenta50474e7cfc97e404fbb9f3b2f33507afac0ae2b (diff)
downloadzig-b04e64d300b8531c0e84c376d484a62aa9f92614.tar.gz
zig-b04e64d300b8531c0e84c376d484a62aa9f92614.zip
add @compile_var builtin and "is_big_endian" compile var
Diffstat (limited to 'src/codegen.cpp')
-rw-r--r--src/codegen.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp
index abcfbd0965..335f0319fd 100644
--- a/src/codegen.cpp
+++ b/src/codegen.cpp
@@ -304,6 +304,7 @@ static LLVMValueRef gen_builtin_fn_call_expr(CodeGen *g, AstNode *node) {
case BuiltinFnIdMinValue:
case BuiltinFnIdMaxValue:
case BuiltinFnIdMemberCount:
+ case BuiltinFnIdCompileVar:
// caught by constant expression eval codegen
zig_unreachable();
}
@@ -3221,6 +3222,7 @@ static void define_builtin_fns(CodeGen *g) {
create_builtin_fn_with_arg_count(g, BuiltinFnIdCInclude, "c_include", 1);
create_builtin_fn_with_arg_count(g, BuiltinFnIdCDefine, "c_define", 2);
create_builtin_fn_with_arg_count(g, BuiltinFnIdCUndef, "c_undef", 1);
+ create_builtin_fn_with_arg_count(g, BuiltinFnIdCompileVar, "compile_var", 1);
}
@@ -3267,6 +3269,7 @@ static void init(CodeGen *g, Buf *source_path) {
g->pointer_size_bytes = LLVMPointerSize(g->target_data_ref);
+ g->is_big_endian = (LLVMByteOrder(g->target_data_ref) == LLVMBigEndian);
g->builder = LLVMCreateBuilder();
g->dbuilder = LLVMZigCreateDIBuilder(g->module, true);