2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-21 15:02:19 +00:00
Commit Graph

12622 Commits

Author SHA1 Message Date
Rene Rivera
22c5f3abb7 Debug Ci crash 10/n [skip ci] 2022-04-11 17:09:12 -05:00
Rene Rivera
35bfccfc33 Debug CI crash 9/n [skip ci] 2022-04-11 12:59:44 -05:00
Rene Rivera
cadb1cfadb Debug CI crash 8/n [skip ci] 2022-04-11 11:55:39 -05:00
Rene Rivera
055dd41f1b Debug CI crash 7/n [skip ci] 2022-04-11 08:34:53 -05:00
Rene Rivera
a5a1d99bb6 Debug CI crash 6/n [skip ci] 2022-04-10 23:22:24 -05:00
Rene Rivera
9cb8146db1 Debug CI crash 5/n [skip ci] 2022-04-10 21:46:37 -05:00
Rene Rivera
19f5d5f5e9 Debug CI crash 4/n [skip ci] 2022-04-10 17:13:18 -05:00
Rene Rivera
51e927b151 Debug CI crash 3/n [skip ci] 2022-04-10 11:40:02 -05:00
Rene Rivera
67509ed8e5 Debug CI crash 2/n [skip ci] 2022-04-09 22:35:28 -05:00
Rene Rivera
7128c6ba91 Debug CI crash 1/n [skip ci] 2022-04-09 20:51:12 -05:00
Rene Rivera
52be149c36 Add minimal and debug options for optimization feature. 2022-04-09 17:21:33 -05:00
Rene Rivera
dc13389eea Add minimal and debug optimization options. 2022-04-09 17:20:20 -05:00
Rene Rivera
a495979b48 Notes for current changes. 2022-04-09 17:19:12 -05:00
Andrey Semashev
e8a11169a1 Added Rocket Lake, Alder Lake, Sapphire Rapids and Zen 3 instruction sets. (#147) 2022-04-09 16:53:31 -05:00
René Ferdinand Rivera Morell
cb23d0955c Workarounds for old msvc compile errors. 2022-04-09 10:08:55 -05:00
Rene Rivera
9c74a5a845 Fix mem leak when arg typechecks fail.
If a rule arg typecheck failed we would leak argument values. This uses
RAII to track owenership instead of manual management to prevent
missing a free when an early exit exception is thrown for such failures.

This marks the last mem leak in the ASAN tests. And marks a clean ASAN
run for all tests.
2022-04-09 00:22:57 -05:00
Rene Rivera
032aac78d0 Fix mem leaks of PARSE objects. 2022-04-06 09:53:02 -05:00
Rene Rivera
46edc8ff59 Fix windows & vms engine compile. 2022-04-03 13:54:21 -05:00
Rene Rivera
9a67db02e3 Fix mem leaks in debugger and calling action rules.
Also fix double-free in property set create. This changes the object_free
calls to zero out the object pointer to prevent/catch double frees
and use-after-free issues. It also changes parse_free in the same way.
And adds a parse_ptr to scope manage the lifetime of PARSE
objects. Which fixes another mem leak in the parse_impl for
early abnormal exits.
2022-04-03 13:35:17 -05:00
Rene Rivera
63d677fce4 Fix mem leak from evaluating timing rules. 2022-04-02 14:03:00 -05:00
Rene Rivera
b6b7ff57c0 Fix msvc compile by avoiding tuples. 2022-04-02 13:30:54 -05:00
Rene Rivera
943c3869b1 Fix memory leaks from reused FRAME_INFO. 2022-04-02 12:30:27 -05:00
Rene Rivera
5a7c842685 Fix use-after-free error for copied FRAME objects. 2022-04-02 12:07:16 -05:00
Rene Rivera
bc4a6c3d4e Fix orphan items in function eval stack. 2022-04-02 11:35:47 -05:00
Rene Rivera
3236572892 Better way to cleanup frame allocations. 2022-04-02 11:33:03 -05:00
Rene Rivera
69c03ced04 Fix memory leak for invoked function args.
If a function exits abnormally, for any reason, the passed in function
frame args would leak. This change captures such early exits and
cleans up the args for directly invoked functions. This clears up about
70% of current memory leaks.
2022-03-31 00:42:18 -05:00
Rene Rivera
e82fdf2e7c Use alternate sizeof advance size calc re msvc. 2022-03-29 13:25:08 -05:00
Rene Rivera
03dd13ef23 Use safer, but slower, select_last_t for msvc. 2022-03-29 08:38:42 -05:00
Rene Rivera
a9a21dfc72 Make all jam stack access type safe. 2022-03-29 08:31:02 -05:00
Rene Rivera
266c664fd9 Remove public function STACK access.
In preparation to clean up the Jam function global stack move the
definition of the STACK and related functions inside the function.cpp
source file only.
2022-03-22 23:02:51 -04:00
Rene Rivera
02c076e14a Start of 4.9.0 2022-03-19 17:52:19 -05:00
Rene Rivera
0b8a8ad7d6 Fix crash on exit cleanup from targets list dtor and pop. 2022-03-17 23:51:57 -05:00
Rene Rivera
7c3ff9a80d Fix engine build for EXIT_* possibly missing. 2022-03-16 21:54:29 -05:00
Rene Rivera
c9557503c4 Update history and readme for release. 2022-03-10 22:39:49 -06:00
Rene Rivera
524ce68d5e Add future C++ versions.
fixes #135
2022-03-10 21:20:47 -06:00
Rene Rivera
b793d6f0a6 Fix warnings. 2022-03-03 23:19:42 -06:00
Rene Rivera
e0c7d35b1f Remove use of freelist caching.
Modern memory allocator is fast enough to not need our own
chained caching of specific data. Hence remove the use of caching
of free LIST instances to simplify memory management.
Also remove uses of exit/abort.
2022-03-03 22:49:45 -06:00
Rene Rivera
157e26303f Avoid crash if modules_done is called early. 2022-03-03 21:41:49 -06:00
Rene Rivera
027ee7379f Remove memory leaks. 2022-03-03 21:40:48 -06:00
Rene Rivera
a9aed5c40a Convert alloc/free calls with unique_ptr managed code.
Using unique_ptr allows to not loose track of memory when early
exit when clean_exit throws an exception.
2022-03-03 21:39:00 -06:00
Rene Rivera
a9aafc7a70 Replace most exit/abort with exception equivalent.
This replaces most abort/exit calls with the utility that throws an
exception. The exception is caught in main to cleanly return failure.
This allows to clean up allocations and always return a valid status
value instead of abnormal termination.
2022-03-03 21:17:38 -06:00
Rene Rivera
efab66b211 Add LIST ctor to prevent no-init errors. 2022-03-03 20:54:12 -06:00
Rene Rivera
d66a79b698 Add b2::clean_exit to replace plain exit/abort. 2022-03-03 20:51:43 -06:00
Rene Rivera
1ab86c307a Add utilityies for managing the Jam dynamic objects. 2022-03-03 20:46:14 -06:00
Rene Rivera
ddecd777bd Fix memory leaks in filesys. 2022-02-21 23:22:06 -06:00
Rene Rivera
2847e6cc90 Fix compile of BJAM_NO_MEM_CACHE mode. 2022-02-21 23:21:09 -06:00
Rene Rivera
22187fae9c Fix memory leak in variable ctro from char*. 2022-02-21 23:19:55 -06:00
Rene Rivera
f1382e4aef Fix memory leak in targets lists.
This changes the pointer type used everywhere for _targets/TARGETS to a
unique_ptr to manage the ownership correctly. Thus removing the memory
leaks resulting therein.
2022-02-21 16:01:24 -06:00
Rene Rivera
38dc406527 Replace all direct pointers in rules with typedef.
Moving towards true C++ type safety by retyping all raw pointers. The
typedefs will eventually be replaced with managed pointers.
2022-02-16 22:55:02 -06:00
Rene Rivera
43358117aa Shift CI to account for AZP removing vs2017. 2022-02-15 08:35:43 -06:00