Changeset 509ec82 for src/ResolvExpr/Unify.cpp
- Timestamp:
- Dec 1, 2024, 9:04:12 PM (10 months ago)
- Branches:
- master
- Children:
- eae8b37
- Parents:
- 3e2e9b2 (diff), 1c0a3a4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Unify.cpp
r3e2e9b2 r509ec82 292 292 if ( !array2 ) return; 293 293 294 if ( array->isVarLen != array2->isVarLen ) return; 295 if ( (array->dimension != nullptr) != (array2->dimension != nullptr) ) return; 296 297 if ( array->dimension ) { 294 // Permit cases where one side has a dimension or isVarLen, 295 // while the other side is the opposite. 296 // Acheves a wildcard-iterpretation semantics, where lack of 297 // dimension (`float a[]` or `float a[25][*]`) means 298 // "anything here is fine." 299 // Sole known case where a verbatim-match semantics is intended 300 // is typedef redefinition, for which extra checking is added 301 // in src/Validate/ReplaceTypedef.cpp. 302 303 if ( array->dimension && array2->dimension ) { 298 304 assert( array2->dimension ); 299 305 // type unification calls expression unification (mutual recursion)
Note:
See TracChangeset
for help on using the changeset viewer.