Skip to content

Conversation

@jketema
Copy link
Contributor

@jketema jketema commented Jan 14, 2026

See internal PR for details.

@jketema jketema added the depends on internal PR This PR should only be merged in sync with an internal Semmle PR label Jan 14, 2026
@jketema jketema marked this pull request as ready for review January 14, 2026 10:26
@jketema jketema requested a review from a team as a code owner January 14, 2026 10:26
Copilot AI review requested due to automatic review settings January 14, 2026 10:26
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for new compiler builtin operations and enhances tracking of implicit object parameter accesses in C++.

Changes:

  • Added support for three new C++ builtin type trait operations: __is_bitwise_cloneable, __is_invocable, and __is_nothrow_invocable
  • Added database schema tracking for param_ref_to_this to identify when parameter references are to implicit object parameters
  • Updated compiler version requirements in test files to support the new builtins

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll Added QL classes for the three new builtin operations
cpp/ql/lib/semmle/code/cpp/exprs/Access.qll Added isThisAccess() predicate to ParamAccessForType
cpp/ql/lib/semmlecode.cpp.dbscheme Added new expression kinds (394-396) and param_ref_to_this table
cpp/ql/test/library-tests/builtins/type_traits/*.cpp Updated compiler versions and added test cases for new builtins
cpp/ql/test/library-tests/builtins/type_traits/expr.expected Updated expected test results
cpp/ql/lib/upgrades/*/upgrade.properties Database upgrade metadata
cpp/downgrades/*/exprs.ql Downgrade logic to handle new expression kinds

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C++ depends on internal PR This PR should only be merged in sync with an internal Semmle PR documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant