[Bug c++/88203] assert does not compile with OpenMP's pragma omp parallel for default(none)

amonakov at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 26 16:25:00 GMT 2018


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

Alexander Monakov <amonakov at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |openmp
                 CC|                            |amonakov at gcc dot gnu.org

--- Comment #1 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
It's tricky to use macro-expanded expressions in scope of default(none), you
never know what the expansion is going to reference. This is not limited to the
assert macro (or to its use of __PRETTY_FUNCTION__).

In general I'm afraid use of default(none) needs introducing wrappers for
anything that can be macro-expanded in an unknown way, and relying on inlining
to optimize it back. Unfortunately though, for assert that implies almost
reimplementing it to get file:line info as in original code.

I'm not sure there's a compiler bug here. Just a painful side of default(none).


More information about the Gcc-bugs mailing list