abseil / abseil/abseil-cpp

[Bug]: Error (out) for old MacOS

未关闭
#1,513 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
priority: p3
主要语言
C++
星标
18.1k
派生
3.2k
平均合并
20 小时 36 分钟
30 天内合并 PR
1

描述

### Describe the issue

Abseil already [points](https://github.com/abseil/abseil-cpp#support) to google's "foundational C++ support policy" explicitly, but it still [carries](https://github.com/abseil/abseil-cpp/blob/20230802.0/absl/base/config.h#L525) code for old macos versions.

However, it seems this is not being tested anymore, as I found out when running against an older MacOS SDK:
```
In file included from $PREFIX/include/absl/synchronization/mutex.h:74:
$PREFIX/include/absl/synchronization/internal/kernel_timeout.h:94:45: error: unknown type name 'clockid_t'; did you mean 'clock_t'?
struct timespec MakeClockAbsoluteTimespec(clockid_t c) const;
^
/Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/sys/_types/_clock_t.h:30:33: note: 'clock_t' declared here
typedef __darwin_clock_t clock_t;
```

It would be good to error out already in CMake based on what is being tested as the lower bound in CI

### Steps to reproduce the problem

Compile a project that includes `include/absl/synchronization/mutex.h` on an old MacOS

### What version of Abseil are you using?

20230802.0

### What operating system and version are you using?

MacOS

### What compiler and version are you using?

clang 15

### What build system are you using?

cmake

### Additional context

I'm not asking to support old MacOS, just error out more clearly if it's an unsupported version.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。