Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-04-01 | Redo handling of unhandled exceptions in async execution | Boris Kolpackov | 1 | -1/+0 | |
Here is the problem: noexcept looses the call stack. That is, unlike an unhandled exception, if noexcept is tripped, then you won't see the place where it was thrown. In this new implementation we now have noexcept only on the task thunk. And the task is called via a thunk only in case of async execution. This means that if we are executing serially (-j 1), then this will be an unhandled exception, not noexcept. Hopefully will be a bit easier to debug. | |||||
2017-03-22 | Make use of throw_generic_error() | Karen Arutyunov | 1 | -0/+2 | |
2017-03-17 | Catch and dump unhandled exceptions in async task functions | Boris Kolpackov | 1 | -0/+1 | |
The problem with relying on noexcept for this is that there is no stack. | |||||
2017-02-13 | Implement parallel operation execution | Boris Kolpackov | 1 | -0/+1 | |
2017-01-24 | Redo config as feature test macros | Boris Kolpackov | 1 | -1/+2 | |
2017-01-19 | Get rid of extension_pool | Boris Kolpackov | 1 | -11/+0 | |
2017-01-05 | Update copyright year | Boris Kolpackov | 1 | -1/+1 | |
2016-12-13 | Use config macros from libbutl | Boris Kolpackov | 1 | -0/+1 | |
2016-11-22 | Use diagnostics facility from libbutl | Boris Kolpackov | 1 | -42/+4 | |
2016-11-18 | Add function machinery, implement path.normalize() | Boris Kolpackov | 1 | -1/+1 | |
Note that multi-argument functions are not yet "callable" since there is no support for value packs. | |||||
2016-11-15 | Add cat, false and true builtins | Karen Arutyunov | 1 | -6/+10 | |
2016-11-07 | Make build.driver path absolute | Boris Kolpackov | 1 | -2/+2 | |
2016-11-04 | Add --no-line, --no-column options | Boris Kolpackov | 1 | -0/+5 | |
2016-11-04 | Add build.driver variable with build system driver path (argv[0]) | Boris Kolpackov | 1 | -1/+5 | |
2016-11-04 | Add sto*() names to utility | Boris Kolpackov | 1 | -0/+2 | |
2016-11-04 | Factor global initialization into init() analogous to reset() | Boris Kolpackov | 1 | -0/+6 | |
2016-11-04 | Add support for lexer name scanning customization | Boris Kolpackov | 1 | -0/+1 | |
2016-11-04 | Minor dependency cleanup | Boris Kolpackov | 1 | -0/+30 | |
2016-11-04 | Various design/implementation cleanups | Boris Kolpackov | 1 | -1/+4 | |
2016-08-28 | Fix Windows rpath support | Boris Kolpackov | 1 | -0/+2 | |
2016-08-26 | Add pkg-config support for import installed | Boris Kolpackov | 1 | -1/+1 | |
Redesign library importing/exporting while at it. | |||||
2016-08-24 | Handle *.export.libs, distinguish interface and implementation dependencies | Boris Kolpackov | 1 | -0/+14 | |
A library dependency on another libraries is either "interface" or "implementation". If it is interface, then everyone who links to this library should also link to the interface dependency, explicitly. A good example of an interface dependency is a library API that is called in inline functions. Interface dependencies of a library should be explicitly listed in the *.export.libs (where we can also list target names). So the typical usage will be along these lines: import int_libs = libfoo%lib{foo} import int_libs += ... import imp_libs = libbar%lib{bar} import imp_libs += ... lib{baz}: ... $int_libs $imp_libs lib{baz}: cxx.export.libs = $int_libs | |||||
2016-08-22 | Cache process_path, use fallback search directory for binutils | Boris Kolpackov | 1 | -3/+56 | |
2016-08-21 | Adjust to new butl::process interface | Boris Kolpackov | 1 | -3/+3 | |
2016-08-12 | Implement c/cxx toolchain cross-hinting | Boris Kolpackov | 1 | -0/+7 | |
2016-08-12 | Implement support for C compilation | Boris Kolpackov | 1 | -2/+37 | |
We now have two new modules: cc (c-common) and c. | |||||
2016-08-10 | Add ignore case support for find_option() | Karen Arutyunov | 1 | -1/+6 | |
2016-07-29 | Make /EHsc and /MD default for VC compiler | Boris Kolpackov | 1 | -2/+55 | |
2016-07-16 | Add support for prepend/append in target type/pattern-specific vars | Boris Kolpackov | 1 | -0/+2 | |
Semantically, these are similar to variable overrides and are essentially treated as "templates" that are applied on lookup to the "stem" value that is specific to the target type/name. For example: x = [string] a file{f*}: x =+ b sub/: { file{*}: x += c print $(file{foo}:x) # abc print $(file{bar}:x) # ac } | |||||
2016-07-15 | Name and cleanup extra VC files (.pdb, .ilk, .idb) | Boris Kolpackov | 1 | -3/+12 | |
2016-04-21 | Use hash map/set for targets/prerequisites to resolve key change issue | Boris Kolpackov | 1 | -1/+2 | |
2016-03-31 | Clean up variable lookup interfaces | Boris Kolpackov | 1 | -4/+4 | |
2016-03-28 | New variable architecture | Boris Kolpackov | 1 | -4/+2 | |
2016-03-14 | Add support for guessing ar/ranlib signatures | Boris Kolpackov | 1 | -2/+9 | |
2016-03-11 | Implement --config-{guess,sub} options | Boris Kolpackov | 1 | -0/+56 | |
2016-03-07 | Implement compiler guessing, including icc and msvc | Boris Kolpackov | 1 | -0/+34 | |
2016-02-29 | Implement auxiliary dependency database (.d files), use in cxx.compile | Boris Kolpackov | 1 | -0/+42 | |
This is part of the "High Fidelity Build" work. | |||||
2016-02-12 | <types>/<utility> scheme cleanup | Boris Kolpackov | 1 | -2/+18 | |
2016-01-15 | Support X.Y.Z- version notation | Boris Kolpackov | 1 | -2/+26 | |
2016-01-09 | Update copyright year | Boris Kolpackov | 1 | -1/+1 | |
2016-01-05 | Rename build directory/namespace to build2 | Boris Kolpackov | 1 | -0/+85 | |