aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/gigi.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2019-06-29 07:16:37 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2019-06-29 07:16:37 +0000
commitb1af4cb2903711183e62f922fc235d48c7a738bb (patch)
treee52fb1419869e176950e8aab90f65e8e32ade6ce /gcc/ada/gcc-interface/gigi.h
parent43e1e8b5b8ed9f0e4311c0974b9e459471a275b0 (diff)
downloadgcc-b1af4cb2903711183e62f922fc235d48c7a738bb.zip
gcc-b1af4cb2903711183e62f922fc235d48c7a738bb.tar.gz
gcc-b1af4cb2903711183e62f922fc235d48c7a738bb.tar.bz2
expr.c (expand_expr_real_1): Apply the big-endian adjustment for bit-fields to all aggregate types.
* expr.c (expand_expr_real_1) <BIT_FIELD_REF>: Apply the big-endian adjustment for bit-fields to all aggregate types. ada/ * gcc-interface/gigi.h (make_packable_type): Remove default value. (value_factor_p): Tweak prototype. * gcc-interface/decl.c (gnat_to_gnu_entity): Add comment. (gnat_to_gnu_component_type): Likewise. (gnat_to_gnu_field): Likewise. Fetch the position of the field earlier and simplify the condition under which the type is packed. Declare local variable is_bitfield. Pass 1 as max_align to make_packable_type if it is set to true. (copy_and_substitute_in_layout): Pass 0 to make_packable_type. * gcc-interface/utils.c (make_packable_array_type): New function. (make_packable_type): Use it to rewrite the type of array field. (maybe_pad_type): Pass align parameter to make_packable_type. (create_field_decl): Minor tweaks. (value_factor_p): Assert that FACTOR is a power of 2 and replace the modulo computation by a masking operation. From-SVN: r272810
Diffstat (limited to 'gcc/ada/gcc-interface/gigi.h')
-rw-r--r--gcc/ada/gcc-interface/gigi.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index c8eb637..f7415c7 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -126,7 +126,7 @@ extern tree make_aligning_type (tree type, unsigned int align, tree size,
MAX_ALIGN alignment if the value is non-zero. If so, return the new
type; if not, return the original type. */
extern tree make_packable_type (tree type, bool in_record,
- unsigned int max_align = 0);
+ unsigned int max_align);
/* Given a type TYPE, return a new type whose size is appropriate for SIZE.
If TYPE is the best type, return it. Otherwise, make a new type. We
@@ -837,7 +837,7 @@ extern unsigned int known_alignment (tree exp);
/* Return true if VALUE is a multiple of FACTOR. FACTOR must be a power
of 2. */
-extern bool value_factor_p (tree value, HOST_WIDE_INT factor);
+extern bool value_factor_p (tree value, unsigned HOST_WIDE_INT factor);
/* Build an atomic load for the underlying atomic object in SRC. SYNC is
true if the load requires synchronization. */