catchorg/Catch2

Refactor and centralize compiler detection

開放

#2,094 建立於 2020年11月3日

 (12 則留言) (0 個反應) (0 位負責人)C++ (3,228 個分叉)batch import
DevelopmentGood First IssueTweak request

倉庫指標

星標
 (20,381 顆星)
PR 合併指標
 (平均合併 1天 8小時) (30 天內合併 1 個 PR)

描述

Currently Catch2 detects compilers ad-hoc, at the place where the code needs to be compiler-specific. This brings a lot of trouble with more obscure compilers, because compilers like to masquerade for different compilers, such as Clang defining GCC-version macros, ICC defining both, IBM XL self-reporting as Clang, and so on. Because compiler-specific sections of code are often indeed compiler-specific, not detecting compilers properly can be a problem, e.g. Clang will complain that it found unknown pragma if we try to disable GCC-specific warning without checking that Clang is not used.

The solution is to perform more rigorous compiler detection, and centralize it, so that updates don't have to be done in multiple places.

貢獻者指南