I stumbled over this trivial omission which blocks some testcases. I am not sure whether I have solved the is-same-expr most elegantly, but I did loosely follow the duplicated-entry check for 'map'. As that's a restriction to the user, we don't have to catch all and I hope the code catches the most important violations, doesn't ICE and does not reject valid code. At least for all real-world code it should™ work, but I guess for lvalue expressions involving function calls it probably doesn't. Thoughts, comments? Tobias PS: GCC accepts an lvalue expression in C/C++ and only a identifier for a scalar variable in Fortran, i.e. neither array elements nor structure components. Which variant is right depends whether one reads OpenMP 5.1 (lvalue expr, scalar variable) or 5.2 (variable without permitting array sections or structure components) - whereas TR12 has the same but talks about locator list items in one restriction. For the OpenMP mess, see spec issue #3739. ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955