Allow #pragma GCC in headers in conformtest

No "#pragma GCC" pragma allows macro-expansion of its arguments, so no
namespace issues arise from use of such pragmas in installed headers.
Ignore them in conformtest tests of header namespace.

Tested for x86_64, in conjunction with Paul's patch
<https://sourceware.org/pipermail/libc-alpha/2021-August/130571.html>
adding use of such pragmas to installed headers shared with gnulib.

(cherry picked from commit 6090a4a1b3)
This commit is contained in:
Joseph Myers 2021-08-27 17:47:46 +00:00 committed by Florian Weimer
parent 6e8044e910
commit 291d440206

View File

@ -631,6 +631,14 @@ class HeaderTests(object):
continue
if re.match(r'# [1-9]', line):
continue
if line.startswith('#pragma GCC '):
# No GCC pragma uses macro expansion, so no
# namespace issues arise from such pragmas. (Some
# pragmas not in the GCC namespace do macro-expand
# their arguments and so could be affected by
# macros defined by user code including the
# header.)
continue
match = re.match(r'#define (.*)', line)
if match:
self.check_token(bad_tokens, match.group(1))