915_arr_module_index_run.c -> r915_arr_mod_idx0 (run), r915_arr_mod_ idx2 (run-exit 1), r915_arr_mod_idx4 (run-exit 6); the single-file rows were already owned by r915_arr_local_* + test-data-byteid. 949_xmod_fnptr_const_run.c -> r949_xmod_fnptr_const_table (run), r949_xmod_fnptr_wrong_sig, r949_xmod_fnptr_nonfn_dotted (error 'not assignable' both stages). The 915 module rows upgrade from 994-delegated to per-fixture cs==ww byte identity; 949's 2-file -I tree was not load-bearing — inline packages exercise the same N_DOT &mod.fn mangle (mafn(leaf, module)).
11 lines
410 B
Plaintext
11 lines
410 B
Plaintext
//ww:run-exit 1
|
|
// migrated from test/wcc/915_arr_module_index_run.c: nontrivial index — the pre-fix MOVQ-not-LEAQ segfault repro; 0x0801 mod 256 = 1.
|
|
package wcmodarr;
|
|
export let probe_table: [8]u16 = [0u16, 0x0800u16, 0x0801u16, 0x0803u16, 0x1006u16, 0x1009u16, 0x100Du16, 0x1812u16];
|
|
package main;
|
|
import wcmodarr;
|
|
export fn main() i32 = {
|
|
let v: u32 = (wcmodarr.probe_table[2]: u32);
|
|
return v: i32;
|
|
};
|