Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2018-07-23 | Merge pull request #2303 from volth/patch-4 | Eelco Dolstra | 1 | -2/+2 | |
parser.y: fix assoc of -> and < > <= >= | |||||
2018-07-23 | parser.y: right-associativity of -> | volth | 1 | -1/+1 | |
2018-07-21 | parser.y: fix assoc of -> and < > <= >= | volth | 1 | -2/+2 | |
The parser allowed senseless `a > b > c` but disallowed `a -> b -> c` which seems valid It might be a typo | |||||
2018-07-21 | prim_foldlStrict: call forceValue() before value is copied | volth | 1 | -6/+7 | |
forceValue() were called after a value is copied effectively forcing only one of the copies keeping another copy not evaluated. This resulted in its evaluation of the same lazy value more than once (the number of hits is not big though) | |||||
2018-07-11 | Fix build on 32-bit systems and macOS | Eelco Dolstra | 1 | -1/+1 | |
Apparently, on macOS, 'long' != 'int64_t'. https://hydra.nixos.org/build/77100756 | |||||
2018-07-11 | Shup up a warning | Eelco Dolstra | 1 | -1/+1 | |
2018-07-11 | Remove unused function printStats2() | Eelco Dolstra | 2 | -15/+0 | |
Closes #2282. | |||||
2018-07-05 | prim_concatMap: no need to force value | volth | 1 | -1/+0 | |
2018-07-05 | prim_mapAttrs: must be lazy to avoid infinite recursion | volth | 1 | -4/+5 | |
2018-07-05 | prim_concatMap: allocate intermediate list on stack | volth | 1 | -7/+15 | |
2018-07-05 | primops.cc: fix comment | volth | 1 | -1/+1 | |
2018-07-05 | lib.concatMap and lib.mapAttrs to be builtins | volth | 1 | -0/+42 | |
2018-07-03 | Include cpptoml for build simplicity | Eelco Dolstra | 1 | -1/+1 | |
2018-07-03 | Add a fromTOML primop | Eelco Dolstra | 1 | -0/+77 | |
This is primarily useful for processing Cargo.lock files. | |||||
2018-07-03 | Store floating point numbers in double precision | Eelco Dolstra | 1 | -1/+1 | |
Even on 32-bit systems, Value has enough space to hold a double. | |||||
2018-06-12 | GC_malloc -> GC_MALLOC | Eelco Dolstra | 2 | -9/+3 | |
This makes it possible to build with -DGC_DEBUG. | |||||
2018-06-12 | Don't scan for roots in dynamic libraries | Eelco Dolstra | 1 | -0/+7 | |
This reduces the risk of object liveness misdetection. For example, Glibc has an internal variable "mp_" that often points to a Boehm object, keeping it alive unnecessarily. Since we don't store any actual roots in global variables, we can just disable data segment scanning. With this, the max RSS doing 100 evaluations of nixos.tests.firefox.x86_64-linux.drvPath went from 718 MiB to 455 MiB. | |||||
2018-06-12 | Add temporary stats | Eelco Dolstra | 2 | -1/+28 | |
2018-06-12 | Cache parse trees | Eelco Dolstra | 2 | -2/+19 | |
This prevents EvalState::resetFileCache() from parsing everything all over again. | |||||
2018-06-12 | Remove duplicate definition of allocBytes() | Eelco Dolstra | 3 | -29/+15 | |
2018-05-30 | Fix static assertion failure on 32-bit systems | Eelco Dolstra | 1 | -1/+1 | |
2018-05-30 | Move evaluator-specific settings out of libstore | Eelco Dolstra | 5 | -14/+41 | |
2018-05-28 | Merge pull request #2187 from bgamari/stoi-exceptions | Eelco Dolstra | 1 | -1/+1 | |
json-to-value: Use strtol instead of strtoi | |||||
2018-05-26 | json-to-value: Use strtol instead of strtoi | Ben Gamari | 1 | -1/+1 | |
NixInt is long, so strtoi is too restrictive. | |||||
2018-05-26 | eval.cc: add message to static_assert, message can be omitted w/c++17 | Will Dietz | 1 | -1/+1 | |
2018-05-24 | Merge pull request #2157 from volth/bitwise | Eelco Dolstra | 1 | -0/+17 | |
add builtins: __bitAnd, __bitOr, __bitXor | |||||
2018-05-22 | Make Env self-describing | Eelco Dolstra | 2 | -8/+12 | |
If the Env denotes a 'with', then values[0] may be an Expr* cast to a Value*. For code that generically traverses Values/Envs, it's useful to know this. | |||||
2018-05-22 | Memoise checkSourcePath() | Eelco Dolstra | 2 | -1/+11 | |
This prevents hydra-eval-jobs from statting the same files over and over again. | |||||
2018-05-16 | add `mod' and bitwise builtins: camel-case function names | volth | 1 | -6/+6 | |
2018-05-16 | add `mod' and bitwise builtins: remove `mod' and shifts | volth | 1 | -36/+0 | |
2018-05-16 | add `mod' and bitwise builtins: remove infix functions | volth | 1 | -7/+0 | |
2018-05-12 | add `mod' and bitwise builtins | volth | 2 | -0/+60 | |
2018-05-11 | Don't return negative numbers from the flex tokenizer | Eelco Dolstra | 1 | -1/+5 | |
Fixes #1374. Closes #2129. | |||||
2018-05-11 | Revert "Throw a specific error for incomplete parse errors." | Eelco Dolstra | 3 | -11/+1 | |
This reverts commit 6498adb002bcf7e715afe46c23b8635d4592c156. We don't actually use IncompleteParseError in 'nix repl'. | |||||
2018-05-09 | In restricted eval mode, allow access to the closure of store paths | Eelco Dolstra | 1 | -1/+11 | |
E.g. this makes nix eval --restrict-eval -I /nix/store/foo '(builtins.readFile "/nix/store/foo/symlink/bla")' (where /nix/store/foo/symlink is a symlink to another path in the closure of /nix/store/foo) succeed. This fixes a regression in Hydra compared to Nix 1.x (where there were no restrictions at all on access to the Nix store). | |||||
2018-05-02 | Fix some random -Wconversion warnings | Eelco Dolstra | 7 | -57/+60 | |
2018-04-23 | Merge branch 'pos-crash-fix' of git://github.com/dezgeg/nix | Shea Levy | 1 | -1/+1 | |
2018-04-17 | isFunction: True on primops. | Shea Levy | 1 | -1/+12 | |
Fixes #2073 | |||||
2018-04-09 | Export required C++ version in pkgconfig. | Shea Levy | 1 | -1/+1 | |
2018-04-09 | Make prim_exec and prim_importNative available to plugins | Shea Levy | 2 | -2/+10 | |
2018-04-03 | libexpr: Make unsafeGetAttrPos not crash on noPos | Tuomas Tynkkynen | 1 | -1/+1 | |
Currently e.g. `builtins.unsafeGetAttrPos "abort" builtins` will eventually segfault because pos->file is an unset Symbol. Found by afl-fuzz. | |||||
2018-03-19 | Shut up signedness warning | Eelco Dolstra | 2 | -2/+2 | |
2018-03-16 | Merge pull request #1939 from dezgeg/lexer-fix | Eelco Dolstra | 1 | -4/+5 | |
libexpr: Recognize newline in more places in lexer | |||||
2018-03-14 | Catch more possible instances of passing NULL to memcpy. | Shea Levy | 1 | -4/+8 | |
Actually fixes #1976. | |||||
2018-03-14 | concatLists: Don't pass NULL pointers to memcpy. | Shea Levy | 1 | -1/+2 | |
This is UB, even if the size is 0. See #1976. Fixes #1976. | |||||
2018-03-14 | Fix compatibility with latest boost::format | Eelco Dolstra | 2 | -23/+23 | |
2018-03-13 | fetchGit: Fix debug message | Guillaume Maudoux | 1 | -1/+1 | |
2018-03-09 | Modified MakeBinOp to no longer produce its name using concatenation and "##". | Tim Engler | 1 | -11/+11 | |
Doing so prevents emacs tags from working, as well as makes the code extremely confusing for a newbie. In the prior state, if someone wants to find the definition of "ExprApp" for example, a grep through the code reveals nothing. Since the definition could be hiding in numerous ".h" files, it's really difficult to find. This personally took me several hours to figure out. | |||||
2018-03-02 | libexpr: Recognize newline in more places in lexer | Tuomas Tynkkynen | 1 | -4/+5 | |
Flex's regexes have an annoying feature: the dot matches everything except a newline. This causes problems for expressions like: "${0}\ " where the backslash-newline combination matches this rule instead of the intended one mentioned in the comment: <STRING>\$|\\|\$\\ { /* This can only occur when we reach EOF, otherwise the above (...|\$[^\{\"\\]|\\.|\$\\.)+ would have triggered. This is technically invalid, but we leave the problem to the parser who fails with exact location. */ return STR; } However, the parser actually accepts the resulting token sequence ('"' DOLLAR_CURLY 0 '}' STR '"'), which is a problem because the lexer rule didn't assign anything to yylval. Ultimately this leads to a crash when dereferencing a NULL pointer in ExprConcatStrings::bindVars(). The fix does change the syntax of the language in some corner cases but I think it's only turning previously invalid (or crashing) syntax to valid syntax. E.g. "a\ b" and ''a''\ b'' were previously syntax errors but now both result in "a\nb". Found by afl-fuzz. | |||||
2018-02-28 | fetchGit: use "HEAD" as default ref | Will Dietz | 1 | -1/+1 | |