summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ci: fix bogus vs2019 cross-amd64 job nameHEADmainTim-Philipp Müller2023-05-061-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/97>
* orcarm: Fix generation of SBFM/UBFM alias instructionsSebastian Dröge2023-04-241-8/+4
| | | | | | | | See alias tables in ARMv8-A Architecture Reference Manual. CID 1522409 Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/95>
* ci: add native arm64 jobsTim-Philipp Müller2023-04-241-8/+39
| | | | | | | | | | - can run tests on native arm64 machine - rename other arm64 jobs to cross-arm64 for clarity - fix artifacts for debian jobs - use slim images for debian jobs - add debian bullseye/bookworm variants Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/96>
* Fix OrcVector item getter pointer type confusionSebastian Dröge2023-04-131-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* Use compat _strndup() instead of strdup() in the parserSebastian Dröge2023-04-121-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* Fix memory leak when parsing a line with an errorSebastian Dröge2023-04-121-4/+4
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* Make sure beforehand that enough tokens are available for opcode parsingSebastian Dröge2023-04-121-0/+9
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* Fix error string allocation in legacy error outputSebastian Dröge2023-04-121-4/+4
| | | | | | And change it to the same format as used by orcc now. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* Fix various parser errors to not include a newline and not include an ↵Sebastian Dröge2023-04-121-24/+15
| | | | | | additional line number Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* Simplify opcode handling by adding an early returnSebastian Dröge2023-04-121-36/+39
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* orcc: add a parse-only modeFrancesco Romani2023-04-121-2/+19
| | | | | | useful while writing orc programs to have faster feedback. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* orcc: send messages to stderr in generated codeFrancesco Romani2023-04-121-7/+7
| | | | | | | In general, error/warnings should be sent to stderr to not pollute the output, so do that also for generated output. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* orcc: send messages to stderrFrancesco Romani2023-04-121-37/+37
| | | | | | | | Send both usage instructions and errors to stderr, since the actual output may be sent to stdout. Avoids output pollution. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* orcc: switch to orc_parse_codeFrancesco Romani2023-04-121-14/+19
| | | | | | | orc_parse_code has much better error report than orc_parse_full, so orcc should make use of it. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: remove legacy generic directive handlingFrancesco Romani2023-04-121-23/+2
| | | | | | It is now empty and unneeded legacy Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .doubleparamFrancesco Romani2023-04-121-1/+3
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .floatparamFrancesco Romani2023-04-121-9/+4
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .longparamFrancesco Romani2023-04-121-11/+4
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .paramFrancesco Romani2023-04-121-9/+4
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .tempFrancesco Romani2023-04-121-9/+21
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .constFrancesco Romani2023-04-121-9/+23
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .accumulatorFrancesco Romani2023-04-121-13/+24
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .destFrancesco Romani2023-04-121-28/+38
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .sourceFrancesco Romani2023-04-121-28/+40
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .mFrancesco Romani2023-04-121-9/+20
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .nFrancesco Romani2023-04-121-35/+44
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .flagsFrancesco Romani2023-04-121-8/+15
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .initFrancesco Romani2023-04-121-9/+19
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract function to handle .functionFrancesco Romani2023-04-121-22/+43
| | | | | Co-authored-by: Sebastian Dröge <sebastian@centricular.com> Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: make directive handling extensibleFrancesco Romani2023-04-121-1/+33
| | | | | | Reformat the code for easier future extensions. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract a function to handle directivesFrancesco Romani2023-04-121-201/+208
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract a function to handle opcodesFrancesco Romani2023-04-121-70/+66
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: add is_directive helperFrancesco Romani2023-04-121-1/+8
| | | | | | To improve encapsulation Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: rewrite line tokenization codeFrancesco Romani2023-04-121-24/+76
| | | | | | | Make the tokenization a separate function, leveraging the OrcLine struct. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: introduce line handling utility: OrcLineFrancesco Romani2023-04-121-15/+61
| | | | | | to extract and simplify the line handling logic. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: simplify the line handlingFrancesco Romani2023-04-121-21/+44
| | | | | | Make the code more regular and do a little cleanup. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: switch to orc_program_append_str_nFrancesco Romani2023-04-122-4/+10
| | | | | | For better error reporting. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: add has_data helperFrancesco Romani2023-04-121-1/+8
| | | | | | to check if a parser has still data to process Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: extract initialization functionFrancesco Romani2023-04-121-8/+17
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: reformat orc_parse_sanity_checkFrancesco Romani2023-04-121-12/+18
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: reorder and rename for consistencyFrancesco Romani2023-04-121-10/+10
| | | | | | | | minor internal cleanup * put public APIs on top. * rename internally for consistency. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: new API with better error reportingFrancesco Romani2023-04-122-95/+183
| | | | | | | | | Add orc_parse_code with more detailed error reporting * more detailed error reporting, both machine and human friendlier. * collect errors only if asked to. * preserve backward compatibility with orc_parse_full. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: move init_function in the parserFrancesco Romani2023-04-121-6/+7
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* parser: cleanup: use OrcVector to store programsFrancesco Romani2023-04-121-15/+9
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* utils: add utility dynamic arrayFrancesco Romani2023-04-122-0/+51
| | | | | | | | | | | | | | | Add utility code to handle a dynamic array. Supported operations: * append an item * grow the array * get an item * get the length of the array * check if the array has any data on it. There are clear use cases for this utility in the OrcParser, but may be useful elsewhere as well. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* program: add orc_program_append_str_nFrancesco Romani2023-04-122-39/+98
| | | | | | | | | | | | Add a new API which generalizes orc_program_append_str_2 which * supports any number of operands for the given opcode * reports the status of the operation most notably, in case of unknown operand, the new API signals the wrong operand. Co-authored-by: Sebastian Dröge <sebastian@centricular.com> Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
* orcrules-neon: Fix 64-bit loadupdb of size 16Sebastian Dröge2023-04-101-1/+1
| | | | | | | | | It would otherwise be unhandled and result in an error although the code for it exists. CID 1523164 Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/94>
* orcprogram-neon: Fix usage of negative array index on errorsSebastian Dröge2023-04-101-4/+12
| | | | | | | CID 1522422 CID 1522354 Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/94>
* orcparse: Check for correct number of function header directive argumentsSebastian Dröge2023-04-071-65/+132
| | | | | | This was otherwise accessing random pointers. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/94>
* orcarm: Fix undefined behaviourSebastian Dröge2023-04-071-1/+1
| | | | | | | | | | | Left-shift of a negative signed integer is undefined behaviour. The value becomes negative because bitwise-not on a positive, signed integer results in a negative signed integer. To solve this use unsigned integers. The code assumes that the sign bit is not treated differently from any other bits. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/94>