mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-24 01:19:35 +08:00
trans.h (gfc_inline_intrinsic_function_p): Move prototype...
* trans.h (gfc_inline_intrinsic_function_p): Move prototype... * gfortran.h (gfc_inline_intrinsic_function_p): ... here. * dependency.c (gfc_check_argument_var_dependency): Check dependencies of inline intrinsics' arguments. From-SVN: r180904
This commit is contained in:
parent
8e24054ba4
commit
9645e798ba
@ -1,3 +1,10 @@
|
||||
2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
* trans.h (gfc_inline_intrinsic_function_p): Move prototype...
|
||||
* gfortran.h (gfc_inline_intrinsic_function_p): ... here.
|
||||
* dependency.c (gfc_check_argument_var_dependency): Check dependencies
|
||||
of inline intrinsics' arguments.
|
||||
|
||||
2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
* trans-array.c (gfc_trans_preloop_setup): New pointers to outer
|
||||
|
@ -713,6 +713,17 @@ gfc_check_argument_var_dependency (gfc_expr *var, sym_intent intent,
|
||||
return gfc_check_fncall_dependency (var, intent, NULL,
|
||||
expr->value.function.actual,
|
||||
ELEM_CHECK_VARIABLE);
|
||||
|
||||
if (gfc_inline_intrinsic_function_p (expr))
|
||||
{
|
||||
/* The TRANSPOSE case should have been caught in the
|
||||
noncopying intrinsic case above. */
|
||||
gcc_assert (expr->value.function.isym->id != GFC_ISYM_TRANSPOSE);
|
||||
|
||||
return gfc_check_fncall_dependency (var, intent, NULL,
|
||||
expr->value.function.actual,
|
||||
ELEM_CHECK_VARIABLE);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
|
@ -2880,6 +2880,9 @@ void gfc_generate_code (gfc_namespace *);
|
||||
void gfc_generate_module_code (gfc_namespace *);
|
||||
void gfc_init_coarray_decl (bool);
|
||||
|
||||
/* trans-intrinsic.c */
|
||||
bool gfc_inline_intrinsic_function_p (gfc_expr *);
|
||||
|
||||
/* bbt.c */
|
||||
typedef int (*compare_fn) (void *, void *);
|
||||
void gfc_insert_bbt (void *, void *, compare_fn);
|
||||
|
@ -396,9 +396,6 @@ tree gfc_builtin_decl_for_float_kind (enum built_in_function, int);
|
||||
tree gfc_conv_intrinsic_subroutine (gfc_code *);
|
||||
void gfc_conv_intrinsic_function (gfc_se *, gfc_expr *);
|
||||
|
||||
/* Is the intrinsic expanded inline. */
|
||||
bool gfc_inline_intrinsic_function_p (gfc_expr *);
|
||||
|
||||
/* Does an intrinsic map directly to an external library call
|
||||
This is true for array-returning intrinsics, unless
|
||||
gfc_inline_intrinsic_function_p returns true. */
|
||||
|
Loading…
Reference in New Issue
Block a user