-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve handling of non-standard Boolean types
GCC has non-standard Boolean types, such as signed-boolean:8, that have more than one bit. The handling in the generated IR was somewhat inconsistent -- some usage kept the full size, while some treated them as 1-bit values extended on demand. This worked well enough, but there were cases where we could fail to detect incorrect usage, such as a signed Boolean having a value other than 0 or -1, or an unsigned Boolean having a value other than 0 or 1. This patch changes the implementation to always use the full width, with checks that ensures that values are valid for the type.
- Loading branch information
Showing
1 changed file
with
31 additions
and
63 deletions.
There are no files selected for viewing
This file contains 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