diff options
author | Tobias Burnus <burnus@net-b.de> | 2007-11-22 09:55:47 +0000 |
---|---|---|
committer | Tobias Burnus <burnus@net-b.de> | 2007-11-22 09:55:47 +0000 |
commit | 1a71a4f1afa1f0931e02d20849c6911b870f53c0 (patch) | |
tree | 8a9a62e34f11f58333d3069ebae8246ca7489e01 /gcc/fortran/trans-decl.c | |
parent | d97a7c1f9e898a185368b6d67284398336e109b7 (diff) |
2007-11-22 Tobias Burnus <burnus@net-b.de>
PR fortran/34079
* trans-expr.c (gfc_conv_function_call): Do not append
string length arguments when calling bind(c) procedures.
* trans-decl.c (create_function_arglist): Do not append
string length arguments when declaring bind(c) procedures.
2007-11-22 Tobias Burnus <burnus@net-b.de>
PR fortran/34079
* gfortran.dg/bind_c_usage_10.f03: Remove .mod file afterwards.
* gfortran.dg/bind_c_usage_13.f03: New.
* gfortran.dg/bind_c_usage_14.f03: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@130346 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r-- | gcc/fortran/trans-decl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 4b114df728b..3a3897377cd 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -1535,8 +1535,10 @@ create_function_arglist (gfc_symbol * sym) typelist = TREE_CHAIN (typelist); } - /* Add the hidden string length parameters. */ - arglist = chainon (arglist, hidden_arglist); + /* Add the hidden string length parameters, unless the procedure + is bind(C). */ + if (!sym->attr.is_bind_c) + arglist = chainon (arglist, hidden_arglist); gcc_assert (hidden_typelist == NULL_TREE || TREE_VALUE (hidden_typelist) == void_type_node); |