diff options
| author | Yong He <yonghe@outlook.com> | 2023-06-01 13:53:31 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-01 13:53:31 -0700 |
| commit | 16cd361dd67471bcc355d1b3b72b0b022518088f (patch) | |
| tree | fa3a7d5b77ccf09f9340b78e66610ba8b751c855 /source/slang/slang-ast-support-types.h | |
| parent | a7ed48b2e6da9bf952aa11ec0d57acf9688bbb0e (diff) | |
Be lenient on same-size unsigend->signed conversion. (#2913)
* Be lenient on same-size unsigend->signed conversion.
* Fix tests.
* Use 250.
* wip
* Fix.
* Fix tests.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ast-support-types.h')
| -rw-r--r-- | source/slang/slang-ast-support-types.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/slang/slang-ast-support-types.h b/source/slang/slang-ast-support-types.h index 3ab9d1a01..7e65dd02e 100644 --- a/source/slang/slang-ast-support-types.h +++ b/source/slang/slang-ast-support-types.h @@ -80,6 +80,10 @@ namespace Slang // from one on `Foo` kConversionCost_GetRef = 5, kConversionCost_ImplicitDereference = 10, + kConversionCost_InRangeIntLitConversion = 23, + kConversionCost_InRangeIntLitSignedToUnsignedConversion = 32, + kConversionCost_InRangeIntLitUnsignedToSignedConversion = 81, + // Conversions based on explicit sub-typing relationships are the cheapest // @@ -97,6 +101,9 @@ namespace Slang // Conversions that are lossless, but change "kind" kConversionCost_UnsignedToSignedPromotion = 200, + // Same-size size unsigned->signed conversions are potentially lossy, but they are commonly allowed silently. + kConversionCost_SameSizeUnsignedToSignedConversion = 250, + // Conversion from signed->unsigned integer of same or greater size kConversionCost_SignedToUnsignedConversion = 300, |
