Skip to content

[Bug]: Error (out) for old MacOS #1513

@h-vetinari

Description

@h-vetinari

Describe the issue

Abseil already points to google's "foundational C++ support policy" explicitly, but it still carries 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: p3Desirable enhancement/fix; May not be in the next release.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions