Skip to content

Commit 384b245

Browse files
committed
C++: Exclude name-header mappings for specializations
1 parent bbd56e0 commit 384b245

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

cpp/common/src/ext/stdcpp14.generated.names.model.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,6 @@ extensions:
200200
- [C++14, complex, std, value_type]
201201
- [C++14, complex, std, complex]
202202
- [C++14, chrono, std, type]
203-
- [C++14, chrono, std, common_type]
204203
- [C++14, chrono, 'std::__parse_int', type]
205204
- [C++14, chrono, 'std::chrono', clock]
206205
- [C++14, chrono, 'std::chrono', period]
@@ -244,9 +243,7 @@ extensions:
244243
- [C++14, tuple, std, type]
245244
- [C++14, tuple, std, tuple]
246245
- [C++14, tuple, std, is_constructible]
247-
- [C++14, tuple, std, uses_allocator]
248246
- [C++14, tuple, std, tuple_element]
249-
- [C++14, tuple, std, tuple_size]
250247
- [C++14, condition_variable, std, steady_clock]
251248
- [C++14, condition_variable, std, system_clock]
252249
- [C++14, condition_variable, std, native_handle_type]
@@ -290,7 +287,6 @@ extensions:
290287
- [C++14, future, std, launch]
291288
- [C++14, future, std, future_errc]
292289
- [C++14, future, std, future_status]
293-
- [C++14, future, std, uses_allocator]
294290
- [C++14, list, std, value_type]
295291
- [C++14, list, std, const_iterator]
296292
- [C++14, list, std, const_reference]
@@ -336,7 +332,6 @@ extensions:
336332
- [C++14, vector, std, reverse_iterator]
337333
- [C++14, vector, std, const_pointer]
338334
- [C++14, vector, std, allocator_type]
339-
- [C++14, vector, std, hash]
340335
- [C++14, vector, std, const_reverse_iterator]
341336
- [C++14, vector, std, vector]
342337
- [C++14, queue, std, value_type]
@@ -347,14 +342,12 @@ extensions:
347342
- [C++14, queue, std, value_compare]
348343
- [C++14, queue, std, priority_queue]
349344
- [C++14, queue, std, queue]
350-
- [C++14, queue, std, uses_allocator]
351345
- [C++14, stack, std, value_type]
352346
- [C++14, stack, std, const_reference]
353347
- [C++14, stack, std, reference]
354348
- [C++14, stack, std, size_type]
355349
- [C++14, stack, std, container_type]
356350
- [C++14, stack, std, stack]
357-
- [C++14, stack, std, uses_allocator]
358351
- [C++14, strstream, std, int_type]
359352
- [C++14, strstream, std, off_type]
360353
- [C++14, strstream, std, char_type]
@@ -870,7 +863,6 @@ extensions:
870863
- [C++14, memory, std, propagate_on_container_move_assignment]
871864
- [C++14, memory, std, propagate_on_container_copy_assignment]
872865
- [C++14, memory, std, other]
873-
- [C++14, memory, std, hash]
874866
- [C++14, memory, std, allocator_arg_t]
875867
- [C++14, memory, std, unique_ptr]
876868
- [C++14, memory, std, default_delete]

scripts/generate_standard_library_models/cpp/queries/libraryTypeModel.ql

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,13 @@ where
1010
declInVisibleStdNamespace(t) and
1111
// Do not report types from template instantiations - instead report the uninstantiated template
1212
not t.isFromTemplateInstantiation(_) and
13-
// Ignore full tempalte specializations (partial specializations are fine)
14-
not t instanceof FullClassTemplateSpecialization and
13+
// Exclude all template specializations, except those where (due to an extractor bug?) the
14+
// primary template is missing
15+
(
16+
t instanceof ClassTemplateSpecialization
17+
implies
18+
not exists(t.(ClassTemplateSpecialization).getPrimaryTemplate())
19+
) and
1520
// Remove unnamed types, because they do not have a reserved name
1621
not t.isAnonymous()
1722
select getStandard(), getAClosestStandardLibraryHeader(t.getFile()).getBaseName(),

0 commit comments

Comments
 (0)