[Bug c++/102593] [10/11/12 Regression] ICE in cp_oacc_check_attachments, at cp/semantics.c:6561 since r10-5596-g519d7496beac32c2

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Apr 5 19:43:44 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102593

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-valid-code           |ice-on-invalid-code
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |jason at gcc dot gnu.org

--- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> ---
I'm not entirely clear on the restrictions on the var-list argument, but "t.a"
can't be valid: "t" is a type, not an expression. 
cp_parser_omp_var_list_no_open mysteriously goes out of its way to accept it
anyway:

          if (identifier_p (name))
            decl = cp_parser_lookup_name_simple (parser, name,
token->location);

this lookup will return any kind of decl.  I don't know what this code is
trying to allow, but the effect is to build a nonsense COMPONENT_REF which
understandably confuses later code.


More information about the Gcc-bugs mailing list