I'm chasing a bug and I used Creduce to produce a reduced test case. However, that's really beside to point.
I this file: -------------------------------- typedef struct basket { } a; long b; a *basket; int d, c, e; a *flake[2]; void primal_bea_mpp(); void primal_net_simplex() { flake[1] = &basket[1]; primal_bea_mpp(d, d, d, b, flake, 0, e, c, c, d); } -------------------------------- Produces this GIMPLE: --------------------------------- ;; Function primal_net_simplex (primal_net_simplex, funcdef_no=3, decl_uid=4447, cgraph_uid=16, symbol_order=41) (executed once) primal_net_simplex () { <bb 2> [local count: 1073741824]: _1 = basket; static struct a * flake[2]; struct a *[2] flake[1] = _1; _2 = d; _3 = c; _4 = e; _5 = b; primal_bea_mpp (_2, _2, _2, _5, &flake, 0, _4, _3, _3, _2); return; } -------------------------------------- These standard calls were used to dump this: FOR_EACH_FUNCTION_WITH_GIMPLE_BODY ( node) { struct function *func = DECL_STRUCT_FUNCTION ( node->decl); dump_function_header ( file, func->decl, (dump_flags_t)0); dump_function_to_file ( func->decl, file, (dump_flags_t)0); } The GIMPLE above looks malformed to me. Is that the case or am I not grasping what's going on here? Note, I wouldn't be asking this question if this wasn't at the start of my pass and looking at stuff I hadn't modified. Thanks, Gary CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and contains information that is confidential and proprietary to Ampere Computing or its subsidiaries. It is to be used solely for the purpose of furthering the parties' business relationship. Any unauthorized review, copying, or distribution of this email (or any attachments thereto) is strictly prohibited. If you are not the intended recipient, please contact the sender immediately and permanently delete the original and any copies of this email and any attachments thereto.