aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2018-10-22 10:43:20 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2018-10-22 10:43:20 +0000
commit9e4cacfab2d836d4dabc0b2aac095e635288bd27 (patch)
treee19c38bbc21dc9e3141464c30a3ad0c381b2656b /gcc
parentbbc960279d3176051db9d134f74997ae9f0b01a7 (diff)
downloadgcc-9e4cacfab2d836d4dabc0b2aac095e635288bd27.zip
gcc-9e4cacfab2d836d4dabc0b2aac095e635288bd27.tar.gz
gcc-9e4cacfab2d836d4dabc0b2aac095e635288bd27.tar.bz2
trans.c (Pragma_to_gnu): Use a simple memory constraint in all cases.
* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Inspection_Point>: Use a simple memory constraint in all cases. * gcc-interface/lang-specs.h: Bump copyright year. From-SVN: r265378
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/gcc-interface/lang-specs.h2
-rw-r--r--gcc/ada/gcc-interface/trans.c24
3 files changed, 13 insertions, 20 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 0d13423..c002cdb 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,10 @@
+2018-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Inspection_Point>: Use
+ a simple memory constraint in all cases.
+
+ * gcc-interface/lang-specs.h: Bump copyright year.
+
2018-10-17 David Malcolm <dmalcolm@redhat.com>
* gcc-interface/Make-lang.in (selftest-ada): New.
diff --git a/gcc/ada/gcc-interface/lang-specs.h b/gcc/ada/gcc-interface/lang-specs.h
index c7bf32c..374fc1e 100644
--- a/gcc/ada/gcc-interface/lang-specs.h
+++ b/gcc/ada/gcc-interface/lang-specs.h
@@ -6,7 +6,7 @@
* *
* C Header File *
* *
- * Copyright (C) 1992-2015, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2018, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index 6757c2f..ce2d43f 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -1285,32 +1285,18 @@ Pragma_to_gnu (Node_Id gnat_node)
{
Node_Id gnat_expr = Expression (gnat_temp);
tree gnu_expr = gnat_to_gnu (gnat_expr);
- int use_address;
- machine_mode mode;
- scalar_int_mode int_mode;
tree asm_constraint = NULL_TREE;
#ifdef ASM_COMMENT_START
char *comment;
#endif
-
- if (TREE_CODE (gnu_expr) == UNCONSTRAINED_ARRAY_REF)
- gnu_expr = TREE_OPERAND (gnu_expr, 0);
-
- /* Use the value only if it fits into a normal register,
- otherwise use the address. */
- mode = TYPE_MODE (TREE_TYPE (gnu_expr));
- use_address = (!is_a <scalar_int_mode> (mode, &int_mode)
- || GET_MODE_SIZE (int_mode) > UNITS_PER_WORD);
-
- if (use_address)
- gnu_expr = build_unary_op (ADDR_EXPR, NULL_TREE, gnu_expr);
+ gnu_expr = maybe_unconstrained_array (gnu_expr);
+ gnat_mark_addressable (gnu_expr);
#ifdef ASM_COMMENT_START
comment = concat (ASM_COMMENT_START,
" inspection point: ",
Get_Name_String (Chars (gnat_expr)),
- use_address ? " address" : "",
- " is in %0",
+ " is at %0",
NULL);
asm_constraint = build_string (strlen (comment), comment);
free (comment);
@@ -1320,8 +1306,8 @@ Pragma_to_gnu (Node_Id gnat_node)
NULL_TREE,
tree_cons
(build_tree_list (NULL_TREE,
- build_string (1, "g")),
- gnu_expr, NULL_TREE),
+ build_string (1, "m")),
+ gnu_expr, NULL_TREE),
NULL_TREE, NULL_TREE);
ASM_VOLATILE_P (gnu_expr) = 1;
set_expr_location_from_node (gnu_expr, gnat_node);