diff options
Diffstat (limited to 'gcc/c-convert.c')
-rw-r--r-- | gcc/c-convert.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/c-convert.c b/gcc/c-convert.c index 5349d7a..09638d5 100644 --- a/gcc/c-convert.c +++ b/gcc/c-convert.c @@ -71,6 +71,7 @@ convert (tree type, tree expr) enum tree_code code = TREE_CODE (type); const char *invalid_conv_diag; tree ret; + location_t loc = EXPR_LOCATION (expr); if (type == error_mark_node || expr == error_mark_node @@ -93,7 +94,7 @@ convert (tree type, tree expr) STRIP_TYPE_NOPS (e); if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (TREE_TYPE (expr))) - return fold_convert (type, expr); + return fold_convert_loc (loc, type, expr); if (TREE_CODE (TREE_TYPE (expr)) == ERROR_MARK) return error_mark_node; if (TREE_CODE (TREE_TYPE (expr)) == VOID_TYPE) @@ -105,7 +106,7 @@ convert (tree type, tree expr) switch (code) { case VOID_TYPE: - return fold_convert (type, e); + return fold_convert_loc (loc, type, e); case INTEGER_TYPE: case ENUMERAL_TYPE: @@ -113,8 +114,8 @@ convert (tree type, tree expr) goto maybe_fold; case BOOLEAN_TYPE: - return fold_convert - (type, c_objc_common_truthvalue_conversion (input_location, expr)); + return fold_convert_loc + (loc, type, c_objc_common_truthvalue_conversion (input_location, expr)); case POINTER_TYPE: case REFERENCE_TYPE: |