On 29/01/2020 12:30, Thomas Schwinge wrote: > As can be seen in the code a few lines below, the very same problem also > exists for the 'wait' clause; it seems reasonable to fix both at the same > time. This is not a recent regression, but a user-visible valid-code ICE > that has existed "forever"; I filed "ICE in > type-cast 'async', 'wait' clauses" for tracking. This problem is similar > to the OpenMP 'device' clause "ICE in > verify_gimple_in_cfg, at tree-cfg.c:5212"; I suggest we also use > 'force_gimple_operand_gsi' instead of manually doing your suggested > 'create_tmp_var', 'gimple_build_assign', 'gsi_insert_before'. Include a > test case that covers all relevant code paths; I've attached a test case > to the PR, but I've not verified whether "that covers *all* relevant code > paths". This should then be backported to all GCC release branches; I > can easily test the backports for you, if you're not already set up to do > such testing. How's this? Andrew