abseil / abseil/abseil-cpp

[Bug]: Error (out) for old MacOS

Open
#1,513 4 comments 0 reactions 0 assignees View on GitHub
priority: p3
Dominant language
C++
Stars
18.1k
Forks
3.2k
Avg merge
20h 36m
Merged PRs (30d)
1

Description

### 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.