Skip to content

Commit 7f45e77

Browse files
committed
Issue google#2678: forced zeroing weak references in public build.
1 parent 5f9ca17 commit 7f45e77

4 files changed

Lines changed: 6 additions & 6 deletions

File tree

inject/javax_inject/environment.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ CLASSES_DIR = $(BUILD_DIR)/classes
3030
INJECT_SRC_JAR = $(JAVA_DEPS_JAR_DIR)/$(JAVAX_INJECT_SOURCE_JAR)
3131
INJECT_JAR_FULL = $(JAVA_DEPS_JAR_DIR)/$(JAVAX_INJECT_JAR)
3232

33-
OBJCFLAGS := $(CC_WARNINGS) $(DEBUGFLAGS)
33+
OBJCFLAGS := $(CC_WARNINGS) $(DEBUGFLAGS) -fobjc-weak
3434

3535
# J2ObjC settings
3636
J2OBJC = $(DIST_DIR)/j2objc -classpath $(INJECT_JAR_FULL) -d $(BUILD_DIR)

jre_emul/Classes/J2ObjC_common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ __attribute__((always_inline)) inline id JreRetainedAutoreleasedReturnValue(id v
124124
#if __has_feature(objc_arc_weak)
125125
# define WEAK_ __weak
126126
#else
127-
# define WEAK_ __unsafe_unretained
127+
# error j2objc requires zeroing Objective-C weak references.
128128
#endif
129129

130130
CF_EXTERN_C_BEGIN

jre_emul/environment.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ endif
154154

155155
# The -fobjc flags match XCode (a link fails without them because of
156156
# missing symbols of the form OBJC_CLASS_$_[classname]).
157-
OBJCFLAGS += $(WARNINGS) -fno-strict-overflow \
157+
OBJCFLAGS += $(WARNINGS) -fobjc-weak -fno-strict-overflow \
158158
-fobjc-abi-version=2 -fobjc-legacy-dispatch $(DEBUGFLAGS) \
159159
-I/System/Library/Frameworks/ExceptionHandling.framework/Headers \
160160
-I/System/Library/Frameworks/Security.framework/Headers \
@@ -185,5 +185,5 @@ ifeq ("$(strip $(CLANG_ENABLE_OBJC_ARC))", "YES")
185185
TRANSLATE_ARGS += -use-arc
186186
OBJCFLAGS := $(OBJCFLAGS) -fobjc-arc -fobjc-arc-exceptions\
187187
-Wno-arc-bridge-casts-disallowed-in-nonarc \
188-
-Xclang -fobjc-runtime-has-weak
188+
-Xclang
189189
endif

junit/environment.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ RUNNER_LIB_DIST = $(ARCH_LIB_DIR)/libjunit_runner.a
3636

3737
# The -fobjc flags match XCode (a link fails without them because of
3838
# missing symbols of the form OBJC_CLASS_$_[classname]).
39-
OBJCFLAGS := -ObjC $(CC_WARNINGS) \
39+
OBJCFLAGS := -ObjC $(CC_WARNINGS) -fobjc-weak \
4040
-fobjc-abi-version=2 -fobjc-legacy-dispatch $(DEBUGFLAGS) \
4141
-I/System/Library/Frameworks/ExceptionHandling.framework/Headers
4242

@@ -47,5 +47,5 @@ ifeq ("$(strip $(CLANG_ENABLE_OBJC_ARC))", "YES")
4747
J2OBJC := $(J2OBJC) -use-arc
4848
OBJCFLAGS := $(OBJCFLAGS) -fobjc-arc -fobjc-arc-exceptions\
4949
-Wno-arc-bridge-casts-disallowed-in-nonarc \
50-
-Xclang -fobjc-runtime-has-weak
50+
-Xclang
5151
endif

0 commit comments

Comments
 (0)