https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110712
Bug ID: 110712 Summary: d: ICE: verify_gimple_failed (conversion of register to a different size in 'view_convert_expr') Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: d Assignee: ibuclaw at gdcproject dot org Reporter: ibuclaw at gdcproject dot org Target Milestone: --- Seen with gdc-12 with --enable-checking turned on, assume that it's going to still be the case with mainline. d21: error: conversion of register to a different size in ‘view_convert_expr’ VIEW_CONVERT_EXPR<struct [1]>(ap_3(D)); # .MEM_4 = VDEF <.MEM_1(D)> this_2(D)->ap = VIEW_CONVERT_EXPR<struct [1]>(ap_3(D)); during GIMPLE pass: ssa d21: internal compiler error: verify_gimple failed 0x11aad62 verify_gimple_in_cfg(function*, bool) ../../gcc/tree-cfg.cc:5561 0x1073dae execute_function_todo ../../gcc/passes.cc:2085 0x107431a execute_todo ../../gcc/passes.cc:2139 --- import gcc.builtins : va_list = __builtin_va_list; struct S { this(va_list ap) { this.ap = ap; } va_list ap; } --- Assigning a va_list parameter (static array saturated to a pointer on x86_64) to a field (static array on x86_64) fails miserably to pass tree checks.