This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
2007-02-26 Christopher D. Rickett <crickett@lanl.gov> * gcc/testsuite/gfortran.dg/binding_label_tests_10_main.f03: New test case to make sure the compiler catches binding label collisions across separate files when they're use associated into one namespace. * gcc/testsuite/gfortran.dg/bind_c_usage_7.f03: New test case to make sure gfortran reports an error for BIND(C) procedures that try to return an array or character string. * gcc/testsuite/gfortran.dg/binding_label_tests_11_main.f03: Same type of test case as binding_label_tests_10, but for contained procedures. * gcc/testsuite/gfortran.dg/interop_params.f03: The warning for my_type is now an error (missing BIND(C) in derived type definition). * gcc/testsuite/gfortran.dg/binding_label_tests_10.f03: New test case that goes with binding_labels_10_main.f03. * gcc/testsuite/gfortran.dg/binding_label_tests_11.f03: New test case that goes with binding_labels_11_main.f03. * gcc/testsuite/gfortran.dg/binding_label_tests_2.f03: Updated test case to remove the error for a NAME="" specifier. * gcc/testsuite/gfortran.dg/binding_label_tests.f03: Updated test case to include a NAME="" specifier, since this is valid. * gcc/testsuite/gfortran.dg/bind_c_dts_3.f03: Updated my_c_type_1 to an error from a warning. * gcc/testsuite/gfortran.dg/bind_c_dts_4.f03: Test case to make sure the warnings for derived types are only printed once. * gcc/testsuite/gfortran.dg/binding_label_tests_9.f03: New test case that ensures gfortran reports a warning if a private variable that is BIND(C) is given a binding label. * gcc/fortran/decl.c: Updated verify_c_interop_param to include procedures. Report an error for BIND(C) derived types that are found conclusively to not be C interoperable (warnings still allow derived types to be C interoperable). Added checks to verify_bind_c_sym to make sure functions do not return arrays or strings and if the BIND(C) symbol is PRIVATE, a warning is reported if a binding label was given. Updated gfc_match_bind_c to allow for NAME="". * gcc/fortran/gfortran.h: Added mod_name field to gfc_gsymbol to allow gfc_verify_binding_labels to correctly catch binding label collisions that are in separate modules in separate files if something uses both modules. * gcc/fortran/resolve.c: Updated verify_bind_c_sym in resolve_contained_functions to be called for both functions and subroutines. Added resolve_bind_c_derived_types so the components of derived types can be tested once, rather than for each time it is encountered in a variable declaration. Updated gfc_verify_binding_labels to ensure binding labels do not collide even if they're in separate modules (in separate files) and then used together in one namespace. Set the module name for the gfc_gsymbol for the BIND(C) symbol to enable this checking. Changed the way BIND(C) derived types are verified during resolution to not call verify_bind_c_derived_type unless the user needs it to be BIND(C) (C interoperable) but did not mark it as such. * gcc/fortran/trans-decl.c: Added check to gfc_sym_mangled_identifier to see if a binding label was provided for a BIND(C) symbol. * gcc/fortran/parse.c: Removed call to verify_bind_c_derived_type that was in parse_derived. This is now done during resolution in resolve_bind_c_derived_types.
Attachment:
svn_diff_ws.txt.gz
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |