about summary refs log tree commit diff stats
path: root/apps/tests
Commit message (Expand)AuthorAgeFilesLines
...
* 5782 - fix a widespread bug with Heap-sizeKartik Agaram2019-11-301-0/+0
* 5778Kartik Agaram2019-11-291-0/+0
* 5769 - support uppercase hex in SubXKartik Agaram2019-11-281-0/+0
* 5765Kartik Agaram2019-11-261-0/+0
* 5752Kartik Agaram2019-11-181-0/+0
* 5714Kartik Agaram2019-10-251-0/+0
* 5687Kartik Agaram2019-09-231-0/+0
* 5676Kartik Agaram2019-09-191-0/+0
* 5675 - move helpers from subx-common into layersKartik Agaram2019-09-191-0/+0
* 5673 - standardize a few knobsKartik Agaram2019-09-191-0/+0
* 5672 - move hex out of appsKartik Agaram2019-09-191-0/+0
* 5669Kartik Agaram2019-09-191-0/+0
* 5668 - start reorg to permit syntax sugar in layersKartik Agaram2019-09-191-0/+0
* 5647 - experimental support for swapping OSKartik Agaram2019-09-111-0/+0
* 5630Kartik Agaram2019-09-061-0/+0
* 5623Kartik Agaram2019-09-041-0/+0
* 5616Kartik Agaram2019-09-041-0/+0
* 5608 - write int to streamKartik Agaram2019-09-021-0/+0
* 5600Kartik Agaram2019-08-311-0/+0
* 5591Kartik Agaram2019-08-261-0/+0
* 5586 - bugfix: no desugar inside string literalsKartik Agaram2019-08-251-0/+0
* build out all variants for skipping whitespaceKartik Agaram2019-08-241-0/+0
* done implementing all variants of 'get'Kartik Agaram2019-08-131-0/+0
* done with get-or-stopKartik Agaram2019-08-131-0/+0
* half-done testing get-or-stopKartik Agaram2019-08-131-0/+0
* standardize test input/output/error streamsKartik Agaram2019-08-131-0/+0
* .Kartik Agaram2019-08-131-0/+0
* .Kartik Agaram2019-08-131-0/+0
* new variant: maybe-get-sliceKartik Agaram2019-08-131-0/+0
* new variant: maybe-get returns null on failureKartik Agaram2019-08-121-0/+0
* better error message when get abortsKartik Agaram2019-08-121-0/+0
* 5485 - promote SubX to top-levelKartik Agaram2019-07-271-0/+0
n> SIZE(Real_hardware_types); ++i) delete Real_hardware_types.at(i); Real_hardware_types.clear(); } :(before "End Checks") Transform.push_back(check_for_misuse_of_real_hardware); :(code) void check_for_misuse_of_real_hardware(const recipe_ordinal r) { const recipe& caller = get(Recipe, r); if (caller.name == "main") return; if (starts_with(caller.name, "scenario_")) return; trace(9991, "transform") << "--- check if recipe " << caller.name << " has any dependency-injection mistakes" << end(); for (int index = 0; index < SIZE(caller.steps); ++index) { const instruction& inst = caller.steps.at(index); if (is_primitive(inst.operation)) continue; for (int i = 0; i < SIZE(inst.ingredients); ++i) { const reagent& ing = inst.ingredients.at(i); if (!is_literal(ing) || ing.name != "0") continue; const recipe& callee = get(Recipe, inst.operation); if (!callee.has_header) continue; if (i >= SIZE(callee.ingredients)) continue; const reagent& expected_ing = callee.ingredients.at(i); for (int j = 0; j < SIZE(Real_hardware_types); ++j) { if (*Real_hardware_types.at(j) == *expected_ing.type) raise << maybe(caller.name) << "'" << to_original_string(inst) << "': only 'main' can pass 0 into a " << to_string(expected_ing.type) << '\n' << end(); } } } } :(scenarios transform) :(scenario warn_on_using_real_screen_directly_in_non_main_recipe) % Hide_errors = true; def foo [ print 0, 34 ] +error: foo: 'print 0, 34': only 'main' can pass 0 into a (address screen)