summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* fixes #5405Araq2017-02-164-10/+37
|
* fixes #5399Araq2017-02-161-1/+1
|
* resolved conflictAraq2017-02-169-59/+101
|\
| * fixes #5402Araq2017-02-162-4/+31
| |
| * fixes #5383Araq2017-02-1611-17/+60
| |
| * compiler debug proc: also output node flagsAraq2017-02-161-0/+1
| |
| * koch: don't build downloader tool, it is not readyaraq2017-02-151-2/+3
| |
| * fixes #5392araq2017-02-151-1/+4
| |
| * Fix appveyor.yml shows green, when failed. (#5396)Eugene Kabanov2017-02-151-4/+1
| |
| * Fix rst parse problem in version 0.16.2 news.Dominik Picheta2017-02-141-2/+2
| |
| * Update bountysource sponsors.Dominik Picheta2017-02-143-46/+60
| |
* | make tests green againAraq2017-02-161-1/+3
| |
* | -5/+22
|
* finish.nim: user has multiple chances to move .7z file to proper locationAraq2017-02-111-0/+3
|
* sysio: check for IO errors for write operationsAraq2017-02-111-6/+8
|
* Merge pull request #5367 from emabrey/readme-updateDominik Picheta2017-02-101-112/+141
|\ | | | | Readme update
| * Make additional minor changes to readme.mdEmily Mabrey2017-02-091-24/+26
| | | | | | | | | | | | | | Move the community section closer to the top of the readme. Make the reference to the copying.txt file in the license section actually link to that file. Adjust the nimble section to be more clear about how and where to acquire the nimble source.
| * Cleanup and reorganize readme.mdEmily Mabrey2017-02-091-110/+137
| | | | | | | | | | | | | | | | | | Fix typos and grammatical errors while rearranging and cleaning up the readme. Change all links to use the reference style Markdown link for increased maintainability. Make all badges use a consistent flat style that matches the art style of the logo. Replace HTML snippet for logo with valid Markdown link by utilizing the freely available Google API for image resizing.
* | Removed $ from echo calls (#5368)Yuriy Glukhov2017-02-101-11/+11
| |
* | Fixed heapqueue.del for last elem (#5363)Yuriy Glukhov2017-02-101-10/+31
|/
* sysio: minor improvementsAraq2017-02-091-4/+5
|
* fixes #5339Andreas Rumpf2017-02-092-7/+102
|
* fixes #5185Andreas Rumpf2017-02-081-0/+1
|
* make tests green againAndreas Rumpf2017-02-082-1/+5
|
* make tests green againAndreas Rumpf2017-02-082-4/+5
|
* system/unicode: check for buffer overflows; refs #5284Araq2017-02-082-43/+78
|
* system.nim: don't use deprecated symbols/constructsAraq2017-02-088-32/+33
|
* fixes #5349Araq2017-02-083-24/+76
|
* updated newsAraq2017-02-081-0/+20
|
* fixes #5352Araq2017-02-081-1/+3
|
* finish.nim: final round of improvementsAraq2017-02-081-8/+51
|
* macros are now checked to not produce cyclic ASTsAndreas Rumpf2017-02-082-2/+13
|
* log process startsAndreas Rumpf2017-02-081-0/+2
|
* Mark setupForeignThreadGc and initGC as gcsafe (#5353)Anatoly Galiulin2017-02-082-2/+2
|
* fix in using the linenoise function (#5351)Arne Döring2017-02-081-1/+2
|
* Merge pull request #5348 from c-blake/develAndreas Rumpf2017-02-081-7/+24
|\ | | | | Update Stat to work with modern Unix impls
| * Use old approach for Mac OSX which, as of 2016, does not yet support POSIXCharles Blake2017-02-071-12/+18
| | | | | | | | high-resolution file times.
| * Move Timespec up, use in Stat for st_?tim and define accessors for the secondsCharles Blake2017-02-071-7/+18
| | | | | | | | portion of the Timespec.
an> long int i = 0; i < SIZE(rr.steps); ++i) { const instruction& inst = rr.steps.at(i); if (inst.operation != REPLY) continue; if (SIZE(rr.products) != SIZE(inst.ingredients)) { raise_error << maybe(rr.name) << "tried to reply the wrong number of products in '" << inst.to_string() << "'\n" << end(); } for (long long int i = 0; i < SIZE(rr.products); ++i) { if (!types_match(rr.products.at(i), inst.ingredients.at(i))) { raise_error << maybe(rr.name) << "replied with the wrong type at '" << inst.to_string() << "'\n" << end(); } } } } //: Deduce types from the header if possible. :(scenarios run) :(scenario deduce_instruction_types_from_recipe_header) recipe main [ 1:number/raw <- add2 3, 5 ] recipe add2 x:number, y:number -> z:number [ local-scope load-ingredients z <- add x, y # no type for z reply z ] +mem: storing 8 in location 1 :(before "Transform.push_back(transform_names)") Transform.push_back(deduce_types_from_header); :(code) void deduce_types_from_header(const recipe_ordinal r) { recipe& rr = Recipe[r]; if (rr.products.empty()) return; trace(9991, "transform") << "--- deducing types from header for " << rr.name << end(); map<string, const type_tree*> header; for (long long int i = 0; i < SIZE(rr.ingredients); ++i) { header[rr.ingredients.at(i).name] = rr.ingredients.at(i).type; } for (long long int i = 0; i < SIZE(rr.products); ++i) { header[rr.products.at(i).name] = rr.products.at(i).type; } for (long long int i = 0; i < SIZE(rr.steps); ++i) { instruction& inst = rr.steps.at(i); trace(9993, "transform") << inst.to_string() << '\n'; for (long long int i = 0; i < SIZE(inst.ingredients); ++i) { if (inst.ingredients.at(i).type) continue; inst.ingredients.at(i).type = new type_tree(*header[inst.ingredients.at(i).name]); } for (long long int i = 0; i < SIZE(inst.products); ++i) { if (inst.products.at(i).type) continue; inst.products.at(i).type = new type_tree(*header[inst.products.at(i).name]); trace(9993, "transform") << "type of " << inst.products.at(i).name << " is " << dump_types(inst.products.at(i)) << '\n'; } } } //: One final convenience: no need to say what to return if the information is //: in the header. :(scenario reply_based_on_header) recipe main [ 1:number/raw <- add2 3, 5 ] recipe add2 x:number, y:number -> z:number [ local-scope load-ingredients z <- add x, y reply ] +mem: storing 8 in location 1 :(before "End Rewrite Instruction(curr, recipe result)") if (curr.name == "reply" && curr.ingredients.empty()) { for (long long int i = 0; i < SIZE(result.products); ++i) { curr.ingredients.push_back(result.products.at(i)); } } :(scenario reply_on_fallthrough_based_on_header) recipe main [ 1:number/raw <- add2 3, 5 ] recipe add2 x:number, y:number -> z:number [ local-scope load-ingredients z <- add x, y ] +mem: storing 8 in location 1 :(after "int main") Transform.push_back(deduce_fallthrough_reply); :(code) void deduce_fallthrough_reply(const recipe_ordinal r) { recipe& rr = Recipe[r]; if (rr.products.empty()) return; if (rr.steps.empty()) return; if (rr.steps.at(SIZE(rr.steps)-1).operation != REPLY) { instruction inst; inst.operation = REPLY; inst.name = "reply"; for (long long int i = 0; i < SIZE(rr.products); ++i) { inst.ingredients.push_back(rr.products.at(i)); } rr.steps.push_back(inst); } }