From: Matthew Malcomson Date: Tue, 5 Nov 2019 15:36:20 +0000 (+0000) Subject: [mid-end] Fix declared type of personality functions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3619076a631eac18c0484acf6dff3e5e94b8e251;p=gcc.git [mid-end] Fix declared type of personality functions `build_personality_function` generates a declaration for a personality function. The type it declares for these functions doesn't match the type of the actual personality functions that are defined by the C++ unwinding ABI. This doesn't cause any crashes since the compiler never generates a call to these decl's, and hence the type of the function is never used. Nonetheless, for the sake of consistency and readability we update the type of this declaration. gcc/ChangeLog: 2019-11-05 Matthew Malcomson * expr.c (build_personality_function): Fix generated type to match actual personality functions. From-SVN: r277846 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 320b4923db9..2bb973f83ae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-11-05 Matthew Malcomson + + * expr.c (build_personality_function): Fix generated type to + match actual personality functions. + 2019-11-05 Matthew Malcomson * config/aarch64/aarch64.c (aarch64_handle_attr_cpu): Allocate diff --git a/gcc/expr.c b/gcc/expr.c index 12165af21cb..06e934e5be6 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -12554,7 +12554,8 @@ build_personality_function (const char *lang) name = ACONCAT (("__", lang, "_personality", unwind_and_version, NULL)); - type = build_function_type_list (integer_type_node, integer_type_node, + type = build_function_type_list (unsigned_type_node, + integer_type_node, integer_type_node, long_long_unsigned_type_node, ptr_type_node, ptr_type_node, NULL_TREE); decl = build_decl (UNKNOWN_LOCATION, FUNCTION_DECL,