summaryrefslogtreecommitdiffstats
path: root/tests/run-make/issue64319/Makefile
blob: 56346cbcc154c7bfcac13ac5ebe889bd67237e23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# ignore-cross-compile
include ../tools.mk

# Different optimization levels imply different values for `-Zshare-generics`,
# so try out a whole bunch of combinations to make sure everything is compatible
all:
	# First up, try some defaults
	$(RUSTC) --crate-type rlib foo.rs
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=3

	# Next try mixing up some things explicitly
	$(RUSTC) --crate-type rlib foo.rs -Z share-generics=no
	$(RUSTC) --crate-type dylib bar.rs -Z share-generics=no
	$(RUSTC) --crate-type rlib foo.rs -Z share-generics=no
	$(RUSTC) --crate-type dylib bar.rs -Z share-generics=yes
	$(RUSTC) --crate-type rlib foo.rs -Z share-generics=yes
	$(RUSTC) --crate-type dylib bar.rs -Z share-generics=no
	$(RUSTC) --crate-type rlib foo.rs -Z share-generics=yes
	$(RUSTC) --crate-type dylib bar.rs -Z share-generics=yes

	# Now combine a whole bunch of options together
	$(RUSTC) --crate-type rlib foo.rs
	$(RUSTC) --crate-type dylib bar.rs
	$(RUSTC) --crate-type dylib bar.rs -Z share-generics=no
	$(RUSTC) --crate-type dylib bar.rs -Z share-generics=yes
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=1
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=1 -Z share-generics=no
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=1 -Z share-generics=yes
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=2
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=2 -Z share-generics=no
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=2 -Z share-generics=yes
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=3
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=3 -Z share-generics=no
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=3 -Z share-generics=yes
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=s
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=s -Z share-generics=no
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=s -Z share-generics=yes
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=z
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=z -Z share-generics=no
	$(RUSTC) --crate-type dylib bar.rs -C opt-level=z -Z share-generics=yes