https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61593
--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Eric Gallager from comment #5) > It should be pretty easy; in config/darwin.h #pragma mark is registered as > part of the DARWIN_REGISTER_TARGET_PRAGMAS() macro like this: > > if (!flag_preprocess_only) \ > cpp_register_pragma (parse_in, NULL, "mark", \ > darwin_pragma_ignore, false); > > ...and then darwin_pragma_ignore() is a simple no-op declared in > config/darwin-protos.h and defined in config/darwin-c.c. So I guess it'd > just have to be re-titled and moved somewhere generic? I looked into doing this as a follow-up to my PR 85487 patch. However, the definition of c_register_pragma in gcc/c-family/c-pragma.cc says: /* Front-end wrappers for pragma registration to avoid dragging cpplib.h in almost everywhere. */ So I don't think we want to include cpplib.h in that file, which means that it can't make the same call to cpp_register_pragma. I don't know the reason for treating that pragma differently from the others (this appears to be the only use of cpp_register_pragma in the whole of GCC!), so I don't want to change it. That means I won't be tackling this one myself. Maybe it could just use c_register_pragmas, or maybe including cpplib.h in c-pragma.cc is OK. If somebody else wants to, my patch for PR 85487 (which I'm going to re-propose soon) adds a target-independent handle_pragma_ignore that could be used for this, once the issue above is cleared up.