diff options
author | Matthew Malcomson <matthew.malcomson@arm.com> | 2019-11-05 15:36:20 +0000 |
---|---|---|
committer | Matthew Malcomson <matmal01@gcc.gnu.org> | 2019-11-05 15:36:20 +0000 |
commit | 3619076a631eac18c0484acf6dff3e5e94b8e251 (patch) | |
tree | eb98f4ed8b06fe97d6c3099a8195b0456f31d6ee /gcc/expr.c | |
parent | 81e40f3ae4a35b55ff2733a73d48a2f063aa5721 (diff) | |
download | gcc-3619076a631eac18c0484acf6dff3e5e94b8e251.zip gcc-3619076a631eac18c0484acf6dff3e5e94b8e251.tar.gz gcc-3619076a631eac18c0484acf6dff3e5e94b8e251.tar.bz2 |
[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 <matthew.malcomson@arm.com>
* expr.c (build_personality_function): Fix generated type to
match actual personality functions.
From-SVN: r277846
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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, |