[all-commits] [llvm/llvm-project] 4d4781: [SystemZ][z/OS] exclude nasty_macros.h from check-cxx

zibi2 via All-commits all-commits at lists.llvm.org
Fri Mar 26 08:09:02 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4d478121f3bfd16129d8fd9de0e05ab9316329a6
      https://github.com/llvm/llvm-project/commit/4d478121f3bfd16129d8fd9de0e05ab9316329a6
  Author: Zbigniew Sarbinowski <zibi at ca.ibm.com>
  Date:   2021-03-26 (Fri, 26 Mar 2021)

  Changed paths:
    M libcxx/utils/libcxx/test/config.py
    M libcxx/utils/libcxx/test/target_info.py

  Log Message:
  -----------
  [SystemZ][z/OS] exclude nasty_macros.h from check-cxx

Need to exclude nasty_macros.h from check-cxx on z/OS due to conflicts within system headers.

Sample failure in `random_shuffle.depr_in_cxx14.verify.cpp` libcxx test.
```
error: 'error' diagnostics seen but not expected:
Line 1268: expected ')'
Line 1268: unknown type name 'This'
Line 1268: expected ')'
```

caused by the following  macros in `nasty_macros.h`
```
#define NASTY_MACRO This should not be expanded!!!
#define _E NASTY_MACRO
```
The name collision is observed in the following code snippet whre `_E` is being used as parameter name:
```
inline int iswalnum(wint_t _E) {return __iswalnum(_E);}
```

It is reasonable to exclude `nasty_macros.h` on z/OS similarly as it was done on Windows.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D99378




More information about the All-commits mailing list