1 # Regression test for calling an inline function that uses a raw-dylib function.
5 include ..
/..
/run-make-fulldeps
/tools.mk
8 $(RUSTC
) --crate-type dylib
--crate-name raw_dylib_test lib.rs
-C prefer-dynamic
9 $(RUSTC
) --crate-type dylib
--crate-name raw_dylib_test_wrapper lib_wrapper.rs
-C prefer-dynamic
10 $(RUSTC
) --crate-type bin driver.rs
-L
"$(TMPDIR)" -C prefer-dynamic
11 # Make sure we don't find an import to the functions we expect to be inlined.
12 "$(LLVM_BIN_DIR)"/llvm-objdump
-p
$(TMPDIR
)/driver.exe |
$(CGREP
) -v
-e
"inline_library_function"
13 "$(LLVM_BIN_DIR)"/llvm-objdump
-p
$(TMPDIR
)/driver.exe |
$(CGREP
) -v
-e
"inline_library_function_calls_inline"
14 # Make sure we do find an import to the functions we expect to be imported.
15 "$(LLVM_BIN_DIR)"/llvm-objdump
-p
$(TMPDIR
)/driver.exe |
$(CGREP
) -e
"library_function"
16 $(call COMPILE_OBJ
,"$(TMPDIR)"/extern_1.obj
,extern_1.c
)
17 $(call COMPILE_OBJ
,"$(TMPDIR)"/extern_2.obj
,extern_2.c
)
19 $(CC
) "$(TMPDIR)"/extern_1.obj
-link
-dll
-out
:"$(TMPDIR)"/extern_1.dll
-noimplib
20 $(CC
) "$(TMPDIR)"/extern_2.obj
-link
-dll
-out
:"$(TMPDIR)"/extern_2.dll
-noimplib
22 $(CC
) "$(TMPDIR)"/extern_1.obj
-shared
-o
"$(TMPDIR)"/extern_1.dll
23 $(CC
) "$(TMPDIR)"/extern_2.obj
-shared
-o
"$(TMPDIR)"/extern_2.dll
25 $(call RUN
,driver
) > "$(TMPDIR)"/output.txt
27 ifdef RUSTC_BLESS_TEST
28 cp
"$(TMPDIR)"/output.txt output.txt
30 $(DIFF
) output.txt
"$(TMPDIR)"/output.txt