]> git.lizzy.rs Git - rust.git/commitdiff
Don't attempt duplicate outputs
authorAlex Crichton <alex@alexcrichton.com>
Mon, 6 Jan 2014 17:23:24 +0000 (09:23 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Mon, 6 Jan 2014 17:23:24 +0000 (09:23 -0800)
This ends up causing weird errors like those seen in #11346

Closes #11346

src/librustc/driver/session.rs
src/test/run-make/duplicate-output-flavors/Makefile [new file with mode: 0644]
src/test/run-make/duplicate-output-flavors/foo.rs [new file with mode: 0644]

index 4295d14441eea37b2ff6e4b84c157933c4ede001..a8a948db4e13e9cb7667422dd5893ceb95f38a57 100644 (file)
@@ -192,7 +192,7 @@ pub enum EntryFnType {
     EntryNone,
 }
 
-#[deriving(Eq, Clone)]
+#[deriving(Eq, Clone, TotalOrd, TotalEq)]
 pub enum OutputStyle {
     OutputExecutable,
     OutputDylib,
@@ -461,6 +461,8 @@ pub fn collect_outputs(session: &Session,
     if base.len() == 0 {
         base.push(OutputExecutable);
     }
+    base.sort();
+    base.dedup();
     return base;
 }
 
diff --git a/src/test/run-make/duplicate-output-flavors/Makefile b/src/test/run-make/duplicate-output-flavors/Makefile
new file mode 100644 (file)
index 0000000..a93a7ce
--- /dev/null
@@ -0,0 +1,4 @@
+include ../tools.mk
+
+all:
+       $(RUSTC) --rlib foo.rs
diff --git a/src/test/run-make/duplicate-output-flavors/foo.rs b/src/test/run-make/duplicate-output-flavors/foo.rs
new file mode 100644 (file)
index 0000000..3cdacc9
--- /dev/null
@@ -0,0 +1 @@
+#[crate_type = "rlib"];