This is the mail archive of the gcc-patches@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]

[PATCH,fortran]: partial fix for PR 32600


hi all,

the attached patch is a partial fix for PR 32600; it generates code to inline c_associated rather than call a library routine. PR 32600 is an enhancement pr, so if it is too late into 4.3 for this patch to be applied, i can hold off on it until later.

there are two main parts to the patch; one is mostly in trans-expr.c and it generates the inlined code and the other is simply removing c_associated from libgfortran. the part for the frontend does not depend on the changes to libgfortran, so it is compatible with existing versions of the library for gcc 4.3.0 if it is too late to change the library.

bootstrapped and regtested on x86 linux with no new failures.

thanks.
Chris

:ADDPATCH fortran:

ChangeLog entry:

2007-10-12 Christopher D. Rickett <crickett@lanl.gov>

	PR fortran/32600
	* trans-expr.c (gfc_conv_function_call): Generate code to inline
	c_associated.
	* symbol.c (get_iso_c_sym): Preserve from_intmod and intmod_sym_id
	attributes in the resolved symbol.
	* resolve.c (gfc_iso_c_sub_interface): Remove dead code.

2007-10-12 Christopher D. Rickett <crickett@lanl.gov>

	PR fortran/32600
	* libgfortran/intrinsics/iso_c_binding.c: Remove c_associated_1
	and c_associated_2.
	* libgfortran/intrinsics/iso_c_binding.h: Ditto.
	* libgfortran/gfortran.map: Ditto.

Attachment: icb.diff
Description: Text document


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