Commit Graph

2939 Commits

Author SHA1 Message Date
Alessandro Di Federico f1ab2f7544 Introduce getConfigDirectory 2026-04-23 13:40:43 +02:00
Alessandro Di Federico 0385e4c652 Introduce revng::Configuration 2026-04-23 13:40:43 +02:00
Alessandro Di Federico 5417f8d880 model-schema.yml: move Type fields at the end
It's preferable to have one-line fields at the beginning in the YAML
representation.
2026-04-23 13:40:43 +02:00
Alessandro Di Federico 5b43a23060 BinaryIdentifier: s/.Name/.CanonicalPath/g 2026-04-23 13:40:42 +02:00
Alessandro Di Federico 7b3a80155e Model: introduce OperatingSystem and PlatformName
These are going to be used to select the correct root.
2026-04-23 13:40:42 +02:00
Alessandro Di Federico e928664380 Introduce ImportLogger
`ImportLogger` is a simple support class to report on how many elements
have been imported in the model between the start and the end of its
lifetime.
2026-04-23 13:40:42 +02:00
Alessandro Di Federico 675884b5c9 Introduce sqlite::Database 2026-04-23 13:40:42 +02:00
Alessandro Di Federico 80657806da Introduce findPathCaseInsensitive 2026-04-23 13:40:42 +02:00
Alessandro Di Federico 63851e2f57 Introduce IndexedVector 2026-04-23 13:40:42 +02:00
Alessandro Di Federico 6e5462b3c9 replaceAll: return true if changes are made 2026-04-23 13:40:42 +02:00
Alessandro Di Federico ee9c77b719 appendTo: move to STLExtras.h 2026-04-23 13:40:42 +02:00
Alessandro Di Federico 456595551a YAMLTraits: improve error reporting
Adopt the proper mechanism for reporting errors, which include line and
column number.
2026-04-23 13:40:42 +02:00
Alessandro Di Federico 15816c7559 TupleTree.h: drop DisableTracking
Not needed, no tracking takes place on a non-`const` object.
2026-04-23 13:40:42 +02:00
Alessandro Di Federico 53c4c047d0 AArch64: adopt relocations with addend
This commit fixes a serious bug with AArch64 preventing us from detect
calls to dynamic functions.
2026-04-23 13:40:41 +02:00
Alessandro Di Federico fd16a6afc6 TupleTreeDiff: s/detail::/revng::detail::/g 2026-04-23 13:40:41 +02:00
Alessandro Di Federico 7049f61baa Minor changes 2026-04-23 13:40:41 +02:00
Ivan Krysak 71845dcbbb CliftEmitC: stop using mlir::clift namespace 2026-04-22 08:19:47 +00:00
Ivan Krysak 31b2609ca3 verifyCSemantics: add a TODO 2026-04-22 08:19:35 +00:00
Ivan Krysak 2a401ceb3f DoxygenEmitter: prevent indentation highlighting 2026-04-22 08:19:35 +00:00
Ivan Krysak 5f511d8e17 verify-against-model: split into two
The resulting pipes are:
1. binary-granularity one with the name unchanged
2. function-granularity one called `verify-function-against-model`.
2026-04-22 08:19:30 +00:00
Ivan Krysak e693cdbd53 model-verify-clift -> verify-against-model 2026-04-22 08:19:30 +00:00
Ivan Krysak 3de5b009e7 Clift: introduce simple passes for header tests 2026-04-22 08:19:29 +00:00
Ivan Krysak c5130ce689 Clift: factor common ptml pass options out 2026-04-22 08:19:28 +00:00
Ivan Krysak 458cb1f3fe CAttributeListBuilder: expose append method 2026-04-22 08:19:27 +00:00
Ivan Krysak 74fa16dd13 Introduce helper header emitter 2026-04-22 08:19:25 +00:00
Ivan Krysak 7ab3d590e0 Introduce type and global header emitter 2026-04-22 08:18:52 +00:00
Ivan Krysak 280d66a441 CTokenEmitter: wrap everything into a <div> 2026-04-22 06:33:56 +00:00
Ivan Krysak c704aac1c5 CEmitter: add emitCategoryComment helper 2026-04-22 06:33:56 +00:00
Ivan Krysak 3bd8879948 CEmitter: Introduce doxygen emission helpers 2026-04-22 06:33:56 +00:00
Ivan Krysak 8c3cbcca23 DoxygenEmitter: add internal indentation support 2026-04-22 06:33:56 +00:00
Ivan Krysak 8e456cbca9 CDoxygenEmitter: add one-shot comment helpers 2026-04-22 06:33:56 +00:00
Ivan Krysak 30e8f4e53e CDoxygenEmitter: introduce in-place factories 2026-04-22 06:33:56 +00:00
Ivan Krysak 141bddb241 CDoxygenEmitter: pull factories in as methods 2026-04-22 06:33:56 +00:00
Ivan Krysak 995a94877d CDoxygenEmitter: factor configuration out 2026-04-22 06:33:56 +00:00
Ivan Krysak d3e22a2b05 CTokenEmitter: add #pragma once helper 2026-04-22 06:33:56 +00:00
Ivan Krysak 6d76908858 Introduce TypeDefinitionEmitter 2026-04-22 06:33:38 +00:00
Ivan Krysak d327cd3be5 emitCAttributes: introduce an array overload 2026-04-22 06:14:52 +00:00
Ivan Krysak 539a8370c6 CAttributeListBuilder: allow chaining the methods
This lets callees do stuff like:
```cpp
CAttributeListBuilder{Context}
  .setOrUpdate<"_MY_ATTRIBUTE_1">()
  .setOrUpdate<"_MY_ATTRIBUTE_2">()
  .setOrUpdate<"_MY_ATTRIBUTE_3">()
  .get()
```
2026-04-22 06:14:52 +00:00
Ivan Krysak 0189089930 Introduce TypeEmitterConfiguration 2026-04-22 06:14:52 +00:00
Ivan Krysak f69a0345b7 CTokenEmitter: introduce Commentable region 2026-04-22 06:14:52 +00:00
Ivan Krysak ac3df7460d Introduce clift::ClassType::getCAttributes 2026-04-22 06:14:52 +00:00
Ivan Krysak f1739e1a0f IndentingEmitter: drop emitNewline 2026-04-22 06:14:50 +00:00
Ivan Krysak f3df0e20b9 Minor improvements 2026-04-21 07:54:50 +00:00
Andrea Gussoni 4e3af009fe Expressions: fold x[0] into *x
Implement a DDR rewriting for folding the `x[0]` into `*x`, in order
to avoid a useless verbose syntax. Due to concatenation of rewrites, we
will get `&(x[0])` transformed into `x`, which is the rewriting we are
aiming to.
2026-04-14 09:52:07 +02:00
Andrea Gussoni e0a9f4f484 EmitFieldAccesses: ignore qualifiers on Types 2026-04-14 09:24:48 +02:00
Pietro Fezzardi 715a2e54b0 IndentingEmitter: initialize IndentationString 2026-04-13 11:39:55 +02:00
Pietro Fezzardi e399f381ea CommonTypeMethods: add getters for function types 2026-04-10 15:27:24 +02:00
Lauri Vasama d813581ae4 Add DoxygenEmitter documentation 2026-04-09 18:37:46 +03:00
Lauri Vasama c18164c25d Simplify IndentingEmitter; make configurable 2026-04-09 18:37:46 +03:00
Lauri Vasama 79a4fbc808 Fix DoxygenEmitter line prefix emission 2026-04-09 18:37:46 +03:00