aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2016-01-31 15:44:02 -0700
committerAndrew Kelley <superjoe30@gmail.com>2016-01-31 15:44:02 -0700
commit105317285402befe75289c20c4b12fccbe94aa08 (patch)
treeac322be01d56666d135e1e3c41b0b4e76eb9723b /src/codegen.cpp
parentc77637d1720bc80f97c21214596cec9ffc617d12 (diff)
downloadzig-105317285402befe75289c20c4b12fccbe94aa08.tar.gz
zig-105317285402befe75289c20c4b12fccbe94aa08.zip
parseh handles typedef void better
and introduce c_long_double type
Diffstat (limited to 'src/codegen.cpp')
-rw-r--r--src/codegen.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp
index 88bebc56a4..36f34e5b54 100644
--- a/src/codegen.cpp
+++ b/src/codegen.cpp
@@ -2919,6 +2919,18 @@ static void define_builtin_types(CodeGen *g) {
g->primitive_type_table.put(&entry->name, entry);
}
{
+ TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdFloat);
+ entry->type_ref = LLVMX86FP80Type();
+ buf_init_from_str(&entry->name, "c_long_double");
+ entry->size_in_bits = 128;
+ entry->align_in_bits = 128;
+ entry->di_type = LLVMZigCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name),
+ 80, entry->align_in_bits,
+ LLVMZigEncoding_DW_ATE_float());
+ g->builtin_types.entry_c_long_double = entry;
+ g->primitive_type_table.put(&entry->name, entry);
+ }
+ {
TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdVoid);
entry->type_ref = LLVMVoidType();
buf_init_from_str(&entry->name, "void");