aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2022-07-27 10:15:41 -0700
committerIan Lance Taylor <iant@golang.org>2022-07-27 10:15:41 -0700
commit9f62ed218fa656607740b386c0caa03e65dcd283 (patch)
tree6bde49bc5e4c4241266b108e4277baef4b85535d /gcc/objc
parent71e955da39cea0ebffcfee3432effa622d14ca99 (diff)
parent5eb9f117a361538834b9740d59219911680717d1 (diff)
downloadgcc-9f62ed218fa656607740b386c0caa03e65dcd283.zip
gcc-9f62ed218fa656607740b386c0caa03e65dcd283.tar.gz
gcc-9f62ed218fa656607740b386c0caa03e65dcd283.tar.bz2
Merge from trunk revision 5eb9f117a361538834b9740d59219911680717d1.
Diffstat (limited to 'gcc/objc')
-rw-r--r--gcc/objc/ChangeLog28
-rw-r--r--gcc/objc/Make-lang.in2
-rw-r--r--gcc/objc/lang-specs.h8
-rw-r--r--gcc/objc/objc-act.cc2
-rw-r--r--gcc/objc/objc-act.h1
-rw-r--r--gcc/objc/objc-lang.cc8
-rw-r--r--gcc/objc/objc-next-runtime-abi-02.cc6
7 files changed, 47 insertions, 8 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index fe5c9c8..01720f7 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -1,3 +1,31 @@
+2022-06-02 David Malcolm <dmalcolm@redhat.com>
+
+ * objc-act.h (objc_get_sarif_source_language): New decl.
+ * objc-lang.cc (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
+ (objc_get_sarif_source_language): New.
+
+2022-05-31 Jason Merrill <jason@redhat.com>
+
+ * Make-lang.in (objc.tags): Look at *.cc.
+
+2022-05-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/91134
+ * objc-act.cc (objc_build_component_ref): Adjust build_component_ref
+ caller.
+
+2022-05-11 Martin Liska <mliska@suse.cz>
+
+ PR target/105355
+ * lang-specs.h: Use Separate syntax.
+
+2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
+
+ * objc-next-runtime-abi-02.cc (next_runtime_abi_02_protocol_decl): Do
+ not dead-strip the runtime meta-data symbols.
+ (build_v2_classrefs_table): Likewise.
+ (build_v2_protocol_list_address_table): Likewise.
+
2022-01-17 Martin Liska <mliska@suse.cz>
* Make-lang.in: Rename .c names to .cc.
diff --git a/gcc/objc/Make-lang.in b/gcc/objc/Make-lang.in
index 6e4ebf5..b2ebd86 100644
--- a/gcc/objc/Make-lang.in
+++ b/gcc/objc/Make-lang.in
@@ -102,7 +102,7 @@ objc.srcman:
objc.install-plugin:
objc.tags: force
- cd $(srcdir)/objc; $(ETAGS) -o TAGS.sub *.c *.h; \
+ cd $(srcdir)/objc; $(ETAGS) -o TAGS.sub *.cc *.h; \
$(ETAGS) --include TAGS.sub --include ../TAGS.sub
lang_checks += check-objc
diff --git a/gcc/objc/lang-specs.h b/gcc/objc/lang-specs.h
index 1a785ac..049166c 100644
--- a/gcc/objc/lang-specs.h
+++ b/gcc/objc/lang-specs.h
@@ -41,12 +41,12 @@ along with GCC; see the file COPYING3. If not see
%eGNU Objective C no longer supports traditional compilation}\
%{save-temps*|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps*:%b.mi} %{!save-temps*:%g.mi} \n\
cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
- -o %g.s %{!o*:--output-pch=%i.gch}\
- %W{o*:--output-pch=%*}%V}\
+ -o %g.s %{!o*:--output-pch %i.gch}\
+ %W{o*:--output-pch %*}%V}\
%{!save-temps*:%{!no-integrated-cpp:\
cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
- -o %g.s %{!o*:--output-pch=%i.gch}\
- %W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0},
+ -o %g.s %{!o*:--output-pch %i.gch}\
+ %W{o*:--output-pch %*}%V}}}}}", 0, 0, 0},
{".mi", "@objective-c-cpp-output", 0, 0, 0},
{"@objective-c-cpp-output",
"%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
diff --git a/gcc/objc/objc-act.cc b/gcc/objc/objc-act.cc
index 252274c..10591bb 100644
--- a/gcc/objc/objc-act.cc
+++ b/gcc/objc/objc-act.cc
@@ -2812,7 +2812,7 @@ objc_build_component_ref (tree datum, tree component)
tf_warning_or_error);
#else
return build_component_ref (input_location, datum, component,
- UNKNOWN_LOCATION);
+ UNKNOWN_LOCATION, UNKNOWN_LOCATION);
#endif
}
diff --git a/gcc/objc/objc-act.h b/gcc/objc/objc-act.h
index 7d0c6d5..4f9c3a2 100644
--- a/gcc/objc/objc-act.h
+++ b/gcc/objc/objc-act.h
@@ -27,6 +27,7 @@ bool objc_init (void);
const char *objc_printable_name (tree, int);
int objc_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
void objc_common_init_ts (void);
+const char *objc_get_sarif_source_language (const char *);
/* NB: The remaining public functions are prototyped in c-common.h, for the
benefit of stub-objc.cc and objc-act.cc. */
diff --git a/gcc/objc/objc-lang.cc b/gcc/objc/objc-lang.cc
index ef664f5..559de4b 100644
--- a/gcc/objc/objc-lang.cc
+++ b/gcc/objc/objc-lang.cc
@@ -46,10 +46,18 @@ enum c_language_kind c_language = clk_objc;
#define LANG_HOOKS_INIT_TS objc_common_init_ts
#undef LANG_HOOKS_TREE_SIZE
#define LANG_HOOKS_TREE_SIZE objc_common_tree_size
+#undef LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE
+#define LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE objc_get_sarif_source_language
/* Each front end provides its own lang hook initializer. */
struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+const char *
+objc_get_sarif_source_language (const char *)
+{
+ return "objectivec";
+}
+
/* Lang hook routines common to C and ObjC appear in c-objc-common.cc;
there should be very few (if any) routines below. */
diff --git a/gcc/objc/objc-next-runtime-abi-02.cc b/gcc/objc/objc-next-runtime-abi-02.cc
index e50ca6e..9ea63b1 100644
--- a/gcc/objc/objc-next-runtime-abi-02.cc
+++ b/gcc/objc/objc-next-runtime-abi-02.cc
@@ -1033,6 +1033,7 @@ next_runtime_abi_02_protocol_decl (tree p)
else
decl = start_var_decl (objc_v2_protocol_template, buf);
OBJCMETA (decl, objc_meta, meta_protocol);
+ DECL_PRESERVE_P (decl) = 1;
return decl;
}
@@ -2115,8 +2116,8 @@ build_v2_classrefs_table (void)
expr = convert (objc_class_type, build_fold_addr_expr (expr));
}
/* The runtime wants this, even if it appears unused, so we must force the
- output.
- DECL_PRESERVE_P (decl) = 1; */
+ output. */
+ DECL_PRESERVE_P (decl) = 1;
finish_var_decl (decl, expr);
}
}
@@ -2318,6 +2319,7 @@ build_v2_protocol_list_address_table (void)
expr = convert (objc_protocol_type, build_fold_addr_expr (ref->refdecl));
OBJCMETA (decl, objc_meta, meta_label_protocollist);
finish_var_decl (decl, expr);
+ DECL_PRESERVE_P (decl) = 1;
}
/* TODO: delete the vec. */