| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| |\
| | |
| | | |
Fix building on AIX
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Both hash_collision_bench and manifest_parser_perftest crash on AIX with
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
IOT/Abort trap (core dumped)
32-bit AIX applications by default allocates only a single 256M segment
for stack and heap for 32-bit applications, which is insufficient for
these tests. When building these tests on AIX in 32-bit mode, increase
the max number of segments so they will run without crashing.
|
| | | |
|
| | | |
|
| |\ \
| | | |
| | | | |
Fix buffer overread in hash_collision_benchmark.cc
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
The randomly generated command strings are not null-terminated and
implicitly converted to StringPiece objects, which will use strlen to
determine how long the passed `char*` is. Without the null terminator,
this results in undefined behavior and regularly causes crashes on AIX.
|
| |\ \
| | |/
| |/| |
Fix mulit-configuration bug
|
| |/
| |
| |
| | |
multi-configuration generators for building ninja.
|
| |\
| | |
| | | |
[clang-tidy] remove pointless string init
|
| |/
| |
| |
| |
| |
| | |
Found with readability-redundant-string-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
| |\
| | |
| | | |
GitHub Actions: Run more tests on Ubuntu 20.04 (Docker)
|
| | | |
|
| |\ \
| | | |
| | | | |
cmake: Use ${CMAKE_COMMAND} instead of `cmake`
|
| |/ /
| | |
| | |
| | |
| | | |
Not all users have `cmake` on their PATH and this causes a build
failure.
|
| |\ \
| | | |
| | | | |
Handle process signalling correctly on AIX
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
POSIX shells set the exit code to 128 + the signal number, which
coincidentally matches the layout used by the WIFSIGNALLED/WTERMSIG
macros on most Unix-like systems, but not on AIX. Instead, AIX stores
the signal value in the bottom 8 bits and also bits 16-23. The only time
ninja currently handles signals correctly is when the shell used to call
the program dies via signal.
To handle both scenarios, we detect the shell exit code format and
convert it to the format that the WIFSIGNALED/WTERMSIG macros expect.
Fixes #1623
|
| |\ \
| | |/
| |/| |
Close BuildLog while running generators, fix #1724
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
While #1780 delayed opening .ninja_log until the first write, this
this didn't fully fix the issue on Windows: There might be build
statements which run before the generator resulting in an actual write
to .ninja_log.
To fix this once and for all the BuildLog now gets closed before running
the generator. BuildLog::log_file_path_ won't be cleared so that it can
be opened again after the generator finished.
|
| | | |
|
| |\ \
| | | |
| | | | |
build: Add IBM i compile/link flags
|
| | | | |
|
| |/ / |
|
| |\ \
| | | |
| | | | |
Remove 'using namespace std' from header files, properly namespace all std symbols
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
symbols
|
| | | |
| | | |
| | | |
| | | | |
header files
|
| |\ \ \
| | | | |
| | | | | |
Add debug build with sanitizers support, fix scan-build
|
| |/ / / |
|
| |\ \ \
| | | | |
| | | | | |
Add clang-analyze to build
|
| | |/ / |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 18df4d1e5dbd905507476d92351a2f8010a49356, reversing
changes made to 54959b0f2c4950d97d94c03810b3b5185be0d69e.
|
| |\ \ \
| | |/ /
| |/| | |
Run more CI tests on Ubuntu 20.04
|
| | | | |
|
| | | | |
|
| | |\ \
| | |/ /
| |/| | |
|
| | | |
| | | |
| | | |
| | | | |
option provided by cmake's Module CTest
enable_testing() is call by this Module
|
| |\ \ \
| | | | |
| | | | | |
[clang-tidy] fix small false positive
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
else if has to be on the same line it seems.
Found with readability-misleading-indentation
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
| |\ \ \ \
| | | | | |
| | | | | | |
[clang-tidy] remove redundant member init
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Found with readability-redundant-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
| |\ \ \ \
| | | | | |
| | | | | | |
CMake: Add support for "browse" mode
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Browse mode requires a number of POSIX features to be available.
This commit adds configure-time checks that the 'unistd.h' header is
available and that the `inline.sh` script executes successfully. If the
checks pass then browse mode is enabled.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Previously the script would generate some output and return a zero
error code, even if the calls to `od` or `sed` failed.
This change ensures that:
- If `od` or `sed` fail then the script will fail.
- Output will only be written on success.
|
| | | |_|/
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes ninja-build/ninja#1822, fixes ninja-build/ninja#1853
Adds support for `ninja -t browse` to CMake builds.
The platform support logic is copied from configure.py, so Windows,
Solaris and AIX are treated as 'unsupported' platforms. All other
platforms are assumed to be supported.
As discussed in #1853, when built via CMake the `ninja` executable
looks for a binary called `python` in the current path, in order to
launch the "browse" mode. The behaviour differs from that of the
configure.py script, which looks for a python executable that has the
*same name* as the python executable that invoked the configure script.
|
| |\ \ \ \
| | |/ / /
| |/| | | |
Use c++ instead of g++
|