Skip to content

Commit 2de0997

Browse files
committed
A2-13-3, A8-4-4: fix isExcluded
A5-0-4: accept library location in expected file
1 parent 9789cf4 commit 2de0997

File tree

3 files changed

+126
-8
lines changed

3 files changed

+126
-8
lines changed

cpp/autosar/src/rules/A2-13-3/TypeWcharTUsed.ql

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@ predicate isUsingWideCharType(ClassTemplateInstantiation c) {
2626

2727
from Variable v
2828
where
29-
v.getUnderlyingType() instanceof WideCharType and
30-
not v.isFromTemplateInstantiation(_)
31-
or
32-
exists(ClassTemplateInstantiation c |
33-
c = v.getType() and
34-
isUsingWideCharType(c)
35-
) and
36-
not isExcluded(v, BannedTypesPackage::typeWcharTUsedQuery())
29+
not isExcluded(v, BannedTypesPackage::typeWcharTUsedQuery()) and
30+
(
31+
v.getUnderlyingType() instanceof WideCharType and
32+
not v.isFromTemplateInstantiation(_)
33+
or
34+
exists(ClassTemplateInstantiation c |
35+
c = v.getType() and
36+
isUsingWideCharType(c)
37+
)
38+
)
3739
select v, "Use of wchar_t type."

cpp/autosar/src/rules/A8-4-4/FunctionReturnMultipleValueCondition.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ OutputValue getAnOutputValue(Function f) {
5050

5151
from Function f, int outputValues
5252
where
53+
not isExcluded(f, FunctionsPackage::functionReturnMultipleValueConditionQuery()) and
5354
not f.isCompilerGenerated() and
5455
not f.isAffectedByMacro() and
5556
not f.isFromUninstantiatedTemplate(_) and
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
edges
2+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1068:47:1068:49 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1073:43:1073:45 | __s |
3+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1068:47:1068:49 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1078:49:1078:51 | __s |
4+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1068:47:1068:49 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1082:33:1082:35 | __s |
5+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1068:47:1068:49 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1083:33:1083:35 | __s |
6+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1068:47:1068:49 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1084:33:1084:35 | __s |
7+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1093:48:1093:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1097:41:1097:43 | __s |
8+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1093:48:1093:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1098:41:1098:43 | __s |
9+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1093:48:1093:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1099:41:1099:43 | __s |
10+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1121:19:1121:21 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1125:60:1125:62 | __s |
11+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1121:19:1121:21 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1126:60:1126:62 | __s |
12+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1121:19:1121:21 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1127:60:1127:62 | __s |
13+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1136:35:1136:37 | __s |
14+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1138:44:1138:46 | __s |
15+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1141:30:1141:32 | __s |
16+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1143:30:1143:32 | __s |
17+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1146:29:1146:31 | __s |
18+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1146:59:1146:61 | __s |
19+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1147:30:1147:32 | __s |
20+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1150:30:1150:32 | __s |
21+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1152:30:1152:32 | __s |
22+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1168:33:1168:35 | __s |
23+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1170:34:1170:36 | __s |
24+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1173:32:1173:34 | __s |
25+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1178:33:1178:35 | __s |
26+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1179:33:1179:35 | __s |
27+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1180:33:1180:35 | __s |
28+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1181:47:1181:49 | __s |
29+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1182:45:1182:47 | __s |
30+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1183:58:1183:60 | __s |
31+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1184:58:1184:60 | __s |
32+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1190:62:1190:64 | __s |
33+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1191:57:1191:59 | __s |
34+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1193:42:1193:44 | __s |
35+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1195:41:1195:43 | __s |
36+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1196:41:1196:43 | __s |
37+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1197:65:1197:67 | __s |
38+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1168:33:1168:35 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1068:47:1068:49 | __s |
39+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1170:34:1170:36 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1093:48:1093:50 | __s |
40+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1173:32:1173:34 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s |
41+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1195:41:1195:43 | __s | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1121:19:1121:21 | __s |
42+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1262:48:1262:51 | & ... | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key |
43+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1262:48:1262:51 | & ... | file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key |
44+
| test.cpp:10:18:10:20 | foo | test.cpp:11:23:11:25 | foo |
45+
| test.cpp:10:18:10:20 | foo | test.cpp:11:50:11:52 | foo |
46+
| test.cpp:22:18:22:20 | foo | test.cpp:24:18:24:20 | foo |
47+
| test.cpp:35:11:35:17 | new | test.cpp:38:6:38:7 | l1 |
48+
| test.cpp:35:11:35:17 | new | test.cpp:39:6:39:7 | l1 |
49+
| test.cpp:37:11:37:13 | & ... | test.cpp:40:6:40:7 | l3 |
50+
| test.cpp:37:11:37:13 | & ... | test.cpp:41:6:41:7 | l3 |
51+
| test.cpp:38:6:38:7 | l1 | test.cpp:10:18:10:20 | foo |
52+
| test.cpp:39:6:39:7 | l1 | test.cpp:22:18:22:20 | foo |
53+
| test.cpp:40:6:40:7 | l3 | test.cpp:10:18:10:20 | foo |
54+
| test.cpp:41:6:41:7 | l3 | test.cpp:22:18:22:20 | foo |
55+
nodes
56+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1068:47:1068:49 | __s | semmle.label | __s |
57+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1073:43:1073:45 | __s | semmle.label | __s |
58+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1078:49:1078:51 | __s | semmle.label | __s |
59+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1082:33:1082:35 | __s | semmle.label | __s |
60+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1083:33:1083:35 | __s | semmle.label | __s |
61+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1084:33:1084:35 | __s | semmle.label | __s |
62+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1093:48:1093:50 | __s | semmle.label | __s |
63+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1097:41:1097:43 | __s | semmle.label | __s |
64+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1098:41:1098:43 | __s | semmle.label | __s |
65+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1099:41:1099:43 | __s | semmle.label | __s |
66+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1121:19:1121:21 | __s | semmle.label | __s |
67+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1125:60:1125:62 | __s | semmle.label | __s |
68+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1126:60:1126:62 | __s | semmle.label | __s |
69+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1127:60:1127:62 | __s | semmle.label | __s |
70+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1133:48:1133:50 | __s | semmle.label | __s |
71+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1136:35:1136:37 | __s | semmle.label | __s |
72+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1138:44:1138:46 | __s | semmle.label | __s |
73+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1141:30:1141:32 | __s | semmle.label | __s |
74+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1143:30:1143:32 | __s | semmle.label | __s |
75+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1146:29:1146:31 | __s | semmle.label | __s |
76+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1146:59:1146:61 | __s | semmle.label | __s |
77+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1147:30:1147:32 | __s | semmle.label | __s |
78+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1150:30:1150:32 | __s | semmle.label | __s |
79+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1152:30:1152:32 | __s | semmle.label | __s |
80+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1163:58:1163:62 | __key | semmle.label | __key |
81+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1168:33:1168:35 | __s | semmle.label | __s |
82+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1170:34:1170:36 | __s | semmle.label | __s |
83+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1173:32:1173:34 | __s | semmle.label | __s |
84+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1178:33:1178:35 | __s | semmle.label | __s |
85+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1179:33:1179:35 | __s | semmle.label | __s |
86+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1180:33:1180:35 | __s | semmle.label | __s |
87+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1181:47:1181:49 | __s | semmle.label | __s |
88+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1182:45:1182:47 | __s | semmle.label | __s |
89+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1183:58:1183:60 | __s | semmle.label | __s |
90+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1184:58:1184:60 | __s | semmle.label | __s |
91+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1190:62:1190:64 | __s | semmle.label | __s |
92+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1191:57:1191:59 | __s | semmle.label | __s |
93+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1193:42:1193:44 | __s | semmle.label | __s |
94+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1195:41:1195:43 | __s | semmle.label | __s |
95+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1196:41:1196:43 | __s | semmle.label | __s |
96+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1197:65:1197:67 | __s | semmle.label | __s |
97+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1262:48:1262:51 | & ... | semmle.label | & ... |
98+
| file:///opt/qcc/qnx-sdp/target/qnx7/usr/include/c++/v1/utility:1262:48:1262:51 | & ... | semmle.label | & ... |
99+
| test.cpp:10:18:10:20 | foo | semmle.label | foo |
100+
| test.cpp:11:23:11:25 | foo | semmle.label | foo |
101+
| test.cpp:11:50:11:52 | foo | semmle.label | foo |
102+
| test.cpp:22:18:22:20 | foo | semmle.label | foo |
103+
| test.cpp:24:18:24:20 | foo | semmle.label | foo |
104+
| test.cpp:35:11:35:17 | new | semmle.label | new |
105+
| test.cpp:37:11:37:13 | & ... | semmle.label | & ... |
106+
| test.cpp:38:6:38:7 | l1 | semmle.label | l1 |
107+
| test.cpp:39:6:39:7 | l1 | semmle.label | l1 |
108+
| test.cpp:40:6:40:7 | l3 | semmle.label | l3 |
109+
| test.cpp:41:6:41:7 | l3 | semmle.label | l3 |
110+
subpaths
111+
#select
112+
| test.cpp:11:23:11:33 | ... + ... | test.cpp:35:11:35:17 | new | test.cpp:11:23:11:25 | foo | Pointer arithmetic with pointer to non-final class $@. | test.cpp:4:8:4:8 | S | S |
113+
| test.cpp:11:23:11:33 | ... + ... | test.cpp:37:11:37:13 | & ... | test.cpp:11:23:11:25 | foo | Pointer arithmetic with pointer to non-final class $@. | test.cpp:4:8:4:8 | S | S |
114+
| test.cpp:24:18:24:23 | access to array | test.cpp:35:11:35:17 | new | test.cpp:24:18:24:20 | foo | Pointer arithmetic with pointer to non-final class $@. | test.cpp:4:8:4:8 | S | S |
115+
| test.cpp:24:18:24:23 | access to array | test.cpp:37:11:37:13 | & ... | test.cpp:24:18:24:20 | foo | Pointer arithmetic with pointer to non-final class $@. | test.cpp:4:8:4:8 | S | S |

0 commit comments

Comments
 (0)