-
Notifications
You must be signed in to change notification settings - Fork 1.9k
C++: More builtins and information regarding this param refs #21164
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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_thisto 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.
b0bb99f to
131ff95
Compare
131ff95 to
1dacd83
Compare
See internal PR for details.