Skip to content

Commit bcbcb66

Browse files
authored
iOS,macOS: Enable ARC in flutter_cflags_objc[c] (flutter/engine#56685)
Enables the `-fobjc-arc` compiler flag for Objective-C and Objective-C++ translation units. Eliminates the flutter_cflags_objc[c]_arc settings, since they're now redundant. All Obj-C/Obj-C++ code in our codebase has now been migrated to ARC. Issue: flutter#137801
1 parent d2d49ca commit bcbcb66

File tree

14 files changed

+43
-45
lines changed

14 files changed

+43
-45
lines changed

engine/src/flutter/common/config.gni

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,13 @@ if (is_ios || is_mac) {
7777
flutter_cflags_objc = [
7878
"-Werror=overriding-method-mismatch",
7979
"-Werror=undeclared-selector",
80+
"-fobjc-arc",
8081
]
8182
if (is_mac) {
8283
flutter_cflags_objc += [ "-fapplication-extension" ]
8384
}
8485

8586
flutter_cflags_objcc = flutter_cflags_objc
86-
flutter_cflags_objc_arc = flutter_cflags_objc + [ "-fobjc-arc" ]
87-
flutter_cflags_objcc_arc = flutter_cflags_objc_arc
8887
}
8988

9089
# A combo of host os name and cpu is used in several locations to

engine/src/flutter/fml/BUILD.gn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ source_set("fml") {
135135
libs = []
136136

137137
if (is_ios || is_mac) {
138-
cflags_objc = flutter_cflags_objc_arc
139-
cflags_objcc = flutter_cflags_objcc_arc
138+
cflags_objc = flutter_cflags_objc
139+
cflags_objcc = flutter_cflags_objcc
140140

141141
sources += [
142142
"platform/darwin/cf_utils.cc",
@@ -359,8 +359,8 @@ if (enable_unittests) {
359359
]
360360

361361
if (is_mac || is_ios) {
362-
cflags_objc = flutter_cflags_objc_arc
363-
cflags_objcc = flutter_cflags_objcc_arc
362+
cflags_objc = flutter_cflags_objc
363+
cflags_objcc = flutter_cflags_objcc
364364

365365
sources += [
366366
"platform/darwin/cf_utils_unittests.mm",

engine/src/flutter/impeller/tools/component.gni

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ template("impeller_component") {
4343
}
4444

4545
if (is_ios || is_mac) {
46-
cflags_objc += flutter_cflags_objc_arc
46+
cflags_objc += flutter_cflags_objc
4747
}
4848

4949
if (!defined(invoker.cflags_objcc)) {
5050
cflags_objcc = []
5151
}
5252

5353
if (is_ios || is_mac) {
54-
cflags_objcc += flutter_cflags_objcc_arc
54+
cflags_objcc += flutter_cflags_objcc
5555
}
5656
}
5757
}

engine/src/flutter/shell/common/BUILD.gn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,8 +296,8 @@ if (enable_unittests) {
296296
}
297297

298298
if (test_enable_metal) {
299-
cflags_objc = flutter_cflags_objc_arc
300-
cflags_objcc = flutter_cflags_objcc_arc
299+
cflags_objc = flutter_cflags_objc
300+
cflags_objcc = flutter_cflags_objcc
301301

302302
sources += [
303303
"shell_test_platform_view_metal.h",

engine/src/flutter/shell/gpu/BUILD.gn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ source_set("gpu_surface_vulkan") {
7171

7272
if (shell_enable_metal) {
7373
source_set("gpu_surface_metal") {
74-
cflags_objc = flutter_cflags_objc_arc
75-
cflags_objcc = flutter_cflags_objcc_arc
74+
cflags_objc = flutter_cflags_objc
75+
cflags_objcc = flutter_cflags_objcc
7676

7777
sources = [
7878
"gpu_surface_metal_delegate.cc",
@@ -99,8 +99,8 @@ if (shell_enable_metal) {
9999
if (is_mac) {
100100
impeller_component("gpu_surface_metal_unittests") {
101101
testonly = true
102-
cflags_objc = flutter_cflags_objc_arc
103-
cflags_objcc = flutter_cflags_objcc_arc
102+
cflags_objc = flutter_cflags_objc
103+
cflags_objcc = flutter_cflags_objcc
104104

105105
target_type = "executable"
106106
sources = [

engine/src/flutter/shell/platform/darwin/common/BUILD.gn

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import("//flutter/testing/testing.gni")
99
import("framework_common.gni")
1010

1111
source_set("common") {
12-
cflags_objc = flutter_cflags_objc_arc
13-
cflags_objcc = flutter_cflags_objcc_arc
12+
cflags_objc = flutter_cflags_objc
13+
cflags_objcc = flutter_cflags_objcc
1414

1515
sources = [
1616
"buffer_conversions.h",
@@ -75,8 +75,8 @@ config("framework_relative_headers") {
7575

7676
# Framework code shared between iOS and macOS.
7777
source_set("framework_common") {
78-
cflags_objc = flutter_cflags_objc_arc
79-
cflags_objcc = flutter_cflags_objcc_arc
78+
cflags_objc = flutter_cflags_objc
79+
cflags_objcc = flutter_cflags_objcc
8080

8181
sources = [
8282
"framework/Source/FlutterBinaryMessengerRelay.mm",
@@ -111,8 +111,8 @@ test_fixtures("framework_common_fixtures") {
111111
# Unit tests for channels.
112112
executable("framework_common_unittests") {
113113
testonly = true
114-
cflags_objc = flutter_cflags_objc_arc
115-
cflags_objcc = flutter_cflags_objcc_arc
114+
cflags_objc = flutter_cflags_objc
115+
cflags_objcc = flutter_cflags_objcc
116116
ldflags = [ "-ObjC" ]
117117

118118
sources = [

engine/src/flutter/shell/platform/darwin/graphics/BUILD.gn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import("//flutter/common/config.gni")
88
import("//flutter/impeller/tools/impeller.gni")
99

1010
source_set("graphics") {
11-
cflags_objc = flutter_cflags_objc_arc
12-
cflags_objcc = flutter_cflags_objcc_arc
11+
cflags_objc = flutter_cflags_objc
12+
cflags_objcc = flutter_cflags_objcc
1313

1414
sources = [
1515
"FlutterDarwinContextMetalSkia.h",

engine/src/flutter/shell/platform/darwin/ios/BUILD.gn

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ _flutter_framework_headers_copy_dir = "$_flutter_framework_dir/Headers"
4141

4242
source_set("flutter_framework_source") {
4343
visibility = [ ":*" ]
44-
cflags_objc = flutter_cflags_objc_arc
45-
cflags_objcc = flutter_cflags_objcc_arc
44+
cflags_objc = flutter_cflags_objc
45+
cflags_objcc = flutter_cflags_objcc
4646

4747
defines = [ "FLUTTER_FRAMEWORK=1" ]
4848
if (darwin_extension_safe) {
@@ -203,9 +203,8 @@ shared_library("ios_test_flutter") {
203203
# This bug results engine build failure since the engine treats warnings as errors.
204204
# The `-Wno-unguarded-availability-new` can be removed when the Xcode bug is fixed.
205205
# See details in https://github.com/flutter/flutter/issues/128958.
206-
cflags_objc = flutter_cflags_objc_arc
207-
cflags_objcc =
208-
flutter_cflags_objcc_arc + [ "-Wno-unguarded-availability-new" ]
206+
cflags_objc = flutter_cflags_objc
207+
cflags_objcc = flutter_cflags_objcc + [ "-Wno-unguarded-availability-new" ]
209208
cflags = [
210209
"-fvisibility=default",
211210
"-F$platform_frameworks_path",

engine/src/flutter/shell/platform/darwin/macos/BUILD.gn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ _flutter_framework_headers_copy_dir =
5252

5353
source_set("flutter_framework_source") {
5454
visibility = [ ":*" ]
55-
cflags_objc = flutter_cflags_objc_arc
56-
cflags_objcc = flutter_cflags_objcc_arc
55+
cflags_objc = flutter_cflags_objc
56+
cflags_objcc = flutter_cflags_objcc
5757

5858
sources = [
5959
"framework/Source/AccessibilityBridgeMac.h",
@@ -173,8 +173,8 @@ test_fixtures("flutter_desktop_darwin_fixtures") {
173173

174174
executable("flutter_desktop_darwin_unittests") {
175175
testonly = true
176-
cflags_objc = flutter_cflags_objc_arc
177-
cflags_objcc = flutter_cflags_objcc_arc
176+
cflags_objc = flutter_cflags_objc
177+
cflags_objcc = flutter_cflags_objcc
178178
ldflags = [ "-ObjC" ]
179179

180180
sources = [

engine/src/flutter/shell/platform/embedder/BUILD.gn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,8 @@ template("embedder_source_set") {
144144
}
145145

146146
if (embedder_enable_metal) {
147-
cflags_objc = flutter_cflags_objc_arc
148-
cflags_objcc = flutter_cflags_objcc_arc
147+
cflags_objc = flutter_cflags_objc
148+
cflags_objcc = flutter_cflags_objcc
149149

150150
sources += [
151151
"embedder_external_texture_metal.h",
@@ -389,8 +389,8 @@ if (enable_unittests) {
389389
}
390390

391391
if (test_enable_metal) {
392-
cflags_objc = flutter_cflags_objc_arc
393-
cflags_objcc = flutter_cflags_objcc_arc
392+
cflags_objc = flutter_cflags_objc
393+
cflags_objcc = flutter_cflags_objcc
394394

395395
sources += [ "tests/embedder_metal_unittests.mm" ]
396396
}

engine/src/flutter/testing/BUILD.gn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,8 @@ if (is_mac || is_ios) {
193193
testonly = true
194194

195195
if (shell_enable_metal) {
196-
cflags_objc = flutter_cflags_objc_arc
197-
cflags_objcc = flutter_cflags_objcc_arc
196+
cflags_objc = flutter_cflags_objc
197+
cflags_objcc = flutter_cflags_objcc
198198

199199
sources = [
200200
"test_metal_context.h",
@@ -257,8 +257,8 @@ if (enable_unittests) {
257257
]
258258

259259
if (test_enable_metal) {
260-
cflags_objc = flutter_cflags_objc_arc
261-
cflags_objcc = flutter_cflags_objcc_arc
260+
cflags_objc = flutter_cflags_objc
261+
cflags_objcc = flutter_cflags_objcc
262262

263263
sources += [ "test_metal_surface_unittests.mm" ]
264264
deps += [ ":metal" ]

engine/src/flutter/third_party/accessibility/BUILD.gn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ if (enable_unittests) {
7676
]
7777

7878
if (is_mac) {
79-
cflags_objc = flutter_cflags_objc_arc
80-
cflags_objcc = flutter_cflags_objcc_arc
79+
cflags_objc = flutter_cflags_objc
80+
cflags_objcc = flutter_cflags_objcc
8181
ldflags = [ "-ObjC" ]
8282

8383
sources += [ "ax/platform/ax_platform_node_mac_unittest.mm" ]

engine/src/flutter/third_party/accessibility/ax/BUILD.gn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ source_set("ax") {
8282
]
8383

8484
if (is_mac) {
85-
cflags_objc = flutter_cflags_objc_arc
86-
cflags_objcc = flutter_cflags_objcc_arc
85+
cflags_objc = flutter_cflags_objc
86+
cflags_objcc = flutter_cflags_objcc
8787

8888
sources += [
8989
"platform/ax_platform_node_mac.h",

engine/src/flutter/third_party/accessibility/gfx/BUILD.gn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ source_set("gfx") {
5151
"mac/coordinate_conversion.h",
5252
"mac/coordinate_conversion.mm",
5353
]
54-
cflags_objc = flutter_cflags_objc_arc
55-
cflags_objcc = flutter_cflags_objcc_arc
54+
cflags_objc = flutter_cflags_objc
55+
cflags_objcc = flutter_cflags_objcc
5656
}
5757

5858
deps = [

0 commit comments

Comments
 (0)