mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
In https://github.com/apple/swift/pull/66560 , a bug in the lowering of `global_addr` was fixed. Part of that fix was to postpone mapping the type of the global into context until getting the address of the global and projecting the buffer for the out-of-line value; at that point, the type is mapped into context and the address is cast. It introduced an issue for fixed-size globals, however: the type of such globals was not mapped into context; the result was that the lowered value set for the corresponding SIL value would have the wrong type. Fix that by extracting the code which mapped the type into context and cast the address to the appropriate lowered type into a lambda and call that lambda both in both the fixed-size (newly) and non-fixed-size (as before) cases. rdar://114013709