aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2010-08-19 16:50:18 -0700
committerPatrick Walton <[email protected]>2010-08-19 16:50:18 -0700
commitb6b348a13ce33227a01839d41b8ae055a9eacdca (patch)
tree56383b66578863d193075004f1bd58b9ab8c742e /src/boot
parentExport glue as stabs on Windows as well (diff)
downloadrust-b6b348a13ce33227a01839d41b8ae055a9eacdca.tar.xz
rust-b6b348a13ce33227a01839d41b8ae055a9eacdca.zip
Export all item code to stabs on Windows (including e.g. object methods)
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/be/pe.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/boot/be/pe.ml b/src/boot/be/pe.ml
index 3e95be2c..b85cb1a9 100644
--- a/src/boot/be/pe.ml
+++ b/src/boot/be/pe.ml
@@ -792,9 +792,10 @@ let crate_exports (sem:Semant.ctxt) : pe_export array =
pe_export_address_fixup = fixup
}
in
- let export_stab_of_fn (node_id, fixup) =
+ let export_stab_of_item (node_id, code) =
let name = Hashtbl.find sem.Semant.ctxt_all_item_names node_id in
- export_stab ("fn$" ^ (Semant.string_of_name name)) fixup
+ let name' = "item$" ^ (Semant.string_of_name name) in
+ export_stab name' code.Semant.code_fixup
in
let export_stab_of_glue (glue, code) =
export_stab (Semant.glue_str sem glue) code.Semant.code_fixup
@@ -802,7 +803,8 @@ let crate_exports (sem:Semant.ctxt) : pe_export array =
let stabs =
Array.of_list (List.concat [
- (List.map export_stab_of_fn (htab_pairs sem.Semant.ctxt_fn_fixups));
+ (List.map export_stab_of_item
+ (htab_pairs sem.Semant.ctxt_all_item_code));
(List.map export_stab_of_glue (htab_pairs sem.Semant.ctxt_glue_code))
])
in