aboutsummaryrefslogtreecommitdiff
path: root/build2/algorithm.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-06-15Add sanity checkBoris Kolpackov1-0/+2
2018-05-25Fix postponed group/member state raceBoris Kolpackov1-4/+18
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-05-18Pass ignore_dangling flag to dir_iterator() ctorKaren Arutyunov1-2/+3
2018-05-16Fix uncaught invalid_path exceptionKaren Arutyunov1-2/+2
2018-05-02Add support for different backlinking modes, use for Windows DLL assemblyBoris Kolpackov1-74/+252
2018-04-28Use rmsymlink() to portably remove symlinksBoris Kolpackov1-8/+15
2018-04-26Fix bug in backlinking testBoris Kolpackov1-3/+4
2018-04-26Implement forwarded configurations and backlinkingBoris Kolpackov1-11/+323
2018-02-22Make dist diagnostics tidier yetBoris Kolpackov1-1/+1
2018-02-16Add support for detecting dependency cyclesBoris Kolpackov1-15/+38
2018-02-16Fix group link-up raceBoris Kolpackov1-1/+7
2018-02-12Fix task_count handling race in schedulerBoris Kolpackov1-1/+1
2018-02-08Update/cleanup comment documentation for inner/outer operation semanticsBoris Kolpackov1-2/+2
2018-02-07Initial work for default update outer operationBoris Kolpackov1-18/+18
While update still uses the old "all update rules update all their prerequisites" assumption, test and install have been fixed not to rely on this.
2018-02-06Increment targe_count for inner operations onlyBoris Kolpackov1-0/+1
2018-02-03Get rid of action rule override semanticsBoris Kolpackov1-396/+292
Instead we now have two more or less separate match states for outer and inner parts of an action.
2018-01-18Use prefix_map::find_sup/sub()Boris Kolpackov1-1/+1
2017-12-04Handle phase_lock failure in async match tasksBoris Kolpackov1-4/+8
2017-12-01Fix GCC 7 -fimplicit-fallthrough warningsBoris Kolpackov1-9/+12
2017-11-30Implement support for scope operation callbacksBoris Kolpackov1-14/+88
An entity (module, core) can register a function that will be called when an action is executed on the dir{} target that corresponds to the scope. The pre callback is called just before the recipe and the post -- immediately after.
2017-09-25Make use of libpkgconf libraryKaren Arutyunov1-2/+2
2017-09-01Add support for try_match(), use to handle deleted headersBoris Kolpackov1-29/+64
2017-08-24Clean group members in reverseBoris Kolpackov1-3/+3
2017-08-23Move support for disabling cleaning to common functionsBoris Kolpackov1-11/+23
2017-08-23Add perform_clean_group(), use instead of ad hoc implementation in cli ruleBoris Kolpackov1-2/+26
2017-08-01Fix bug in ad hoc member traversalBoris Kolpackov1-1/+1
2017-08-01Reimplement pkg-config generation with more conservative approach for nowBoris Kolpackov1-2/+2
2017-07-31Experimental (and probably broken) pkg-config generation supportBoris Kolpackov1-9/+14
2017-07-29Fix bug in execution algorithmsBoris Kolpackov1-19/+7
2017-07-28Implement support for linking whole archiveBoris Kolpackov1-26/+8
2017-07-28Fix bug in target_count logicBoris Kolpackov1-1/+7
2017-07-28Add support for custom data storage in target::preprequisite_targetsBoris Kolpackov1-7/+33
2017-07-27Implement displaying build progress (--progress|-p)Boris Kolpackov1-1/+3
2017-07-22Implement detection of ignorable changes (whitespaces, comments)Boris Kolpackov1-1/+1
2017-07-19Add support for explicit fsdir{} specificationBoris Kolpackov1-14/+32
2017-06-16Fix bug (forward-declared inline function)Boris Kolpackov1-0/+26
2017-06-14Next installment in C++ modules saga: module search, re-export supportBoris Kolpackov1-3/+11
2017-06-12Add workaround for Clang module import during preprocessingBoris Kolpackov1-6/+6
2017-06-08Implement rule chaining for modulesBoris Kolpackov1-2/+2
2017-06-01Implement module interface unit compilation for Clang and VCBoris Kolpackov1-0/+27
2017-05-13Fix VC15 warnings (/W3)Karen Arutyunov1-1/+1
2017-05-01Add hxx extension for headersKaren Arutyunov1-11/+11
2017-04-28Fix bug in target state/override logicBoris Kolpackov1-1/+1
2017-04-28Implement support for pre-processing version headers (or other files)Boris Kolpackov1-2/+5
Also implement the build system version check.
2017-04-27Pass target to prerequisite searchBoris Kolpackov1-7/+8
2017-04-01Fix bug in task state/count logicBoris Kolpackov1-7/+9
2017-04-01Redo handling of unhandled exceptions in async executionBoris Kolpackov1-18/+4
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-24Fix diagnostics interleaving charactersKaren Arutyunov1-2/+4
2017-03-17Catch and dump unhandled exceptions in async task functionsBoris Kolpackov1-3/+17
The problem with relying on noexcept for this is that there is no stack.