aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-08-17 22:01:19 -0400
committerAndrew Kelley <superjoe30@gmail.com>2017-08-17 22:01:19 -0400
commit2173e1f457f49990313e1ad038187af8a78205ab (patch)
tree187401e5d1294f234efd9f7747c5e0cc860cc141 /src/codegen.cpp
parente63d864c1ee343dff13b1e165079e092ee93e273 (diff)
downloadzig-2173e1f457f49990313e1ad038187af8a78205ab.tar.gz
zig-2173e1f457f49990313e1ad038187af8a78205ab.zip
fix big integer shifting by large number
Diffstat (limited to 'src/codegen.cpp')
-rw-r--r--src/codegen.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp
index 7581ee271c..b3de627d3e 100644
--- a/src/codegen.cpp
+++ b/src/codegen.cpp
@@ -3852,6 +3852,10 @@ static void build_all_basic_blocks(CodeGen *g, FnTableEntry *fn) {
static void gen_global_var(CodeGen *g, VariableTableEntry *var, LLVMValueRef init_val,
TypeTableEntry *type_entry)
{
+ if (g->strip_debug_symbols) {
+ return;
+ }
+
assert(var->gen_is_const);
assert(type_entry);
@@ -3863,6 +3867,7 @@ static void gen_global_var(CodeGen *g, VariableTableEntry *var, LLVMValueRef ini
buf_ptr(&var->name), import->di_file,
(unsigned)(var->decl_node->line + 1),
type_entry->di_type, is_local_to_unit);
+
// TODO ^^ make an actual global variable
}
@@ -5127,6 +5132,12 @@ static void get_c_type(CodeGen *g, TypeTableEntry *type_entry, Buf *out_buf) {
case 64:
buf_init_from_str(out_buf, "double");
break;
+ case 80:
+ buf_init_from_str(out_buf, "__float80");
+ break;
+ case 128:
+ buf_init_from_str(out_buf, "__float128");
+ break;
default:
zig_unreachable();
}