diff --git a/src/test/run-make/lto-syntax-extension/lib.rs b/src/test/auxiliary/lto-syntax-extension-lib.rs similarity index 80% rename from src/test/run-make/lto-syntax-extension/lib.rs rename to src/test/auxiliary/lto-syntax-extension-lib.rs index 04d3ae67207..78c03bac33f 100644 --- a/src/test/run-make/lto-syntax-extension/lib.rs +++ b/src/test/auxiliary/lto-syntax-extension-lib.rs @@ -1,4 +1,4 @@ -// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // @@ -8,4 +8,8 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +// no-prefer-dynamic + #![crate_type = "rlib"] + +pub fn foo() {} diff --git a/src/test/run-make/lto-syntax-extension/main.rs b/src/test/auxiliary/lto-syntax-extension-plugin.rs similarity index 65% rename from src/test/run-make/lto-syntax-extension/main.rs rename to src/test/auxiliary/lto-syntax-extension-plugin.rs index c9395f557fd..c3778326a4d 100644 --- a/src/test/run-make/lto-syntax-extension/main.rs +++ b/src/test/auxiliary/lto-syntax-extension-plugin.rs @@ -1,4 +1,4 @@ -// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // @@ -8,9 +8,14 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +// force-host + +#![feature(plugin_registrar)] #![feature(rustc_private)] -extern crate lib; -#[macro_use] extern crate log; +extern crate rustc; -fn main() {} +use rustc::plugin::Registry; + +#[plugin_registrar] +pub fn plugin_registrar(_reg: &mut Registry) {} diff --git a/src/test/run-make/lto-syntax-extension/Makefile b/src/test/run-make/lto-syntax-extension/Makefile deleted file mode 100644 index 5f2b7a701a7..00000000000 --- a/src/test/run-make/lto-syntax-extension/Makefile +++ /dev/null @@ -1,18 +0,0 @@ --include ../tools.mk - -# This test attempts to use syntax extensions, which are known to be -# incompatible with stage1 at the moment. - -ifeq ($(RUST_BUILD_STAGE),1) -DOTEST= -else -DOTEST=dotest -endif - -all: $(DOTEST) - -dotest: - env - $(RUSTC) lib.rs - $(RUSTC) main.rs -C lto - $(call RUN,main) diff --git a/src/test/run-pass-fulldeps/lto-syntax-extension.rs b/src/test/run-pass-fulldeps/lto-syntax-extension.rs new file mode 100644 index 00000000000..e32f0852ad7 --- /dev/null +++ b/src/test/run-pass-fulldeps/lto-syntax-extension.rs @@ -0,0 +1,24 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// aux-build:lto-syntax-extension-lib.rs +// aux-build:lto-syntax-extension-plugin.rs +// compile-flags:-C lto +// ignore-stage1 +// no-prefer-dynamic + +#![feature(plugin)] +#![plugin(lto_syntax_extension_plugin)] + +extern crate lto_syntax_extension_lib; + +fn main() { + lto_syntax_extension_lib::foo(); +}