mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
This change introduces a new synthesized `IRVariable` in every varargs function. This variable represents the entire set of arguments passed to the ellipsis by the caller. We give it an opaque type big enough hold all of the arguments passed by the largest vararg call in the database. It is treated just like any other parameter. It is initialized the same, it has indirect buffers, etc. I had to introduce a couple new APIs to `Call` and `Function`. The QLDoc comments should explain these. I added tests for these new APIs as well. The next step will be to change the IR generation for the `va_*` macros to manipulate the ellipsis parameter.
35 lines
1.7 KiB
Plaintext
35 lines
1.7 KiB
Plaintext
| args.cpp:8:5:8:12 | call to global_1 | 0 | 0 |
|
|
| args.cpp:9:5:9:12 | call to global_2 | 0 | 0 |
|
|
| args.cpp:9:5:9:12 | call to global_2 | 1 | 1 |
|
|
| args.cpp:10:5:10:19 | call to global_2_vararg | 0 | 0 |
|
|
| args.cpp:10:5:10:19 | call to global_2_vararg | 1 | 1 |
|
|
| args.cpp:11:5:11:19 | call to global_2_vararg | 0 | 0 |
|
|
| args.cpp:11:5:11:19 | call to global_2_vararg | 1 | 1 |
|
|
| args.cpp:11:5:11:19 | call to global_2_vararg | 2 | 2 |
|
|
| args.cpp:12:5:12:19 | call to global_2_vararg | 0 | 0 |
|
|
| args.cpp:12:5:12:19 | call to global_2_vararg | 1 | 1 |
|
|
| args.cpp:12:5:12:19 | call to global_2_vararg | 2 | 2 |
|
|
| args.cpp:12:5:12:19 | call to global_2_vararg | 3 | 2 |
|
|
| args.cpp:22:5:22:12 | call to expression | 0 | 0 |
|
|
| args.cpp:23:5:23:15 | call to expression | 0 | 0 |
|
|
| args.cpp:23:5:23:15 | call to expression | 1 | 1 |
|
|
| args.cpp:24:5:24:22 | call to expression | 0 | 0 |
|
|
| args.cpp:24:5:24:22 | call to expression | 1 | 1 |
|
|
| args.cpp:25:5:25:25 | call to expression | 0 | 0 |
|
|
| args.cpp:25:5:25:25 | call to expression | 1 | 1 |
|
|
| args.cpp:25:5:25:25 | call to expression | 2 | 2 |
|
|
| args.cpp:26:5:26:28 | call to expression | 0 | 0 |
|
|
| args.cpp:26:5:26:28 | call to expression | 1 | 1 |
|
|
| args.cpp:26:5:26:28 | call to expression | 2 | 2 |
|
|
| args.cpp:26:5:26:28 | call to expression | 3 | 2 |
|
|
| args.cpp:37:10:37:11 | call to S | 0 | 0 |
|
|
| args.cpp:38:19:38:23 | call to S | 0 | 0 |
|
|
| args.cpp:38:19:38:23 | call to S | 1 | 1 |
|
|
| args.cpp:39:19:39:26 | call to S | 0 | 0 |
|
|
| args.cpp:39:19:39:26 | call to S | 1 | 1 |
|
|
| args.cpp:39:19:39:26 | call to S | 2 | 2 |
|
|
| args.cpp:40:19:40:29 | call to S | 0 | 0 |
|
|
| args.cpp:40:19:40:29 | call to S | 1 | 1 |
|
|
| args.cpp:40:19:40:29 | call to S | 2 | 2 |
|
|
| args.cpp:40:19:40:29 | call to S | 3 | 2 |
|