Skip to content

Conversation

@maskit
Copy link
Member

@maskit maskit commented Jan 27, 2026

Adding -Wno-cast-function-type-mismatch isn't great, but I don't think we should make changes that this check may find, on 9.2.x.

@maskit maskit self-assigned this Jan 27, 2026
@maskit maskit requested a review from bryancall as a code owner January 27, 2026 22:06
@maskit maskit added the Build work related to build configuration or environment label Jan 27, 2026
#include "tscore/ink_config.h"

#ifdef HAVE_SYS_ENDIAN_H
#if !defined(darwin)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Old versions of macOS didn't have be64toh and the other functions, but now those are defined on endian.h, and those cause errors due to duplication.

I could add a check for the availability of those functions, but this small change is enough. We don't have this issue on newer codebase.


AC_MSG_CHECKING([for C compiler version])
# Capture the output of the compiler version command
ac_cv_c_compiler_version=`${CC} --version 2>&1 | grep "Apple clang version" | head -n 1 | awk '{print $4}' | cut -d'.' -f1`
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is hacky and only works for Apple Clang 17, but I don't think we will need to maintain it for a long time.

@ezelkow1 ezelkow1 added this to the 9.2.12 milestone Jan 29, 2026
Copy link
Contributor

@bryancall bryancall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: LGTM - Tested on macOS 26.2 with Apple clang 17.0.0

Build tested successfully. All three changes are appropriate:

1. configure.ac - Compiler Version Detection

  • Correctly extracts Apple clang major version (17)
  • Conditionally adds -Wno-cast-function-type-mismatch only for clang 17
  • Also adds -Wno-vla-extension which is needed

Verified the detection works:

checking for C compiler version... 17
AM_CFLAGS: ... -Wno-cast-function-type-mismatch ...

2. ink_endian.h - Skip sys/endian.h on darwin

macOS already provides byte-order functions via <libkern/OSByteOrder.h> (lines 43-75). On macOS 26, sys/endian.h exists but conflicts. The #if !defined(darwin) guard correctly prevents the conflict.

3. QUICNetVConnection.cc - Remove unused frame_count

The variable was declared but never used. Clang 17 with -Werror treats this as an error.

Full build completed without errors.

@github-project-automation github-project-automation bot moved this from In progress to Ready to Merge in 9.2.x Branch and Release Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build work related to build configuration or environment

Projects

Status: Ready to Merge

Development

Successfully merging this pull request may close these issues.

3 participants