@@ -39,6 +39,8 @@ extern crate rustc_errors;
39
39
extern crate rustc_fluent_macro;
40
40
extern crate rustc_fs_util;
41
41
extern crate rustc_hir;
42
+ #[ cfg( feature="master" ) ]
43
+ extern crate rustc_interface;
42
44
extern crate rustc_macros;
43
45
extern crate rustc_metadata;
44
46
extern crate rustc_middle;
@@ -86,7 +88,7 @@ use std::sync::atomic::Ordering;
86
88
87
89
use gccjit:: { Context , OptimizationLevel } ;
88
90
#[ cfg( feature="master" ) ]
89
- use gccjit:: TargetInfo ;
91
+ use gccjit:: { TargetInfo , Version } ;
90
92
#[ cfg( not( feature="master" ) ) ]
91
93
use gccjit:: CType ;
92
94
use errors:: LTONotSupported ;
@@ -249,6 +251,16 @@ fn new_context<'gcc, 'tcx>(tcx: &TyCtxt<'tcx>) -> Context<'gcc> {
249
251
if tcx. sess . target . arch == "x86" || tcx. sess . target . arch == "x86_64" {
250
252
context. add_command_line_option ( "-masm=intel" ) ;
251
253
}
254
+ #[ cfg( feature="master" ) ]
255
+ {
256
+ let version = Version :: get ( ) ;
257
+ let version = format ! ( "{}.{}.{}" , version. major, version. minor, version. patch) ;
258
+ context. set_output_ident ( & format ! ( "rustc version {} with libgccjit {}" ,
259
+ rustc_interface:: util:: rustc_version_str( ) . unwrap_or( "unknown version" ) ,
260
+ version,
261
+ ) ) ;
262
+ }
263
+ // TODO(antoyo): check if this should only be added when using -Cforce-unwind-tables=n.
252
264
context. add_command_line_option ( "-fno-asynchronous-unwind-tables" ) ;
253
265
context
254
266
}
0 commit comments