diff options
| author | Yong He <yonghe@outlook.com> | 2022-09-05 00:38:45 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-05 00:38:45 -0700 |
| commit | ea0845285b0307d153a91d6f0a5010fc2d7219ed (patch) | |
| tree | bf2d8f7258b2681deddf3391c551c5ff2b1a7918 /source/slang/slang-ir-witness-table-wrapper.cpp | |
| parent | 2a869c105dcc23ede8f5e6e16b08261f45aa5aad (diff) | |
Multi parameter `__subscript` (#2392)
* Multi parameter `__subscript`
* Fix.
* Fix bugs.
* Fix.
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-witness-table-wrapper.cpp')
| -rw-r--r-- | source/slang/slang-ir-witness-table-wrapper.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/slang/slang-ir-witness-table-wrapper.cpp b/source/slang/slang-ir-witness-table-wrapper.cpp index 1d84eee19..81527b89f 100644 --- a/source/slang/slang-ir-witness-table-wrapper.cpp +++ b/source/slang/slang-ir-witness-table-wrapper.cpp @@ -186,8 +186,13 @@ namespace Slang // we can't consider this case a hard error. // auto concreteType = witnessTable->getConcreteType(); - if(!sharedContext->doesTypeFitInAnyValue(concreteType, interfaceType)) + IRIntegerValue typeSize, sizeLimit; + if (!sharedContext->doesTypeFitInAnyValue(concreteType, interfaceType, &typeSize, &sizeLimit)) + { + sharedContext->sink->diagnose(concreteType, Diagnostics::typeDoesNotFitAnyValueSize, concreteType); + sharedContext->sink->diagnose(concreteType, Diagnostics::typeAndLimit, concreteType, typeSize, sizeLimit); return; + } for (auto child : witnessTable->getChildren()) { |
