JUCE 8 AudioUnitPluginFormat.mm Enum Error

In trying to build Tracktion Engine with J8 I’m getting this error in CI:

/Users/runner/work/tracktion_engine/tracktion_engine/modules/juce/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm:1101:86: error: bitwise operation between different enumeration types ('(unnamed enum at /Applications/Xcode_15.3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/CoreAudioTypes.framework/Headers/CoreAudioBaseTypes.h:551:1)' and '(unnamed enum at /Applications/Xcode_15.3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/CoreAudioTypes.framework/Headers/CoreAudioBaseTypes.h:500:1)') is deprecated [-Werror,-Wdeprecated-anon-enum-enum-conversion]
                    newStream.mFormatFlags      = kAudioFormatFlagsNativeFloatPacked | kAudioFormatFlagIsNonInterleaved | kAudioFormatFlagsNativeEndian;
                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

This is building with Xcode 15.3 on the GitHub Actions macos-14-arm64 image (via macos-latest).

Maybe -Wdeprecated-anon-enum-enum-conversion should just be disabled for this line as I can’t see any obvious way around this?

This fixes it:

Thanks for reporting, we’ve pushed a fix for this (we decided not to ignore the warning in this case).

Thanks, seems to do the trick!

1 Like