Skip tests requiring "alignof (void)" when compiling using clang
authorGary Benson <gbenson@redhat.com>
Mon, 20 Jul 2020 14:01:04 +0000 (15:01 +0100)
committerGary Benson <gbenson@redhat.com>
Mon, 20 Jul 2020 14:01:04 +0000 (15:01 +0100)
commitc14b49135568f7fa17a9df19e85a454581617468
treeb79f0023808b02c3cd4e90925c6434fbd1255fc1
parent39326c35dd8f1a154cfe15ca640d73873f2df572
Skip tests requiring "alignof (void)" when compiling using clang

As an extension, GCC allows void pointer arithmetic, with sizeof(void)
and alignof(void) both 1.  GDB supports this extension, but clang does
not, and fails to compile the generated output of gdb.cp/align.exp
with the following error:

 gdb compile failed, /gdbtest/build/gdb/testsuite/outputs/gdb.cp/align/align.cc:28:23:
       error: invalid application of 'alignof' to an incomplete type 'void'
    unsigned a_void = alignof (void);
                      ^       ~~~~~~
 1 error generated.

This commit adds preprocessor conditionals to the generated output, to
omit the unsupported code when using clang, and supplies the expected
value so the test can complete.

gdb/testsuite/ChangeLog:

* gdb.cp/align.exp: Fix "alignof (void)" tests when compiling
with clang.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/align.exp