Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-01-09 | Fix simple and script tests to correctly terminate processes which don't ↵ | Karen Arutyunov | 2 | -48/+299 | |
close stderr on exit | |||||
2022-12-19 | Disable `)` escaping in buildspec, command line variable overrides | Boris Kolpackov | 2 | -11/+10 | |
Similar to line continuations, that would make directory paths on Windows unusable, for example: b info(C:\myproj\) Note that while this is less of a problem in command line variable overrides, we disable it there for consistency. | |||||
2022-12-19 | Disable line continuation in buildspec, command line variable overrides | Boris Kolpackov | 2 | -8/+11 | |
Line continuations would make directory paths on Windows unusable, for example: b C:\myproj\ | |||||
2022-12-19 | Restore newline escaping (line continuations) in double-quoted strings | Boris Kolpackov | 3 | -9/+11 | |
Also make effective escaping in buildspec and command line variable overrides consistent with double-quoted strings. | |||||
2022-12-15 | Add $regex.filter[_out]_{match,search}() functions | Karen Arutyunov | 1 | -67/+206 | |
2022-12-15 | Add noexcept to move constructors and move assignment operators | Karen Arutyunov | 18 | -51/+73 | |
2022-12-15 | Improve escape sequence support | Boris Kolpackov | 7 | -172/+274 | |
Specifically: 1. In the double-quoted strings we now only do effective escaping of the special `$("\` characters plus `)` for symmetry. 2. There is now support for "escape sequence expansion" in the form $\X where \X can be any of the C/C++ simple escape sequences (\n, \t, etc) plus \0 (which in C/C++ is an octal escape sequence). For example: info "foo$\n$\tbar$\n$\tbaz" Will print: buildfile:1:1: info: foo bar baz | |||||
2022-12-14 | Improve empty simple value to empty list of names reduction heuristics | Boris Kolpackov | 18 | -67/+136 | |
Specifically, do not reduce typed RHS empty simple values for prepend/append and additionally for assignment provided LHS is typed and is a container. | |||||
2022-12-14 | Handle NULL values in $string() and $concat() functions | Boris Kolpackov | 8 | -19/+82 | |
This is relied upon by the parser to provide conversion/concatenation semantics consistent with untyped values. Note that we handle NULL values only for types that have empty representation. | |||||
2022-12-13 | Add format_copy_empty flag to $regex.{split,merge,apply}() | Boris Kolpackov | 1 | -20/+54 | |
2022-12-13 | Return all subexpressions in $regex.{match,search}(), not only matched | Boris Kolpackov | 1 | -8/+2 | |
The old semantics was unusable for optional groups (e.g., `(...)?`). | |||||
2022-12-13 | Fix linking failure on Windows | Karen Arutyunov | 1 | -1/+1 | |
2022-12-12 | Adapt to dir_iterator API change | Karen Arutyunov | 10 | -17/+99 | |
2022-12-12 | Add no_subprojects parameter to info meta-operation | Boris Kolpackov | 3 | -20/+77 | |
2022-12-09 | Enable diagnostics color in GCC and Clang | Boris Kolpackov | 4 | -2/+80 | |
2022-12-09 | Handle file opening error in config.config.load | Boris Kolpackov | 1 | -2/+9 | |
2022-12-09 | Normalize target's out directory in cc::insert_library() | Boris Kolpackov | 1 | -7/+8 | |
2022-12-08 | Normalize extracted header/library search directories (GH issue #235) | Boris Kolpackov | 8 | -21/+60 | |
2022-12-08 | Add --[no]diag-color options (infrastructure only) | Boris Kolpackov | 10 | -13/+152 | |
2022-12-07 | Fix incorrect process_path::effect access | Boris Kolpackov | 1 | -1/+1 | |
2022-12-07 | Use effective rather than recall path for cache key | Boris Kolpackov | 1 | -1/+1 | |
2022-12-07 | Fix bug in MSVC library_type() implementation (GH issue #235) | Boris Kolpackov | 1 | -4/+1 | |
It looks like the implementation was botched a bit when switching from link.exe /DUMP /ARCHIVEMEMBERS to link.exe /LIB /LIST. | |||||
2022-12-07 | Add MSVC library type caching | Boris Kolpackov | 1 | -9/+24 | |
2022-12-07 | List dnsapi, msimg32 as Windows system libraries | Boris Kolpackov | 1 | -2/+4 | |
2022-12-06 | Handle bin.whole when specified for interface dependencies | Boris Kolpackov | 2 | -11/+29 | |
2022-12-05 | Skip common .pc file for binless if found but rejected binful (GH issues #235) | Boris Kolpackov | 3 | -26/+80 | |
2022-12-05 | List windowscodecs as Windows system library | Boris Kolpackov | 1 | -0/+1 | |
2022-12-05 | Filter out sanitizer options from ~host configuration | Boris Kolpackov | 1 | -29/+51 | |
We run the toolchain with various sanitizers on CI but sanitizers cause issues in some packages. | |||||
2022-12-02 | Fail if scope or target qualification in variable expansion is unknown | Boris Kolpackov | 2 | -30/+74 | |
There are three options here: we can "fall through" to an outer scope (there is always the global scope backstop; this is the old semantics, sort of), we can return NULL straight away, or we can fail. It feels like in most cases unknown scope or target is a mistake and doing anything other than failing is just making things harder to debug. | |||||
2022-12-01 | Fix corner case in distributing via obj{}, libul{} groups | Boris Kolpackov | 4 | -3/+102 | |
2022-12-01 | Make dist::rule reusable as base | Boris Kolpackov | 6 | -38/+41 | |
2022-11-30 | Diagnose absence of import library after link.exe invocation (GH issue #231) | Boris Kolpackov | 1 | -7/+22 | |
If a library does not export any symbols then link.exe skips creating the import library. | |||||
2022-11-30 | Reserve targets, variables to avoid rehashing | Boris Kolpackov | 6 | -0/+74 | |
2022-11-30 | Deal with order dependence in dist rule | Boris Kolpackov | 6 | -60/+191 | |
2022-11-29 | Move buildfiles to root_extra, use vector instead of unordered_set | Boris Kolpackov | 4 | -14/+27 | |
2022-11-29 | Use list instead of unordered_set in regex line_pool | Boris Kolpackov | 2 | -4/+22 | |
2022-11-29 | Improve diagnostics for value subscript out of evaluation context | Boris Kolpackov | 1 | -2/+21 | |
2022-11-29 | Fix backlink logic for target groups | Boris Kolpackov | 8 | -175/+469 | |
We used to backlink ad hoc group members both via the group and as individual members. And for explicit groups it was done only via individual members, which means it only works correctly if every member is individually updated. Now both types of groups are backlinked from the group target. | |||||
2022-11-25 | Use operation name as a buildscript name if unable to deduce | Karen Arutyunov | 3 | -13/+22 | |
2022-11-25 | Fix diag buffer opining logic in cc::compile_rule | Boris Kolpackov | 1 | -5/+11 | |
2022-11-24 | Fix skipping potential input for exit, etc script pseudo-builtins | Karen Arutyunov | 1 | -7/+22 | |
2022-11-24 | Fix script to pass diag buffer reading end to process constructor | Karen Arutyunov | 1 | -10/+7 | |
2022-11-24 | Fix forcing diag buffering for diff in simple test | Karen Arutyunov | 1 | -3/+5 | |
2022-11-23 | Take into account ad hoc recipes in rule::sub_match() (fixed GH issue #227) | Boris Kolpackov | 3 | -66/+98 | |
2022-11-23 | Rework diag_buffer interface to facilitate correct destruction order | Boris Kolpackov | 17 | -470/+444 | |
2022-11-22 | Add support for Objective-C/C++ compilation in cc module | Boris Kolpackov | 15 | -72/+269 | |
2022-11-18 | Fix incorrect diag builtin examples | Boris Kolpackov | 1 | -2/+2 | |
2022-11-18 | Complete low verbosity diagnostics rework | Boris Kolpackov | 17 | -153/+801 | |
2022-11-16 | Initial low verbosity diagnostics rework | Boris Kolpackov | 26 | -122/+662 | |
2022-11-14 | Add buffering for simple test diagnosticsdiag-buffer | Karen Arutyunov | 1 | -74/+286 | |
Also fix simple test redirecting diff's stdout to stderr. |