https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682
--- Comment #4 from Benjamin Schulz <schulz.benjamin at googlemail dot com> --- Also the Openmp specification for mapper says: https://www.openmp.org/spec-html/5.2/openmpsu61.html A structure type T has a predefined default mapper that is defined as if by a declare mapper The question then is whether something like this: template <typename T> struct myvec { size_t len; T *data; }; Is called a structured type. I would say yes, because only then one can use mapper with templates,e.g. in a header for a library, where the template type T has not yet been specified (which is then done by the users of the library)...