mirror of
https://github.com/github/codeql.git
synced 2025-12-18 01:33:15 +01:00
This checks in the trapgen script generating trap entries in C++. The codegen suite has been slightly reorganized, moving the templates directory up one level and chopping everything into smaller bazel packages. Running tests is now done via ``` bazel run //swift/codegen/test ``` With respect to the PoC, the nested `codeql::trap` namespace has been dropped in favour of a `Trap` prefix (or suffix in case of entries) within the `codeql` namespace. Also, generated C++ code is not checked in in git any more, and generated during build. Finally, labels get printed in hex in the trap file. `TrapLabel` is for the moment only default-constructible, so only one single label is possible. `TrapArena`, that is responsible for creating disjoint labels will come in a later commit.
17 lines
376 B
Python
17 lines
376 B
Python
genrule(
|
|
name = "gen",
|
|
srcs = ["//swift:dbscheme"],
|
|
outs = [
|
|
"TrapEntries.h",
|
|
"TrapTags.h",
|
|
],
|
|
cmd = "$(location //swift/codegen:trapgen) --dbscheme $< --trap-output $(RULEDIR)",
|
|
exec_tools = ["//swift/codegen:trapgen"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "trap",
|
|
hdrs = glob(["*.h"]) + [":gen"],
|
|
visibility = ["//visibility:public"],
|
|
)
|