Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-05-30 | Rework C/C++ standard translation in preparation for experimental/modules | Boris Kolpackov | 7 | -57/+45 | |
Also fix bug in clang-apple versioning. | |||||
2017-05-29 | Work around VC14 bug | Boris Kolpackov | 1 | -1/+2 | |
2017-05-29 | Add ability to limit amount of preprocessing done on source | Boris Kolpackov | 4 | -85/+241 | |
The cc.preprocessed variable can be 'none' (not preprocessed), 'includes' (no depends on preprocessor, e.g., #ifdef, etc), and 'all' (the source is fully preprocessed). Note that for 'all' the source can still contain comments and line continuations. | |||||
2017-05-28 | Fix bug in cc::extract_module() diagnostics | Boris Kolpackov | 1 | -5/+5 | |
2017-05-28 | Diagnose #include directives in C/C++ lexer | Boris Kolpackov | 2 | -23/+33 | |
2017-05-27 | Handle #line directives in C/C++ lexer | Boris Kolpackov | 4 | -57/+172 | |
This way the parser now reports logical rather than physical location in diagnostics. | |||||
2017-05-26 | Fix depdb update logic in cc::compile | Boris Kolpackov | 1 | -28/+22 | |
2017-05-25 | Extract C++ modules information | Boris Kolpackov | 4 | -29/+232 | |
For now we do it for every translation unit in order to test our C++ lexer and parser. | |||||
2017-05-25 | Fix few bugs in C++ lexer and parser | Boris Kolpackov | 3 | -20/+41 | |
2017-05-25 | Add compiler_id enum | Boris Kolpackov | 9 | -81/+138 | |
2017-05-25 | Implement parsing of C++ module declarations | Boris Kolpackov | 3 | -1/+255 | |
2017-05-24 | Implement support for tokenization of preprocessed C/C++ source | Boris Kolpackov | 2 | -0/+849 | |
2017-05-18 | Add compiler version checks for separate preprocess and compile setup | Boris Kolpackov | 2 | -7/+33 | |
2017-05-17 | Use correct stream for VC /P diagnostics | Boris Kolpackov | 1 | -6/+5 | |
2017-05-17 | Add ability to disable use of preprocessed output in compilation | Boris Kolpackov | 3 | -6/+18 | |
This can be done from a buildfile for a scope (including project root scope) and per target via cc.reprocess: cc.reprocess = true obj{hello}: cc.reprocess = false As as well externally via config.cc.reprocess: b config.cc.reprocess=true [configure] | |||||
2017-05-17 | Lazily diagnose relative -I paths | Boris Kolpackov | 1 | -3/+9 | |
2017-05-17 | Implement separate preprocess and compile for VC | Boris Kolpackov | 1 | -25/+67 | |
2017-05-17 | Make sure preprocessor warning are passed through | Boris Kolpackov | 2 | -32/+119 | |
2017-05-17 | Tighten quoted include handling in dependency extraction | Boris Kolpackov | 1 | -5/+21 | |
2017-05-16 | Implement separate preprocess and compiler for GCC and Clang | Boris Kolpackov | 3 | -107/+379 | |
2017-05-15 | Add support for writing dependency info to temp file instead of stdout | Boris Kolpackov | 2 | -8/+41 | |
2017-05-15 | Update all prerequisites before extracting header dependencies | Boris Kolpackov | 2 | -102/+127 | |
2017-05-01 | Add hxx extension for headers | Karen Arutyunov | 24 | -189/+190 | |
2017-04-28 | Improve versioned library cleanup | Boris Kolpackov | 1 | -2/+4 | |
2017-04-28 | Automatically cleanup previous versioned libraries | Boris Kolpackov | 2 | -4/+59 | |
2017-04-28 | Implement support for pre-processing version headers (or other files) | Boris Kolpackov | 1 | -16/+15 | |
Also implement the build system version check. | |||||
2017-04-27 | Pass target to prerequisite search | Boris Kolpackov | 4 | -16/+16 | |
2017-04-24 | Add change flag in addition to timestamp in Windows manifest logic | Boris Kolpackov | 3 | -12/+15 | |
Essentially the same idea as with using target_state::changed in case the timestamps are equal (due to insufficient resolution). | |||||
2017-04-10 | Adapt to process_error change | Karen Arutyunov | 3 | -6/+6 | |
2017-04-01 | Rename target triplet "macosx" class to "macos" | Boris Kolpackov | 2 | -4/+4 | |
2017-03-22 | Make use of throw_generic_error() | Karen Arutyunov | 1 | -0/+8 | |
2017-03-10 | Implement support for wildcard patterns | Boris Kolpackov | 1 | -0/+3 | |
2017-03-04 | Only set install variables if install module has been loaded | Boris Kolpackov | 1 | -14/+20 | |
While generally a good idea, failing to do this trips up our load generation protection. | |||||
2017-03-02 | Unconditionally load bin.ar module in c and cxx modules | Boris Kolpackov | 2 | -32/+13 | |
With our utility library/until test approach this will probably be more common than not. | |||||
2017-03-02 | Fix unit test code generation | Boris Kolpackov | 1 | -5/+4 | |
2017-03-02 | Implement parallel match | Boris Kolpackov | 14 | -598/+753 | |
2017-02-14 | Redo library meta-information protocol without match_only() | Boris Kolpackov | 3 | -72/+73 | |
2017-02-14 | Modify library mate-information protocol not to use lib{} group | Boris Kolpackov | 2 | -20/+28 | |
2017-02-13 | Implement parallel error propagation, keep_going mode | Boris Kolpackov | 1 | -4/+2 | |
Keep going is the default but there is now the -s|--serial-stop that makes the driver run serially and stop at first error. Also fix some lockups, other minor improvements/features. | |||||
2017-02-13 | Do some naming cleanups | Boris Kolpackov | 1 | -1/+1 | |
2017-02-13 | Tighten target constness further | Boris Kolpackov | 1 | -3/+1 | |
2017-02-13 | Implement parallel operation execution | Boris Kolpackov | 1 | -2/+5 | |
2017-02-13 | Use target:as<> instead of static_cast for target casting | Boris Kolpackov | 5 | -26/+25 | |
2017-02-13 | Tighten code that operates during both search/match and execute | Boris Kolpackov | 4 | -83/+144 | |
2017-02-13 | Pass const target& to recipes | Boris Kolpackov | 14 | -164/+244 | |
2017-02-13 | Implement target_set locking, including extension update | Boris Kolpackov | 2 | -3/+3 | |
2017-02-13 | Redesign target_set interface in preparation for locking | Boris Kolpackov | 1 | -2/+1 | |
2017-02-13 | Store extension in target map key rather than in target | Boris Kolpackov | 3 | -5/+3 | |
This is in preparation for locking its modification/access. | |||||
2017-02-13 | Pass const scope& where modification should not happen | Boris Kolpackov | 11 | -49/+65 | |
2017-02-13 | Add bin.vars module | Boris Kolpackov | 1 | -12/+13 | |
Use in cc to make sure hint variables are already registered. |