summaryrefslogtreecommitdiffstats
path: root/tools/slang-cpp-parser
diff options
context:
space:
mode:
authorCopilot <198982749+Copilot@users.noreply.github.com>2025-08-18 09:29:23 -0700
committerGitHub <noreply@github.com>2025-08-18 09:29:23 -0700
commitcc93e2c3523f558ee85281f7fe98e220f058f5ed (patch)
tree838c492fd72a55facce156c038896e5022216fdb /tools/slang-cpp-parser
parent1a4ccba64a140bd404cbd22a9ae0a8e9e5f425d8 (diff)
Fix constructor overload ambiguity with scalar and vector parameters (#8109)
Close #8090. When we do type coerce, we use a cache to store the conversion cost of different type. The key of the cache is defined by struct BasicTypeKey { uint32_t baseType : 8; uint32_t dim1 : 4; uint32_t dim2 : 4; ... } where dim1 and dim2 is used for dimension of vector and matrix. However the dim is only 4 bits, so `vector<int, 16>` will have the same key as `int`, which is wrong. Fix the issue by extending it to 8 bit. Also to make the hash key still within 32 bits, we adjust baseType to 5 bits, and knownConstantBitCount to 6 bits. --------- Co-authored-by: kaizhangNV <kazhang@nvidia.com>
Diffstat (limited to 'tools/slang-cpp-parser')
0 files changed, 0 insertions, 0 deletions