Commit Graph

7009 Commits

Author SHA1 Message Date
Ivan Krysak 3bec80c9ba PTML: introduce c.macro token type 2026-02-27 18:28:12 +00:00
Pietro Fezzardi 5415f81204 CTokenEmitter: set actions for the macro location 2026-02-27 18:28:12 +00:00
Ivan Krysak c1f05e4d24 Ranks: introduce the macro location 2026-02-27 18:28:12 +00:00
Pietro Fezzardi d9816bc69b Merge branch 'feature/prepare-clift-based-headers' 2026-02-25 14:22:15 +01:00
Ivan Krysak de4c816147 CTokenEmitter: improve an error message 2026-02-25 14:10:44 +01:00
Ivan Krysak 3a699abdcf Clift: fix helper misuse 2026-02-25 14:10:44 +01:00
Ivan Krysak d521651b1e ImportModelNamesPipe: set helper names too 2026-02-25 14:10:44 +01:00
Ivan Krysak 1a91707a2b GenericGraph: introduce empty() method 2026-02-25 14:10:44 +01:00
Ivan Krysak 1c56e34350 NameBuilder: introduce isAutomaticName 2026-02-25 14:10:44 +01:00
Ivan Krysak 95650e593d primitive-types.h: include stdbool.h 2026-02-25 14:10:44 +01:00
Ivan Krysak 1c3d11096d primitive-types.h: define NULL if absent 2026-02-25 14:10:44 +01:00
Ivan Krysak ad822abc53 Fix static IR helper object names 2026-02-25 14:10:44 +01:00
Ivan Krysak 14c2b4e5da Fix unset allowed actions local identifiers 2026-02-25 14:10:44 +01:00
Ivan Krysak 8a6706e7ac Doxygen: leave a TODO 2026-02-25 14:10:44 +01:00
Ivan Krysak bdc1dfcc8d CTokenEmitter: set actions explicitly 2026-02-25 14:10:44 +01:00
Ivan Krysak 7501ef998b NameBuilder: unconditionally ban some prefixes 2026-02-25 12:47:27 +01:00
Ivan Krysak 1541d4b402 CEmitter: allow argumentless function declarations 2026-02-25 12:47:27 +01:00
Ivan Krysak 532f81edd3 Old Headers: fix a broken comment 2026-02-25 12:47:27 +01:00
Ivan Krysak 4514620e9f CEmitter: introduce chooseEntityKind helper 2026-02-25 12:47:27 +01:00
Ivan Krysak 83304a14df Annotations: introduce a way to assert the name 2026-02-25 12:47:27 +01:00
Ivan Krysak 91ed5e33a8 PTML: make enum scope named for consistency sake 2026-02-25 12:47:27 +01:00
Ivan Krysak 5bcccf57d3 CEmitter: rename C field into Tokens 2026-02-25 12:47:27 +01:00
Ivan Krysak f73bbf7a08 Annotation: expose raw access
This allows the existing annotation registry to be reused in a more
convenient nature. Before now, it was only used for *parsing* or,
rather, *verifying* annotations. Now that we can take advantage of
it for emission as well, there's more control it needs to provide
in particular as far as annotation arguments are concerned.
2026-02-25 12:47:27 +01:00
Ivan Krysak 0b2853f624 Extract emitFunctionPrototype helper 2026-02-25 12:47:27 +01:00
Ivan Krysak 69d006382b Fix revng build with coroutines disabled 2026-02-25 12:47:27 +01:00
Ivan Krysak f0e00d66ab Do not use doxygen for TODOs 2026-02-25 12:47:27 +01:00
Ivan Krysak 22fe32afa2 Minor improvements 2026-02-25 12:47:27 +01:00
Ivan Krysak b5f98fcae9 check-conventions: ban anonymous header namespaces 2026-02-25 12:47:27 +01:00
Ivan Krysak a1f2853a04 check-conventions: reallow namespace x = a::b 2026-02-25 12:47:15 +01:00
Alessandro Di Federico cd09b0688b Merge branch 'feature/pypeline-tracing-2' 2026-02-17 11:06:16 +01:00
Giacomo Vercesi 5ed18e65b7 docs: drop use of orc shell 2026-02-16 14:01:04 +01:00
Giacomo Vercesi 728ee2bb96 Add end-to-end test for --debug 2026-02-16 12:17:56 +01:00
Giacomo Vercesi cdfe858840 clift NameImporter: handle empty FunctionOps
Handle the case where a clift `FunctionOp` is present but has no body in
`NameImporter`.
2026-02-16 12:17:56 +01:00
Lauri Vasama 43c0c8435b Fix Clift UnionAttr mutation 2026-02-16 10:34:39 +01:00
Giacomo Vercesi e14d1cee6f Add native runner tests 2026-02-16 10:34:39 +01:00
Giacomo Vercesi df4f8b76ac pypeline: re-organize tests
Split the tests into two subdirectories: those that work in pure python
and those that use the C++ bindings.
2026-02-16 10:34:39 +01:00
Giacomo Vercesi f1878f1194 pypeline: drop TraceRunner
Drop the `pypeline-trace-run` executable, as its purposed has been
superseded by the combination of `--debug` and native pipe/analysis
runners.
2026-02-16 10:34:39 +01:00
Giacomo Vercesi a94c6a2636 pipebox: use native runners
When running in debug mode, use the native runners where possible.
2026-02-16 10:34:38 +01:00
Giacomo Vercesi 25ba3115c4 pypeline: implement native run-{pipe,analysis}
Implement C++-only command-line executables that allow running a single
pipe/analysis without the involvement of python.
2026-02-16 10:34:38 +01:00
Giacomo Vercesi 6b40322a3c revng2: implement wrappers
Implement wrappers in the `revng2` CLI, this allows running command with
e.g. `--gdb` to allow debugging.
2026-02-16 10:34:38 +01:00
Giacomo Vercesi 27f419c8cd Fix and ban namespace clobbering
Fix an instance where the `std` namespace got clobbered into the global
namespace by accident.
2026-02-16 10:34:38 +01:00
Giacomo Vercesi f9ac4db8ba Remove use of PIE compiler options
The position-indipendence of the code is set by the build environment.
2026-02-16 10:34:38 +01:00
Alessandro Di Federico dc74fc4c25 Merge branch 'feature/clift-variables-and-comments' 2026-02-13 16:46:24 +01:00
Lauri Vasama d37d32e4b2 Add Clift function type to-do 2026-02-13 08:41:39 +02:00
Lauri Vasama b8348f17b2 Overhaul Clifter structure
Split function specific state into a separate FunctionClifter class with
limited lifetime.
2026-02-13 08:41:39 +02:00
Lauri Vasama 07fbf344c2 Implement Clift PTML instruction tag emission 2026-02-13 08:41:39 +02:00
Lauri Vasama 57c49e4302 Implement Clift statement comment import 2026-02-13 08:41:39 +02:00
Lauri Vasama db8fd8de39 Avoid sanitizing identifiers in Clift name import 2026-02-13 08:41:39 +02:00
Lauri Vasama 46e8b64bb9 Implement Clift backend statement comment emission 2026-02-13 08:41:39 +02:00
Lauri Vasama 60e1684127 Generalize CommentPlacementHelper 2026-02-13 08:41:39 +02:00