Improvements to Modules API (#307)
* test-no_std: use cargo +nightly assume folks have rustup set to use stable by default * cretonne-module, -faerie, -simplejit: use new ModuleError enum CtonError is not really appropriate for use in the module system. Instead, create a new enum ModuleError, which implements failure::Fail (works with no_std). Translate existing panics and unimplemented error cases to return ModuleErrors. * cretonne-faerie: export FaerieProduct * cretonne-module: expose FuncOrDataId, and Module::get_name to lookup This is helpful for looking up a name that has already been declared. Also, implement FuncOrDataId -> ExternalName conversion. * cretonne-faerie: depend on faerie 0.3.0 which has bugfix for data relocations * cretonne-module: change InvalidDefinition to InvalidImportDefinition per dan's code review. plus another typo fix * cretonne-faerie: add optional manifest of all traps from codegen * cretonne-module: provide more context in panics * cretonne-faerie: updates to docs * cretonne-faerie: return an Err instead of debug_assert when isa not pic
This commit is contained in:
@@ -16,9 +16,12 @@
|
||||
use_self,
|
||||
))]
|
||||
|
||||
#[macro_use]
|
||||
extern crate cretonne_codegen;
|
||||
#[macro_use]
|
||||
extern crate cretonne_entity;
|
||||
#[macro_use]
|
||||
extern crate failure;
|
||||
|
||||
mod backend;
|
||||
mod data_context;
|
||||
@@ -26,4 +29,4 @@ mod module;
|
||||
|
||||
pub use backend::Backend;
|
||||
pub use data_context::{DataContext, Writability, DataDescription, Init};
|
||||
pub use module::{DataId, FuncId, Linkage, Module, ModuleNamespace};
|
||||
pub use module::{DataId, FuncId, FuncOrDataId, Linkage, Module, ModuleNamespace, ModuleError};
|
||||
|
||||
Reference in New Issue
Block a user