diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2015-12-10 14:06:15 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2015-12-10 14:06:15 +0000 |
commit | d747d0057c694f600da48ff11a0cf6b10aea9dbf (patch) | |
tree | 6b85bdf8dd69f0b774a2373b3cacb5e86e94d32a /gcc/ada | |
parent | 6b4f890601a9bb1ff803cef04ee5779d49befb97 (diff) | |
download | gcc-d747d0057c694f600da48ff11a0cf6b10aea9dbf.zip gcc-d747d0057c694f600da48ff11a0cf6b10aea9dbf.tar.gz gcc-d747d0057c694f600da48ff11a0cf6b10aea9dbf.tar.bz2 |
trans.c (Call_to_gnu): Remove guard for NULL_EXPR.
* gcc-interface/trans.c (Call_to_gnu): Remove guard for NULL_EXPR.
* gcc-interface/utils2.c (gnat_rewrite_reference) <ERROR_MARK>: Return
the reference unmodified.
<NULL_EXPR>: New case. Likewise.
From-SVN: r231513
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/trans.c | 4 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/utils2.c | 3 |
3 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 955f036..10758ff 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,12 @@ 2015-12-10 Eric Botcazou <ebotcazou@adacore.com> + * gcc-interface/trans.c (Call_to_gnu): Remove guard for NULL_EXPR. + * gcc-interface/utils2.c (gnat_rewrite_reference) <ERROR_MARK>: Return + the reference unmodified. + <NULL_EXPR>: New case. Likewise. + +2015-12-10 Eric Botcazou <ebotcazou@adacore.com> + * gcc-interface/gigi.h (create_var_decl): Adjust comment. (create_subprog_decl): Likewise. * gcc-interface/utils.c (create_var_decl): Likewise. diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index d565854..d8d5ce2 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -4407,9 +4407,7 @@ Call_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, tree gnu_target, /* If it's possible we may need to use this expression twice, make sure that any side-effects are handled via SAVE_EXPRs; likewise if we need to force side-effects before the call. */ - if (Ekind (gnat_formal) != E_In_Parameter - && !is_by_ref_formal_parm - && TREE_CODE (gnu_name) != NULL_EXPR) + if (Ekind (gnat_formal) != E_In_Parameter && !is_by_ref_formal_parm) { tree init = NULL_TREE; gnu_name = gnat_stabilize_reference (gnu_name, true, &init); diff --git a/gcc/ada/gcc-interface/utils2.c b/gcc/ada/gcc-interface/utils2.c index ca307f3..8af121e 100644 --- a/gcc/ada/gcc-interface/utils2.c +++ b/gcc/ada/gcc-interface/utils2.c @@ -2733,7 +2733,8 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init) break; case ERROR_MARK: - return error_mark_node; + case NULL_EXPR: + return ref; default: gcc_unreachable (); |