C++: Remove decimal floating point types#21110
Merged
jketema merged 6 commits intogithub:mainfrom Jan 14, 2026
Merged
Conversation
b17ca3c to
5923301
Compare
5923301 to
a161572
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request removes support for decimal floating point types (_Decimal32, _Decimal64, _Decimal128) from the C++ CodeQL library. These were gcc-specific types with incomplete support that are rarely used in C/C++ codebases.
Changes:
- Removed decimal type definitions from database schema and type system
- Added database upgrade/downgrade scripts to handle the schema change
- Updated test expected files to reflect the removal
- Removed test cases specifically testing decimal types
Reviewed changes
Copilot reviewed 19 out of 20 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| cpp/ql/lib/semmlecode.cpp.dbscheme | Commented out decimal type definitions (kinds 40-42) in builtin types |
| cpp/ql/lib/semmle/code/cpp/Type.qll | Removed Decimal32Type, Decimal64Type, and Decimal128Type classes and their mappings |
| cpp/ql/lib/upgrades/.../builtintypes.ql | Upgrade script to convert decimal types to error types |
| cpp/ql/lib/upgrades/.../upgrade.properties | Upgrade metadata marking compatibility as partial |
| cpp/ql/lib/upgrades/.../semmlecode.cpp.dbscheme | New schema with decimal types removed |
| cpp/ql/lib/upgrades/.../old.dbscheme | Old schema with decimal types included |
| cpp/downgrades/.../upgrade.properties | Downgrade metadata marking compatibility as full |
| cpp/downgrades/.../semmlecode.cpp.dbscheme | Downgrade schema restoring decimal types |
| cpp/ql/lib/change-notes/2026-01-02-decimal-removal.md | Change note documenting the removal |
| cpp/ql/test/library-tests/builtins/types/types.c | Removed test code for decimal types |
| cpp/ql/test/library-tests/builtins/types/types.ql | Removed entire test query file |
| cpp/ql/test/library-tests/builtins/types/types.expected | Cleared expected results |
| cpp/ql/test/library-tests/literals/literals/literals.c | Removed decimal literal suffix test cases |
| Multiple test .expected files | Updated to remove decimal type entries |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
jketema
commented
Jan 12, 2026
geoffw0
reviewed
Jan 13, 2026
Contributor
geoffw0
left a comment
There was a problem hiding this comment.
LGTM.
Have you tested the upgrade / downgrade process?
Contributor
Author
Yes. |
geoffw0
approved these changes
Jan 13, 2026
4c5e925 to
f4980be
Compare
Contributor
Author
|
Rebased to address internal merge conflict. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See internal PR for details.