Skip to content

Commit 696aa21

Browse files
committed
Move __builtin__ADD.c hack to .ext.c file
A little cleaner I think! :)
1 parent 3e29697 commit 696aa21

4 files changed

Lines changed: 18 additions & 19 deletions

File tree

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -526,8 +526,8 @@ dist/types/__builtin__.ty: builtin/ty/out/types/__builtin__.ty
526526
builtin/ty/out/types/__builtin__.ty: builtin/ty/src/__builtin__.act $(ACTONC)
527527
@mkdir -p $(dir $@)
528528
$(ACTC) --always-build $<
529-
cp builtin/ty/out/types/__builtin__.h builtin/__builtin__.h
530-
cat builtin/ty/out/types/__builtin__.c builtin/__builtin__ADD.c > builtin/__builtin__.c
529+
cp builtin/ty/out/types/__builtin__.h builtin/__builtin__.h
530+
cp builtin/ty/out/types/__builtin__.c builtin/__builtin__.c
531531

532532
# Build our standard library
533533
stdlib/out/dev/lib/libActonProject.a: $(STDLIB_SRCFILES) dist/types/__builtin__.ty $(DIST_HFILES) $(ACTONC) $(DEPSA) $(LIBGC)

builtin/__builtin__ADD.c

Lines changed: 0 additions & 16 deletions
This file was deleted.

builtin/src/__builtin__.ext.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,19 @@ void B___ext_init__() {
1818
memset(B_u16D_gcbm, 0xFF, sizeof(B_u16D_gcbm));
1919
memset(B_u32D_gcbm, 0xFF, sizeof(B_u32D_gcbm));
2020
memset(B_u64D_gcbm, 0xFF, sizeof(B_u64D_gcbm));
21+
22+
B_HashableD_intG_methods.__eq__ = (B_bool (*)(B_HashableD_int, B_int, B_int))B_OrdD_intD___eq__;
23+
B_HashableD_i64G_methods.__eq__ = (B_bool (*)(B_HashableD_i64, B_i64, B_i64))B_OrdD_i64D___eq__;
24+
B_HashableD_i32G_methods.__eq__ = (B_bool (*)(B_HashableD_i32, B_i32, B_i32))B_OrdD_i32D___eq__;
25+
B_HashableD_i16G_methods.__eq__ = (B_bool (*)(B_HashableD_i16, B_i16, B_i16))B_OrdD_i16D___eq__;
26+
B_HashableD_u64G_methods.__eq__ = (B_bool (*)(B_HashableD_u64, B_u64, B_u64))B_OrdD_u64D___eq__;
27+
B_HashableD_u32G_methods.__eq__ = (B_bool (*)(B_HashableD_u32, B_u32, B_u32))B_OrdD_u32D___eq__;
28+
B_HashableD_u16G_methods.__eq__ = (B_bool (*)(B_HashableD_u16, B_u16, B_u16))B_OrdD_u16D___eq__;
29+
B_HashableD_floatG_methods.__eq__ = (B_bool (*)(B_HashableD_float, B_float, B_float))B_OrdD_floatD___eq__;
30+
B_HashableD_strG_methods.__eq__ = (B_bool (*)(B_HashableD_str, B_str, B_str))B_OrdD_strD___eq__;
31+
B_HashableD_bytesG_methods.__eq__ = (B_bool (*)(B_HashableD_bytes, B_bytes, B_bytes))B_OrdD_bytesD___eq__;
32+
33+
B_ContainerD_listG_methods.__len__ = (B_int (*)(B_ContainerD_list, B_list))B_CollectionD_SequenceD_listD___len__;
34+
B_ContainerD_listG_methods.__fromiter__ = (B_list (*)(B_ContainerD_list, B_Iterable, $WORD))B_CollectionD_SequenceD_listD___fromiter__;
35+
B_ContainerD_listG_methods.__iter__ = (B_Iterator (*)(B_ContainerD_list, B_list))B_CollectionD_SequenceD_listD___iter__;
2136
}

compiler/Acton/CodeGen.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ cModule env srcbase (Module m imps stmts)
307307
ext_init $+$
308308
initImports $+$
309309
initModule env stmts) $+$
310-
if inBuiltin env then empty else char '}' -- Temporary fix until __builtin__ADD.c not necessary
310+
char '}'
311311
where initImports = vcat [ gen env (GName m initKW) <> parens empty <> semi | m <- modNames imps ]
312312
external = hasNotImpl stmts && not (inBuiltin env)
313313
ext_include = if hasNotImpl stmts then text "#include" <+> doubleQuotes (text srcbase <> text ".ext.c") else empty

0 commit comments

Comments
 (0)