summaryrefslogtreecommitdiff
path: root/gcc/f/data.c
diff options
context:
space:
mode:
authorfx <fx@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-30 07:59:40 +0000
committerfx <fx@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-30 07:59:40 +0000
commit5cb30a62ade5f909baee00799a4e3a400545a8f5 (patch)
treebadf945c7c86aa03d0d5e89459b31761502c8973 /gcc/f/data.c
parent1bf1c68eadc49f961219be2d87ce4a0c9256e732 (diff)
downloadgcc-5cb30a62ade5f909baee00799a4e3a400545a8f5.tar.gz
Mon Jun 29 09:47:33 1998 Craig Burley <burley@gnu.org>
Fix 980628-*.f: * bld.h: New `pad' field and accessor macros for ACCTER, ARRTER, and CONTER ops. * bld.c (ffebld_new_accter, ffebld_new_arrter, ffebld_new_conter_with_orig): Initialize `pad' field to zero. * com.c (ffecom_transform_common_): Include initial padding (aka modulo aka offset) in size calculation. Copy initial padding value into FFE initialization expression so the GBE transformation of that expression includes it. Make array low bound 0 instead of 1, for consistency. (ffecom_transform_equiv_): Include initial padding (aka modulo aka offset) in size calculation. Copy initial padding value into FFE initialization expression so the GBE transformation of that expression includes it. Make array low bound 0 instead of 1, for consistency. (ffecom_expr_, case FFEBLD_opACCTER): Delete unused `size' variable. Track destination offset separately, allowing for initial padding. Don't bother setting initial PURPOSE offset if zero. Include initial padding in size calculation. (ffecom_expr_, case FFEBLD_opARRTER): Allow for initial padding. Include initial padding in size calculation. Make array low bound 0 instead of 1, for consistency. (ffecom_finish_global_): Make array low bound 0 instead of 1, for consistency. (ffecom_notify_init_storage): Copy `pad' field from old ACCTER to new ARRTER. (ffecom_notify_init_symbol): Ditto. * data.c (ffedata_gather_): Initialize `pad' field in new ARRTER to 0. (ffedata_value_): Ditto. * equiv.c (ffeequiv_layout_local_): When lowering start of equiv area, extend lowering to maintain needed alignment. * target.c (ffetarget_align): Handle negative offset correctly. * global.c (ffeglobal_pad_common): Warn about non-zero padding only the first time its seen. If new padding larger than old, update old. (ffeglobal_save_common): Use correct type for size throughout. * global.h: Use correct type for size throughout. (ffeglobal_common_pad): New macro. (ffeglobal_pad): Delete this unused and broken macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20817 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/f/data.c')
-rw-r--r--gcc/f/data.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/f/data.c b/gcc/f/data.c
index 60cf1aea1a0..a8acd5c64cd 100644
--- a/gcc/f/data.c
+++ b/gcc/f/data.c
@@ -1276,6 +1276,7 @@ ffedata_gather_ (ffestorag mst, ffestorag st)
ffebld_accter (ffestorag_init (mst)));
ffebld_arrter_set_size (ffestorag_init (mst),
ffedata_storage_size_);
+ ffebld_arrter_set_pad (ffestorag_init (mst), 0);
ffecom_notify_init_storage (mst);
}
@@ -1316,6 +1317,7 @@ ffedata_gather_ (ffestorag mst, ffestorag st)
ffebld_accter (ffestorag_init (mst)));
ffebld_arrter_set_size (ffestorag_init (mst),
ffedata_storage_size_);
+ ffebld_arrter_set_pad (ffestorag_init (mst), 0);
ffecom_notify_init_storage (mst);
}
@@ -1377,6 +1379,7 @@ ffedata_gather_ (ffestorag mst, ffestorag st)
ffebld_accter (ffestorag_init (mst)));
ffebld_arrter_set_size (ffestorag_init (mst),
ffedata_storage_size_);
+ ffebld_arrter_set_pad (ffestorag_init (mst), 0);
ffecom_notify_init_storage (mst);
}
@@ -1658,6 +1661,8 @@ ffedata_value_ (ffebld value, ffelexToken token)
ffebld_accter (ffestorag_init (ffedata_storage_)));
ffebld_arrter_set_size (ffestorag_init (ffedata_storage_),
ffedata_storage_size_);
+ ffebld_arrter_set_pad (ffestorag_init (ffedata_storage_),
+ 0);
ffecom_notify_init_storage (ffedata_storage_);
}
}
@@ -1794,6 +1799,7 @@ ffedata_value_ (ffebld value, ffelexToken token)
ffebld_accter (ffesymbol_init (ffedata_symbol_)));
ffebld_arrter_set_size (ffesymbol_init (ffedata_symbol_),
ffedata_symbolsize_);
+ ffebld_arrter_set_pad (ffestorag_init (ffedata_symbol_), 0);
ffecom_notify_init_symbol (ffedata_symbol_);
}
}