aboutsummaryrefslogtreecommitdiff
path: root/test/standalone.zig
AgeCommit message (Collapse)Author
2021-05-25add a standalone for zig as a c/c++ compilerxavier
2021-05-25standalone tests may now test cross targets and build modes.xavier
2021-05-23stage2: introduce clangAssemblerSupportsMcpuArgAndrew Kelley
Clang has a completely inconsistent CLI for its integrated assembler for each target architecture. For x86_64, for example, it does not accept an -mcpu parameter, and emits "warning: unused parameter". However, for ARM, -mcpu is needed in order to properly lower assembly to machine code instructions (see new standalone test case provided thanks to @g-w1). This is a compromise between b8f85a805bf61ae11d6ee2bd6d8356fbc98ee3ba and afb9f695b1bdbf81185e7d55d5783bcbab880989.
2021-05-22zld: permit system static libsJakub Konka
This commits permits passing in static archives using the system lib flag `-la`. With this commit, `zig ld` will now look firstly for a dynamic library (which always takes precedence), and will fall back on `liba.a` if the dylib is not found. The static archive is searched for in the system lib search dirs like the dylibs.
2021-05-18zld: parse dylibs as positionalsJakub Konka
* add preliminary rpath support * enable shared_library test on x86_64 macOS
2021-04-13Add standalone test for interdep C archivesJakub Konka
Tests a scenario where the linker line has the following: ``` main.o libA.a libB.a ``` where `main.o` pulls a symbol from `libB.a`, which in turn is dependent on a symbol from `libA.a`.
2021-03-18zld: temporarily disable testing shared lib linkingJakub Konka
2020-12-11fix deadlock with build-exe on an object for windowsAndrew Kelley
The steps to repro this issue are: zig build-obj hello.zig -target x86_64-windows-msvc zig build-exe hello.obj -target x86_64-windows-msvc --subsystem console -lkernel32 -lntdll What was happening is that the main Compilation added a work item to produce kernel32.lib. Then it added a sub-Compilation to build zig's libc, which ended up calling a function with extern "kernel32", which caused the sub-Compilation to also try to produce kernel32.lib. The main Compilation and sub-Compilation do not coordinate about the set of import libraries that they will be trying to build, so this caused a deadlock. This commit solves the problem by disabling the extern "foo" feature from working when building compiler_rt or libc. Zig's linker code is now responsible for putting the appropriate import libs on the linker line, if any for compiler_rt and libc. Related: #5825
2020-12-04Add minimal standalone test caseJakub Konka
2020-07-24Revert "Support taking extern pointers at comptime"Andrew Kelley
This reverts commit d3ebd428650748e60db70dd2171cc044855814b1. This caused a build failure on multiple targets.
2020-07-24Support taking extern pointers at comptimeyvt
This commit makes it possible to obtain pointers to `extern` variables at comptime. - `ir_get_var_ptr` employs several checks to determine if the given variable is eligible for obtaining its pointer at comptime. This commit alters these checks to consider `extern` variables, which have runtime values, as eligible. - After this change, it's now possible for `render_const_val` to be called for `extern` variables. This commit modifies `render_const_val` to suppress the value generation for `extern` variables. - `do_code_gen` now creates `ZigValue::llvm_global` of `extern` variables before iterating through module-level variables so that other module-level variables can refer to them. This solution is incomplete since there are several cases still failing: - `global_var.array[n..m]` - `&global_var.array[i]` - `&global_var.inner_struct.value` - `&global_array[i]` Closes #5349
2020-05-16Enable the test `standalone/global_linkage`yvt
This test was added to the source tree in c39d7a6, but has never been referenced from anywhere.
2020-02-28update std lib to new Target APIAndrew Kelley
2019-12-10improve dynamic library APIAndrew Kelley
2019-12-10fixed windows dynamic library loading and added loading for darwinemekoi
2019-07-16retire the example/ folder, rename test-build-examples to "standalone"Andrew Kelley
closes #2759