This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC 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]

r122582 - in /branches/fortran-experiments: gcc...


Author: kargl
Date: Mon Mar  5 23:38:42 2007
New Revision: 122582

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122582
Log:
2007-03-05  Christopher D. Rickett  <crickett@lanl.gov>

	* gfortran.dg/c_funloc_tests_2.f03: New test case.
	* gfortran.dg/c_funloc_tests.f03: Ditto.
	* gfortran.dg/c_loc_tests_2.f03: Updated test case.
	* gfortran.dg/c_assoc_2.f03: New test case.
	* gfortran.dg/c_loc_tests_3.f03: Ditto.
	* gfortran.dg/c_loc_tests_4.f03: Ditto.
	* gfortran.dg/c_loc_tests_5.f03: Ditto.
	* gfortran.dg/test_common_binding_labels.f03: Ditto.
	* gfortran.dg/binding_label_tests_13_main.f03: Ditto.  Used with
	binding_label_tests_13.
	* gfortran.dg/binding_label_tests_12.f03: New test case.
	* gfortran.dg/bind_c_coms.f90: Updated test case.
	* gfortran.dg/binding_label_tests_13.f03: New test case.
	* gfortran.dg/test_common_binding_labels_2.f03: Ditto.
	* gfortran.dg/test_common_binding_labels_3.f03: Ditto.
	* gfortran.dg/test_common_binding_labels_2_main.f03: Ditto.  Used
	with test_common_binding_labels_2.
	* gfortran.dg/bind_c_procs.f03: New test case.
	* gfortran.dg/c_loc_test.f90: Updated test case.
	* gfortran.dg/test_common_binding_labels_3_main.f03: New test
	case. Used with test_common_binding_labels_3.
	* gfortran.dg/bind_c_coms_driver.c: Updated.

	* symbol.c (gen_special_c_interop_ptrs): Renamed to
	gen_special_c_interop_ptr and changed arguments.
	(generate_iso_c_binding_symbol): Added ISOCBINDING_NULL_PTR,
	ISOCBINDING_NULL_FUNPTR, and ISOCBINDING_FUNLOC.
	* decl.c (verify_c_interop_param): Added check for procedures.
	(set_binding_label): Allow for NAME="".
	(gfc_match_bind_c): Ditto.
	(match_proc_decl): Updated for NAME="".
	* trans-common.c (gfc_sym_mangled_common_id): Allow for NAME="".
	* gfortran.h: Added binding label field to gfc_gsymbol.
	(gfc_check_any_c_kind): Added prototype.
	* iso-c-binding.def: Added ISOCBINDING_NULL_PTR,
	ISOCBINDING_NULL_FUNPTR, and ISOCBINDING_FUNLOC.
	* module.c (write_common): Allow for NAME="".
	(write_symbol): Ditto.
	(sort_iso_c_rename_list): New function to sort iso_c_binding
	rename list to meet dependencies between symbols.
	(import_iso_c_binding_module): Call sort_iso_c_rename_list.
	* trans-types.c (gfc_check_any_c_kind): New function that returns
	SUCCESS if any C kind is interoperable with given Fortran type.
	* resolve.c (resolve_contained_functions): Removed verification of
	BIND(C) procedures.
	(is_scalar_expr_ptr): Determine if parameter to C_LOC is scalar expr.
	(gfc_iso_c_func_interface): Changed return type to
	SUCCESS/FAILURE.  Added code for ISOCBINDING_FUNLOC.  Added error
	checking for ISOCBINDING_LOC.
	(resolve_function): Moved call to gfc_iso_c_func_interface until
	after resolving the argument(s).
	(resolve_bind_c_comms): Verify binding labels for BIND(C) common
	blocks.
	(gfc_verify_binding_labels): Updated error checks.
	(resolve_fl_procedure): Added verification for BIND(C) procedures.
	(resolve_symbol): Removed C interoperability checking for dummy
	arguments to a BIND(C) procedure (now done in
	resolve_fl_procedure).
	(resolve_types): Added calls to traverse namespace and verify
	binding labels for BIND(C) global symbols and common blocks.
	* primary.c (gfc_match_rvalue): Removed most of the error checking
	for ISOCBINDING_LOC, ISOCBINDING_FUNLOC, and
	ISOCBINDING_ASSOCIATED (now done in gfc_iso_c_func_interface).
	* iso_c_generated_procs.c (c_f_pointer_i1, c_f_pointer_i2,
	c_f_pointer_i16): Added prototypes and function definitions.
	* iso_c_binding.c (c_funloc): Added function definition.
	* iso_c_binding.h (c_funloc): Added prototype.


Added:
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/bind_c_procs.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/binding_label_tests_12.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/binding_label_tests_13.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/binding_label_tests_13_main.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/c_assoc_2.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/c_funloc_tests.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/c_funloc_tests_2.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/c_loc_tests_3.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/c_loc_tests_4.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/c_loc_tests_5.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/test_common_binding_labels.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/test_common_binding_labels_2.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/test_common_binding_labels_2_main.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/test_common_binding_labels_3.f03
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/test_common_binding_labels_3_main.f03
Modified:
    branches/fortran-experiments/gcc/fortran/ChangeLog.isocbinding
    branches/fortran-experiments/gcc/fortran/decl.c
    branches/fortran-experiments/gcc/fortran/gfortran.h
    branches/fortran-experiments/gcc/fortran/iso-c-binding.def
    branches/fortran-experiments/gcc/fortran/module.c
    branches/fortran-experiments/gcc/fortran/primary.c
    branches/fortran-experiments/gcc/fortran/resolve.c
    branches/fortran-experiments/gcc/fortran/symbol.c
    branches/fortran-experiments/gcc/fortran/trans-common.c
    branches/fortran-experiments/gcc/fortran/trans-types.c
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/bind_c_coms.f90
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/bind_c_coms_driver.c
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/c_loc_test.f90
    branches/fortran-experiments/gcc/testsuite/gfortran.dg/c_loc_tests_2.f03
    branches/fortran-experiments/libgfortran/intrinsics/iso_c_binding.c
    branches/fortran-experiments/libgfortran/intrinsics/iso_c_binding.h
    branches/fortran-experiments/libgfortran/intrinsics/iso_c_generated_procs.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]