diff options
| author | fxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-09 22:00:52 +0000 |
|---|---|---|
| committer | fxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-09 22:00:52 +0000 |
| commit | 86254bbf1eafd3ddf46ef4116fdead7eec27593f (patch) | |
| tree | a91c5a5656a1533e49fdea2b5d41036e625301d2 | |
| parent | 93f564d603705e3e717097547f34510ed7f19da3 (diff) | |
| download | ppe42-gcc-86254bbf1eafd3ddf46ef4116fdead7eec27593f.tar.gz ppe42-gcc-86254bbf1eafd3ddf46ef4116fdead7eec27593f.zip | |
PR fortran/29459
* trans-array.c (gfc_trans_array_constructor): Mark offset field
with TREE_NO_WARNING.
* trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound,
stride and size variables with TREE_NO_WARNING.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126496 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/fortran/ChangeLog | 8 | ||||
| -rw-r--r-- | gcc/fortran/trans-array.c | 1 | ||||
| -rw-r--r-- | gcc/fortran/trans-decl.c | 22 |
3 files changed, 27 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 5f414f73dcd..e1a4942d7da 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,11 @@ +2007-07-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/29459 + * trans-array.c (gfc_trans_array_constructor): Mark offset field + with TREE_NO_WARNING. + * trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound, + stride and size variables with TREE_NO_WARNING. + 2007-07-09 Steven G. Kargl <kargl@gcc.gnu.org> * trans-decl.c (set_tree_decl_type_code): Remove function. diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 72bfd38e166..6a48031b3fb 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -1695,6 +1695,7 @@ gfc_trans_array_constructor (gfc_loopinfo * loop, gfc_ss * ss) desc = ss->data.info.descriptor; offset = gfc_index_zero_node; offsetvar = gfc_create_var_np (gfc_array_index_type, "offset"); + TREE_NO_WARNING (offsetvar) = 1; TREE_USED (offsetvar) = 0; gfc_trans_array_constructor_value (&loop->pre, type, desc, c, &offset, &offsetvar, dynamic); diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 5a7ad254a2e..49aaaf0e476 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -633,20 +633,31 @@ gfc_build_qualified_array (tree decl, gfc_symbol * sym) for (dim = 0; dim < GFC_TYPE_ARRAY_RANK (type); dim++) { if (GFC_TYPE_ARRAY_LBOUND (type, dim) == NULL_TREE) - GFC_TYPE_ARRAY_LBOUND (type, dim) = create_index_var ("lbound", nest); + { + GFC_TYPE_ARRAY_LBOUND (type, dim) = create_index_var ("lbound", nest); + TREE_NO_WARNING (GFC_TYPE_ARRAY_LBOUND (type, dim)) = 1; + } /* Don't try to use the unknown bound for assumed shape arrays. */ if (GFC_TYPE_ARRAY_UBOUND (type, dim) == NULL_TREE && (sym->as->type != AS_ASSUMED_SIZE || dim < GFC_TYPE_ARRAY_RANK (type) - 1)) - GFC_TYPE_ARRAY_UBOUND (type, dim) = create_index_var ("ubound", nest); + { + GFC_TYPE_ARRAY_UBOUND (type, dim) = create_index_var ("ubound", nest); + TREE_NO_WARNING (GFC_TYPE_ARRAY_UBOUND (type, dim)) = 1; + } if (GFC_TYPE_ARRAY_STRIDE (type, dim) == NULL_TREE) - GFC_TYPE_ARRAY_STRIDE (type, dim) = create_index_var ("stride", nest); + { + GFC_TYPE_ARRAY_STRIDE (type, dim) = create_index_var ("stride", nest); + TREE_NO_WARNING (GFC_TYPE_ARRAY_STRIDE (type, dim)) = 1; + } } if (GFC_TYPE_ARRAY_OFFSET (type) == NULL_TREE) { GFC_TYPE_ARRAY_OFFSET (type) = gfc_create_var_np (gfc_array_index_type, "offset"); + TREE_NO_WARNING (GFC_TYPE_ARRAY_OFFSET (type)) = 1; + if (nest) gfc_add_decl_to_parent_function (GFC_TYPE_ARRAY_OFFSET (type)); else @@ -655,7 +666,10 @@ gfc_build_qualified_array (tree decl, gfc_symbol * sym) if (GFC_TYPE_ARRAY_SIZE (type) == NULL_TREE && sym->as->type != AS_ASSUMED_SIZE) - GFC_TYPE_ARRAY_SIZE (type) = create_index_var ("size", nest); + { + GFC_TYPE_ARRAY_SIZE (type) = create_index_var ("size", nest); + TREE_NO_WARNING (GFC_TYPE_ARRAY_SIZE (type)) = 1; + } if (POINTER_TYPE_P (type)) { |

