diff options
| author | leo60228 <iakornfeld@gmail.com> | 2019-11-21 14:03:31 -0500 |
|---|---|---|
| committer | leo60228 <iakornfeld@gmail.com> | 2019-11-22 12:27:07 -0500 |
| commit | c6bcea965d3efd57b87ef590ad3b593a89253d96 (patch) | |
| tree | 2ebf5f7ead750f8240485a0ad0fb36afcc5813b5 | |
| parent | d448ab0cf10a6c822b209f208a87ce200efd0772 (diff) | |
| download | rust-c6bcea965d3efd57b87ef590ad3b593a89253d96.tar.gz rust-c6bcea965d3efd57b87ef590ad3b593a89253d96.zip | |
Test std::env::args in a staticlib on glibc Linux
3 files changed, 23 insertions, 0 deletions
diff --git a/src/test/run-make-fulldeps/glibc-staticlib-args/Makefile b/src/test/run-make-fulldeps/glibc-staticlib-args/Makefile new file mode 100644 index 00000000000..ad841ec6101 --- /dev/null +++ b/src/test/run-make-fulldeps/glibc-staticlib-args/Makefile @@ -0,0 +1,12 @@ +# only-gnu +# only-linux + +-include ../tools.mk + +# This ensures that std::env::args works in a library called from C on glibc Linux. + +all: + $(RUSTC) --crate-type=staticlib library.rs + $(CC) program.c $(call STATICLIB,library) $(call OUT_EXE,program) \ + $(EXTRACFLAGS) $(EXTRACXXFLAGS) + $(call RUN,program) diff --git a/src/test/run-make-fulldeps/glibc-staticlib-args/library.rs b/src/test/run-make-fulldeps/glibc-staticlib-args/library.rs new file mode 100644 index 00000000000..991981dc096 --- /dev/null +++ b/src/test/run-make-fulldeps/glibc-staticlib-args/library.rs @@ -0,0 +1,4 @@ +#[no_mangle] +pub extern fn args_check() { + assert_ne!(std::env::args_os().count(), 0); +} diff --git a/src/test/run-make-fulldeps/glibc-staticlib-args/program.c b/src/test/run-make-fulldeps/glibc-staticlib-args/program.c new file mode 100644 index 00000000000..d704c39d5c4 --- /dev/null +++ b/src/test/run-make-fulldeps/glibc-staticlib-args/program.c @@ -0,0 +1,7 @@ +// ignore-license +void args_check(); + +int main() { + args_check(); + return 0; +} |
