ptx-linker 0.9.0

NVPTX modules linker
#![deny(warnings)]
#![warn(clippy::all)]

#[cfg(feature = "llvm-proxy")]
extern crate rustc_llvm_proxy;

mod llvm;
mod passes;

pub mod error;
pub mod linker;
pub mod session;

pub fn linker_entrypoint(session: session::Session) -> ! {
    use crate::linker::Linker;
    use log::error;

    std::process::exit(match Linker::new(session).link() {
        Ok(_) => 0,

        Err(error) => {
            error!("Unable to link modules");

            for cause in error.iter_chain() {
                error!("  caused by: {}", cause.to_string());
            }

            1
        }
    })
}