Listing 4 "Generated" code for a statement with a conditionally-constructed temporary requiring destruction
const char *temp1; int destroy_temp2 = 0; if (e) goto L1; String temp2 = s + t; destroy_temp2 = 1; temp1 = temp2.str; goto L2; L1: temp1 = ""; L2: printf("%s\n", temp1); if (destroy_temp2) destroy temp2;