diff options
author | Tobias Burnus <burnus@net-b.de> | 2010-02-10 17:43:22 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2010-02-10 17:43:22 +0100 |
commit | 975d3303cc10d90d73d3e9344fe3765ca7e9efa2 (patch) | |
tree | 31b8aee9540326d8a2d66586f9ced66b24ffcf6c /gcc/fortran | |
parent | 3b2524b12683ad95e582a4fc74ae19c6927a398d (diff) | |
download | gcc-975d3303cc10d90d73d3e9344fe3765ca7e9efa2.zip gcc-975d3303cc10d90d73d3e9344fe3765ca7e9efa2.tar.gz gcc-975d3303cc10d90d73d3e9344fe3765ca7e9efa2.tar.bz2 |
re PR fortran/43015 (ICE with BIND(C) and -fbounds-check in mingw-w64 cross-compiler)
2010-02-10 Tobias Burnus <burnus@net-b.de>
PR fortran/43015
* trans-decl.c (gfc_generate_function_code): Only check
actual-vs.-dummy character bounds if not bind(C).
2010-02-10 Tobias Burnus <burnus@net-b.de>
PR fortran/43015
* gfortran.dg/bind_c_usage_20.f90: New test.
From-SVN: r156663
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/trans-decl.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 0e562a8..fc9a641 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2010-02-10 Tobias Burnus <burnus@net-b.de> + + PR fortran/43015 + * trans-decl.c (gfc_generate_function_code): Only check + actual-vs.-dummy character bounds if not bind(C). + 2010-02-10 Jakub Jelinek <jakub@redhat.com> PR fortran/42309 diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 062310a..34e153a 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -1,5 +1,5 @@ /* Backend function setup - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 + Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Paul Brook @@ -4367,7 +4367,7 @@ gfc_generate_function_code (gfc_namespace * ns) /* If bounds-checking is enabled, generate code to check passed in actual arguments against the expected dummy argument attributes (e.g. string lengths). */ - if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) + if ((gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) && !sym->attr.is_bind_c) add_argument_checking (&body, sym); tmp = gfc_trans_code (ns->code); |