aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/ada-tree.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2019-08-30 15:22:34 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2019-08-30 15:22:34 +0000
commit1edbeb153d802dbac524d7177d72d173278183f1 (patch)
treef439066a9993cbf20f862f5575561432512c86c5 /gcc/ada/gcc-interface/ada-tree.h
parent5e017b1e25655f256a130419b427811bb1016b43 (diff)
downloadgcc-1edbeb153d802dbac524d7177d72d173278183f1.zip
gcc-1edbeb153d802dbac524d7177d72d173278183f1.tar.gz
gcc-1edbeb153d802dbac524d7177d72d173278183f1.tar.bz2
ada-tree.h (DECL_FORCED_BY_REF_P): New macro.
* gcc-interface/ada-tree.h (DECL_FORCED_BY_REF_P): New macro. * gcc-interface/decl.c (gnat_to_gnu_param): Set it on parameters whose mechanism was forced to by-reference. * gcc-interface/trans.c (Call_to_gnu): Do not issue a warning about a misaligned actual parameter if it is based on a CONSTRUCTOR. Remove obsolete warning for users of Starlet. Issue a warning if a temporary is make around the call for a parameter with DECL_FORCED_BY_REF_P set. (addressable_p): Return true for REAL_CST and ADDR_EXPR. From-SVN: r275198
Diffstat (limited to 'gcc/ada/gcc-interface/ada-tree.h')
-rw-r--r--gcc/ada/gcc-interface/ada-tree.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ada/gcc-interface/ada-tree.h b/gcc/ada/gcc-interface/ada-tree.h
index 2029b7c..acea5d1 100644
--- a/gcc/ada/gcc-interface/ada-tree.h
+++ b/gcc/ada/gcc-interface/ada-tree.h
@@ -482,6 +482,9 @@ do { \
value of a function call or 'reference to a function call. */
#define DECL_RETURN_VALUE_P(NODE) DECL_LANG_FLAG_5 (VAR_DECL_CHECK (NODE))
+/* Nonzero in a PARM_DECL if its mechanism was forced to by-reference. */
+#define DECL_FORCED_BY_REF_P(NODE) DECL_LANG_FLAG_5 (PARM_DECL_CHECK (NODE))
+
/* In a FIELD_DECL corresponding to a discriminant, contains the
discriminant number. */
#define DECL_DISCRIMINANT_NUMBER(NODE) DECL_INITIAL (FIELD_DECL_CHECK (NODE))