- 09 May, 2022 34 commits
-
-
Michiel Verloop authored
-
Michiel Verloop authored
• CTInote still uses two spaces as a header when not given a location. • CTInote uses headers like CTIwarn/error/abort when given a location. • All CTInoteLine callers now call CTInote and use NODE_LOCATION instead of NODE_LINE. • LINE_TO_LOC now has brackets around the argument. • Remove unused functions in CTinfo.c
-
Michiel Verloop authored
-
Michiel Verloop authored
• Remove message_line_length, set_message_length(), CTIgetErrorMessageLength() and CTIgetWarnMessageLength() from ctinfo.
-
Michiel Verloop authored
• All CTIwarnLine callers have LINE_TO_LOC applied to their first argument. • CTIwarnLoc will be converted to make use of CTIwarn in the next commit.
-
Michiel Verloop authored
• All CTIwarn callers have EMPTY_LOC inserted as their first argument. • CTIwarnLine/Loc will be converted to make use of CTIwarn in the coming two commits.
-
Michiel Verloop authored
• All CTIabortLine callers have LINE_TO_LOC applied to their first argument. • Callers with NODE_LINE have been changed to use NODE_LOCATION. • CTIabortLoc will be converted to make use of CTIabort in the next commit.
-
Michiel Verloop authored
• All CTIabort callers have EMPTY_LOC inserted as their first argument. • CTIabortLine/Loc will be converted to make use of CTIabort in the coming two commits.
-
Michiel Verloop authored
• CTIabort-Line/Loc will be converted to make use of CTIabort in the next commits.
-
Michiel Verloop authored
• All CTIerrorLine callers have LINE_TO_LOC applied to their first argument. • CTIerrorLoc will be converted to make use of CTIerror in the next commit.
-
Michiel Verloop authored
• All CTIerror callers have EMPTY_LOC inserted as their first argument. • CTIerrorLine/Loc will be converted to make use of CTIerror in the coming two commits.
-
Hans-Nikolai Viessmann authored
-
Michiel Verloop authored
• Fix double free errors in CTIcreateMessage-Line/Loc
-
Michiel Verloop authored
-
Michiel Verloop authored
• CTIerrorBasic will end up replacing CTIerror and its sibling variants. They are kept for now to keep the code running.
-
Michiel Verloop authored
This reverts commit 08699a1d.
-
Michiel Verloop authored
-
Michiel Verloop authored
• CTIerrorContinued remains broken for cti-single-line. • cti-message-length should fully work now but there are no automated tests for it yet.
-
Michiel Verloop authored
-
Michiel Verloop authored
• Change usage descriptions. • Fix CTIgetErrorMessageVA. • Break CTIerrorContinued - uses indents instead of cti-multi-line-format.
-
Michiel Verloop authored
-
Michiel Verloop authored
• Change default arguments for cti-header-format and cti-multiline-format in globals.mac • Add consistency warning for when -cti-single-line is enabled and -cti-message-line-length != 0 • Fix failing to parse format strings in errors • Fix incorrect documentation in str.c • Break CTIgetErrorMessageVA - the format now differs from the rest.
-
Michiel Verloop authored
This reverts commit f863830c.
-
Michiel Verloop authored
-
Sven-Bodo Scholz authored
-
Michiel Verloop authored
In the old system, warning messages were obtained in the format of `warning: <first line of warning_message>`. In the new system, warning messages are displayed on lines that follow lines containing nothing but "Warning:". The first grep setup grabs the warnings and the line after each warning. The first lines containing "Warning:" are then removed by the second grep. The third grep now greps on the first line of the warning message prefixed by two spaces, which should be close enough to the original behaviour.
-
Michiel Verloop authored
-
Michiel Verloop authored
-
Michiel Verloop authored
-
Michiel Verloop authored
-
Michiel Verloop authored
-
Michiel Verloop authored
-
Michiel Verloop authored
-
Michiel Verloop authored
• Add documentation to functions in str_buffer. • Add SBUFsubstToken to substitute tokens in the string buffer. • Fix the string buffer overflowing when instantiated with a size of 0. • Fix SBUFflush not setting a null byte, causing functions like SBUF2str to use the previous contents instead of an empty string. • Fix format string encoding errors silently leading to a memory overflow instead of crashing with a useful message. ○ Change CTIerrorInternal to not use PrintMessage to avoid a scenario where errors could potentially occur during error handling. • Some debug messages about buffer size now display before attempting to increase it, making debugging easier.
-
- 06 May, 2022 2 commits
-
-
Hans-Nikolai Viessmann authored
Refactor str_buffer, add tests for it. See merge request !191
-
-
- 29 Mar, 2022 2 commits
-
-
Hans-Nikolai Viessmann authored
[emrl] filter out used ERCs from pool See merge request !190
-
Hans-Nikolai Viessmann authored
Ahhh, for whatever reason the case that there might be several identically shaped ERCs needed for a loop was not correctly handled here. This led to the **same** candidate being used for all (of the same shape) WLs in a loop function, aaaaahahhhh. With this commit we filter out the candidate from the pool of possible candidates.
-
- 27 Mar, 2022 1 commit
-
-
Hans-Nikolai Viessmann authored
filter out invalid function ERCs See merge request !189
-
- 24 Mar, 2022 1 commit
-
-
Hans-Nikolai Viessmann authored
Through LivermoreLoop issue https://github.com/SacBase/LivermoreLoops/issues/5, it was discovered that EMRL can cause a race condition. Specifically, by design EMRL must find a suitable matching avis to use as part of a buffer-swap otherwise it **will not** cause a memory lift. In specific situations, the chosen candidate is not suitable as it has later references. For example: ``` a = alloc() emr_lift = alloc () x = loop (a, emr_lift) print (x) free (x) print (a) free (a) ``` here `a` is referenced both by the loop and a call to `print`. The return value `x` can in this situation be an alias to either `a` **or** `emr_lift` depending on the return criteria of the loop. In the first case the second free errors out as `a`, via `x`, has already been freed. The latter case does not display this problem. This commit extends FRC (filter reuse candidates) to additionally check function ERCs, thereby resolving the above example, e.g. `emr_lift` would never materialise as `a` is r...
-