Skip to content

[Infra] Remove C99 language standard settings #14970

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion FirebaseABTesting.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ Firebase Cloud Messaging and Firebase Remote Config in your app.
s.requires_arc = base_dir + '*.m'
s.public_header_files = base_dir + 'Public/FirebaseABTesting/*.h'
s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
}
s.dependency 'FirebaseCore', '~> 11.15.0'
Expand Down
1 change: 0 additions & 1 deletion FirebaseAppCheck.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ Pod::Spec.new do |s|
s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1'

s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
}

Expand Down
1 change: 0 additions & 1 deletion FirebaseAppDistribution.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ iOS SDK for App Distribution for Firebase.
s.dependency 'FirebaseInstallations', '~> 11.0'

s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
}

Expand Down
1 change: 0 additions & 1 deletion FirebaseAuth.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ supports email and password accounts, as well as several 3rd party authenticatio
'FirebaseAuth/CHANGELOG.md'
]
s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
# The second path is to find FirebaseAuth-Swift.h from a pod gen project
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}" "${OBJECT_FILE_DIR_normal}/${NATIVE_ARCH_ACTUAL}"',
'OTHER_SWIFT_FLAGS' => "$(inherited) #{ENV.key?('FIREBASE_CI') ? '-D FIREBASE_CI -warnings-as-errors' : ''}"
Expand Down
1 change: 0 additions & 1 deletion FirebaseCore.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ Firebase Core includes FIRApp and FIROptions which provide central configuration
s.dependency 'FirebaseCoreInternal', '~> 11.15.0'

s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' => 'Firebase_VERSION=' + s.version.to_s,
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
'OTHER_CFLAGS' => '-fno-autolink'
Expand Down
3 changes: 3 additions & 0 deletions FirebaseCore/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Unreleased
- [fixed] Remove c99 as the required C language standard. (#14950)

# Firebase 11.12.0
- [changed] Firebase now requires at least Xcode 16.2. See
https://developer.apple.com/news/?id=9s0rgdy9 for more info.
Expand Down
4 changes: 0 additions & 4 deletions FirebaseCrashlytics.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ Pod::Spec.new do |s|
s.watchos.frameworks = 'Security'

s.ios.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' =>
'CLS_SDK_NAME="Crashlytics iOS SDK" ' +
# For nanopb:
Expand All @@ -84,7 +83,6 @@ Pod::Spec.new do |s|
}

s.osx.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' =>
'CLS_SDK_NAME="Crashlytics Mac SDK" ' +
# For nanopb:
Expand All @@ -93,7 +91,6 @@ Pod::Spec.new do |s|
}

s.tvos.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' =>
'CLS_SDK_NAME="Crashlytics tvOS SDK" ' +
# For nanopb:
Expand All @@ -102,7 +99,6 @@ Pod::Spec.new do |s|
}

s.watchos.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' =>
'CLS_SDK_NAME="Crashlytics watchOS SDK" ' +
# For nanopb:
Expand Down
1 change: 0 additions & 1 deletion FirebaseDatabase.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ Simplify your iOS development, grow your user base, and monetize more effectivel
s.dependency 'FirebaseSharedSwift', '~> 11.0'
s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1'
s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
}

Expand Down
1 change: 0 additions & 1 deletion FirebaseDynamicLinks.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ Firebase Dynamic Links are deep links that enhance user experience and increase
s.dependency 'FirebaseCore', '~> 11.15.0'

s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' => 'FIRDynamicLinks3P GIN_SCION_LOGGING',
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
}
Expand Down
1 change: 0 additions & 1 deletion FirebaseFirestoreInternal.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ Google Cloud Firestore is a NoSQL document database built for automatic scaling,
s.pod_target_xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14',
'CLANG_CXX_LIBRARY' => 'libc++',
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' =>
"FIRFirestore_VERSION=#{s.version} " +
# The nanopb pod sets these defs, so we must too. (We *do* require 16bit
Expand Down
1 change: 0 additions & 1 deletion FirebaseFirestoreTestingSupport.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ Pod::Spec.new do |s|
s.dependency 'FirebaseFirestore', '~> 11.0'

s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'OTHER_CFLAGS' => '-fno-autolink',
'HEADER_SEARCH_PATHS' =>
'"${PODS_TARGET_SRCROOT}" '
Expand Down
1 change: 0 additions & 1 deletion FirebaseInstallations.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ Pod::Spec.new do |s|

preprocessor_definitions = ''
s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' => preprocessor_definitions,
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
}
Expand Down
1 change: 0 additions & 1 deletion FirebaseMLModelDownloader.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ Pod::Spec.new do |s|
s.dependency 'SwiftProtobuf', '~> 1.19'

s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' => 'FIRMLModelDownloader_VERSION=' + s.version.to_s,
'OTHER_CFLAGS' => '-fno-autolink',
}
Expand Down
1 change: 0 additions & 1 deletion FirebaseMessaging.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ device, and it is completely free.
}
s.library = 'sqlite3'
s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' =>
# for nanopb:
'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1',
Expand Down
1 change: 0 additions & 1 deletion FirebasePerformance.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ Firebase Performance library to measure performance of Mobile and Web Apps.
end

s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' => preprocessor_definitions,
# Unit tests do library imports using repo-root relative paths.
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
Expand Down
1 change: 0 additions & 1 deletion FirebaseRemoteConfig.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ app update.
"#{s.module_name}_Privacy" => 'FirebaseRemoteConfig/Swift/Resources/PrivacyInfo.xcprivacy'
}
s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
}
s.dependency 'FirebaseABTesting', '~> 11.0'
Expand Down
1 change: 0 additions & 1 deletion FirebaseSessions.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ Pod::Spec.new do |s|
s.dependency 'PromisesSwift', '~> 2.1'

s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
'GCC_PREPROCESSOR_DEFINITIONS' =>
# For nanopb:
Expand Down
1 change: 0 additions & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1430,7 +1430,6 @@ let package = Package(
]
),
] + firestoreTargets(),
cLanguageStandard: .c99,
cxxLanguageStandard: CXXLanguageStandard.gnucxx14
)

Expand Down