Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-07-19 | Add support for custom std.* modules in VC | Boris Kolpackov | 1 | -16/+48 | |
2017-07-05 | Keep track of translation unit type, make own BMI for impl unit first | Boris Kolpackov | 3 | -36/+65 | |
2017-06-29 | Pass entire BMI graph, not only direct imports and re-exports | Boris Kolpackov | 2 | -30/+63 | |
All current implementations require access to the entire graph (though Clang embeds the file references so we don't need to pass the options). | |||||
2017-06-24 | Make VC compatible with 'export module M;' by fixing up preprocessed output | Boris Kolpackov | 5 | -13/+55 | |
2017-06-22 | Add extra support for symbol exporting in modularized projects | Boris Kolpackov | 3 | -3/+31 | |
Since modules don't see each other's macros, we can use a single, keyword- like macro for dll-exporting that is managed by the build system (so no need for an "export" header). For example: cxx.features.symexport = true export __symexport void f (); | |||||
2017-06-20 | Adjust search logic for std.* modules | Boris Kolpackov | 1 | -14/+45 | |
1. Don't do fuzzy match for std.* modules (more precisely, for 'std' and std.*). This means if we want to build a std.* module, we have to specify its name explicitly: mxx{std-core}@./: cc.module_name = std.core The idea is that we don't want, say, std.core to be fuzzy-matched to some unrelated core.mxx while #2 below could have done the right thing. 2. We allow such modules to go unresolved with the assumption that they are pre-built and will be found by other means (e.g., VC's IFCPATH). | |||||
2017-06-20 | Force Clang not to reference source files from BMIs, add trace | Boris Kolpackov | 1 | -1/+12 | |
2017-06-20 | Fix bug in bmi{} rule chaining | Boris Kolpackov | 1 | -2/+8 | |
2017-06-16 | Add support for explicitly specifying module name on mxx{} target | Boris Kolpackov | 1 | -20/+31 | |
2017-06-16 | Clean up module-related diagnostics | Boris Kolpackov | 2 | -7/+25 | |
2017-06-16 | Store module information in depdb | Boris Kolpackov | 4 | -98/+254 | |
2017-06-15 | Add support for ln testscript builtin | Karen Arutyunov | 1 | -12/+10 | |
2017-06-15 | Implement module search in prerequisite libraries | Boris Kolpackov | 1 | -78/+164 | |
2017-06-14 | Get rid of warnings | Boris Kolpackov | 1 | -2/+2 | |
2017-06-14 | Next installment in C++ modules saga: module search, re-export support | Boris Kolpackov | 6 | -66/+403 | |
2017-06-12 | Remove few unused lambda captures | Boris Kolpackov | 3 | -6/+6 | |
2017-06-12 | Fix couple of deadly bugs | Boris Kolpackov | 1 | -1/+1 | |
2017-06-12 | Add workaround for Clang module import during preprocessing | Boris Kolpackov | 2 | -19/+22 | |
2017-06-09 | Add support for VC15u3 which bumped the compiler version to 19.11 | Boris Kolpackov | 1 | -9/+11 | |
2017-06-08 | Implement rule chaining for modules | Boris Kolpackov | 7 | -260/+458 | |
2017-06-05 | Fix bug in library meta-information protocol implementation | Boris Kolpackov | 1 | -7/+9 | |
2017-06-04 | Adjust Clang language selection | Boris Kolpackov | 1 | -22/+9 | |
2017-06-02 | Link support for modules: link object member, synthesize rules | Boris Kolpackov | 1 | -40/+78 | |
2017-06-01 | Implement module interface unit compilation for Clang and VC | Boris Kolpackov | 2 | -79/+184 | |
2017-06-01 | Rename function not to clash with type | Boris Kolpackov | 2 | -8/+8 | |
2017-06-01 | Rework language selection during compilation code | Boris Kolpackov | 2 | -50/+108 | |
2017-05-31 | Fix bug in compiler language selection (-x option) | Boris Kolpackov | 1 | -6/+6 | |
2017-05-31 | C++ modules work: add target types | Boris Kolpackov | 6 | -52/+126 | |
2017-05-30 | Make use of ifdstream::read_text() | Karen Arutyunov | 1 | -4/+1 | |
2017-05-30 | Diagnose lack of module support in extract_modules() | Boris Kolpackov | 2 | -5/+16 | |
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 | |