From b5078d12127f4ab348b8d6d4c4e8139ba7bfb47f Mon Sep 17 00:00:00 2001 From: Ronan Date: Wed, 17 Sep 2025 14:46:27 +0200 Subject: Added __magic_enum (#8436) Fixes #8406 (and #8410). `AddressSpace`, `MemoryScope` and `AccessQualifier` are no longer `BaseType`. I added a new `__magic_enum` (very similar to `__magic_type`) syntax to be able to easily create values or these enums from the compiler. (I don't know if it was the right way to do it, but it works and the changes are small enough?). I had a weird bug: `tests/language-feature/capability/address-of.slang` was failing in `IRBuilder::_findOrEmitConstant(IRConstant& keyInst)`. When needing a new `u64(0)`, it did not find it in the `ConstantMap` first, but then failed to add it right after because it already existed in the map! But this was triggered by `IRPtrType* IRBuilder::getPtrType(IROp op, IRType* valueType, AccessQualifier accessQualifier, AddressSpace addressSpace)`, which is a strange coincidence... but I could not find the issue in what I did. I ended up bumping unordered_dense, and it solved the issue (so there was a bug in there). --- external/unordered_dense | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'external') diff --git a/external/unordered_dense b/external/unordered_dense index fd80dad62..73f3cbb23 160000 --- a/external/unordered_dense +++ b/external/unordered_dense @@ -1 +1 @@ -Subproject commit fd80dad6285286db5be6d2588cc7ddb624db7e5a +Subproject commit 73f3cbb237e84d483afafc743f1f14ec53e12314 -- cgit v1.2.3