Skip to content

Commit 2eed38e

Browse files
committed
C++: Accept slight CFG regression in static init
Hopefully it does not make a difference in practice whether uninstantiated template functions are considered to have control flow through initializers of their static variables.
1 parent 8bed418 commit 2eed38e

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

cpp/ql/test/library-tests/depends_initializers/InitializerCFG.expected

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
| template_static_instantiated.cpp:23:28:23:34 | initializer for static_int_one | myTemplateFunction |
4141
| template_static_instantiated.cpp:23:28:23:34 | initializer for static_int_one | myTemplateFunction |
4242
| template_static_instantiated.cpp:24:24:24:24 | initializer for static_t_1 | |
43-
| template_static_instantiated.cpp:24:24:24:24 | initializer for static_t_1 | |
43+
| template_static_instantiated.cpp:24:24:24:24 | initializer for static_t_1 | myTemplateFunction |
4444
| template_static_instantiated.cpp:25:22:25:24 | initializer for static_t_c | myTemplateFunction |
4545
| template_static_instantiated.cpp:25:24:25:24 | initializer for static_t_c | |
4646
| template_static_instantiated.cpp:26:22:26:24 | initializer for static_t_v | myTemplateFunction |
@@ -72,7 +72,7 @@
7272
| template_static_instantiated.cpp:47:29:47:35 | initializer for static_int_one | myMethod |
7373
| template_static_instantiated.cpp:47:29:47:35 | initializer for static_int_one | myMethod |
7474
| template_static_instantiated.cpp:48:25:48:25 | initializer for static_t_1 | |
75-
| template_static_instantiated.cpp:48:25:48:25 | initializer for static_t_1 | |
75+
| template_static_instantiated.cpp:48:25:48:25 | initializer for static_t_1 | myMethod |
7676
| template_static_instantiated.cpp:49:23:49:25 | initializer for static_t_c | myMethod |
7777
| template_static_instantiated.cpp:49:25:49:25 | initializer for static_t_c | |
7878
| template_static_instantiated.cpp:50:23:50:25 | initializer for static_t_v | myMethod |

cpp/ql/test/library-tests/depends_initializers/template_static_instantiated.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ template<class T> void myTemplateFunction()
2121
static int static_int_c = c; // [initializer is not populated]
2222
static int static_int_v = v; // [initializer is not populated]
2323
static int static_int_one = one(); // [initializer is not populated]
24-
static T static_t_1 = 1; // [initializer is not populated]
24+
static T static_t_1 = 1; // [initializer is not populated] [BUG: CPP-450]
2525
static T static_t_c = c; // [initializer is not populated]
2626
static T static_t_v = v; // [initializer is not populated]
2727
static T static_t_one = one(); // [initializer is not populated]
@@ -45,7 +45,7 @@ template<class T> class myTemplateClass
4545
static int static_int_c = c; // [initializer is not populated]
4646
static int static_int_v = v; // [initializer is not populated]
4747
static int static_int_one = one(); // [initializer is not populated]
48-
static T static_t_1 = 1; // [initializer is not populated]
48+
static T static_t_1 = 1; // [initializer is not populated] [BUG: CPP-450]
4949
static T static_t_c = c; // [initializer is not populated]
5050
static T static_t_v = v; // [initializer is not populated]
5151
static T static_t_one = one(); // [initializer is not populated]

0 commit comments

Comments
 (0)