6ef14ae403
6 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Jakub Jelinek
|
748086b7b2 |
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841 |
||
Francois-Xavier Coudert
|
e6472bcede |
gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
* gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. * lang.opt: Add -fallow-leading-underscore. * match.c (gfc_match_name): Allow leading underscore in symbol name if -fallow-leading-underscore is used. * symbol.c (gfc_get_default_type): Add special case for symbol names beginning with an underscore. * trans-decl.c (gfc_get_extern_function_decl, gfc_build_intrinsic_function_decls): Add _gfortran prefix to library symbols selected_int_kind, selected_real_kind and all specifics. * options.c (gfc_init_options, gfc_handle_option): Handle the new -fallow-leading-underscore option. * m4/misc_specifics.m4: Add _gfortran prefix to specific names. * m4/specific2.m4: Likewise. * m4/specific.m4: Likewise. * intrinsics/f2c_specifics.F90: Likewise. * intrinsics/selected_int_kind.f90: Add _gfortran prefix. * intrinsics/selected_real_kind.f90: Likewise. * intrinsics/dprod_r8.f90: Likewise. * Makefile.am: Add -fallow-leading-underscore to the gfor_specific_src files, as well as selected_real_kind.F90 and selected_int_kind.F90 * Makefile.in: Regenerate. * generated/_sqrt_c8.F90: Regenerate. * generated/_sign_r16.F90: Regenerate. * generated/_log_c16.F90: Regenerate. * generated/_sin_c10.F90: Regenerate. * generated/_tanh_r4.F90: Regenerate. * generated/_tanh_r8.F90: Regenerate. * generated/_log10_r10.F90: Regenerate. * generated/_aimag_c4.F90: Regenerate. * generated/_sign_r4.F90: Regenerate. * generated/_aimag_c8.F90: Regenerate. * generated/_sign_r8.F90: Regenerate. * generated/_mod_i4.F90: Regenerate. * generated/_cos_r16.F90: Regenerate. * generated/_aint_r10.F90: Regenerate. * generated/_mod_i8.F90: Regenerate. * generated/_abs_i16.F90: Regenerate. * generated/_sqrt_c10.F90: Regenerate. * generated/_atan2_r4.F90: Regenerate. * generated/_cos_c4.F90: Regenerate. * generated/_atan_r16.F90: Regenerate. * generated/_tanh_r10.F90: Regenerate. * generated/_atan2_r8.F90: Regenerate. * generated/_cos_c8.F90: Regenerate. * generated/_exp_r4.F90: Regenerate. * generated/_log_r10.F90: Regenerate. * generated/_exp_r8.F90: Regenerate. * generated/_abs_r4.F90: Regenerate. * generated/_abs_r8.F90: Regenerate. * generated/_sin_r16.F90: Regenerate. * generated/_tan_r4.F90: Regenerate. * generated/_tan_r8.F90: Regenerate. * generated/_sign_i4.F90: Regenerate. * generated/_sign_i8.F90: Regenerate. * generated/_exp_c16.F90: Regenerate. * generated/_sqrt_r16.F90: Regenerate. * generated/_conjg_c4.F90: Regenerate. * generated/_conjg_c8.F90: Regenerate. * generated/_dim_r16.F90: Regenerate. * generated/_mod_r10.F90: Regenerate. * generated/_abs_c10.F90: Regenerate. * generated/_conjg_c16.F90: Regenerate. * generated/_tan_r16.F90: Regenerate. * generated/_asinh_r10.F90: Regenerate. * generated/_abs_i4.F90: Regenerate. * generated/_abs_i8.F90: Regenerate. * generated/_acos_r10.F90: Regenerate. * generated/_exp_r10.F90: Regenerate. * generated/_acosh_r16.F90: Regenerate. * generated/_atan2_r16.F90: Regenerate. * generated/_cos_c16.F90: Regenerate. * generated/_mod_i16.F90: Regenerate. * generated/_asin_r4.F90: Regenerate. * generated/_anint_r16.F90: Regenerate. * generated/_asin_r8.F90: Regenerate. * generated/_aimag_c10.F90: Regenerate. * generated/_exp_c4.F90: Regenerate. * generated/_sinh_r10.F90: Regenerate. * generated/_exp_c8.F90: Regenerate. * generated/_log10_r4.F90: Regenerate. * generated/_log10_r8.F90: Regenerate. * generated/_abs_c4.F90: Regenerate. * generated/_abs_r16.F90: Regenerate. * generated/_abs_c8.F90: Regenerate. * generated/_asin_r10.F90: Regenerate. * generated/_sign_r10.F90: Regenerate. * generated/_atanh_r16.F90: Regenerate. * generated/_log_c10.F90: Regenerate. * generated/_cosh_r16.F90: Regenerate. * generated/_sin_c16.F90: Regenerate. * generated/_cos_r10.F90: Regenerate. * generated/_log10_r16.F90: Regenerate. * generated/_aint_r16.F90: Regenerate. * generated/_acos_r4.F90: Regenerate. * generated/_acos_r8.F90: Regenerate. * generated/_sqrt_c16.F90: Regenerate. * generated/_acosh_r4.F90: Regenerate. * generated/_atan_r10.F90: Regenerate. * generated/_acosh_r8.F90: Regenerate. * generated/_sign_i16.F90: Regenerate. * generated/_tanh_r16.F90: Regenerate. * generated/_log_r4.F90: Regenerate. * generated/_log_r8.F90: Regenerate. * generated/_sin_r4.F90: Regenerate. * generated/_sin_r8.F90: Regenerate. * generated/_log_r16.F90: Regenerate. * generated/_sin_r10.F90: Regenerate. * generated/_sqrt_r4.F90: Regenerate. * generated/_exp_c10.F90: Regenerate. * generated/_sqrt_r8.F90: Regenerate. * generated/_asinh_r4.F90: Regenerate. * generated/_sqrt_r10.F90: Regenerate. * generated/_asinh_r8.F90: Regenerate. * generated/_dim_r4.F90: Regenerate. * generated/_dim_r8.F90: Regenerate. * generated/_dim_r10.F90: Regenerate. * generated/_cosh_r4.F90: Regenerate. * generated/_conjg_c10.F90: Regenerate. * generated/_tan_r10.F90: Regenerate. * generated/_cosh_r8.F90: Regenerate. * generated/_mod_r16.F90: Regenerate. * generated/_abs_c16.F90: Regenerate. * generated/_cos_r4.F90: Regenerate. * generated/_asinh_r16.F90: Regenerate. * generated/_cos_r8.F90: Regenerate. * generated/_atanh_r4.F90: Regenerate. * generated/_atanh_r8.F90: Regenerate. * generated/_acos_r16.F90: Regenerate. * generated/_anint_r4.F90: Regenerate. * generated/_acosh_r10.F90: Regenerate. * generated/_anint_r8.F90: Regenerate. * generated/_exp_r16.F90: Regenerate. * generated/_mod_r4.F90: Regenerate. * generated/_cos_c10.F90: Regenerate. * generated/_atan2_r10.F90: Regenerate. * generated/_dim_i16.F90: Regenerate. * generated/_mod_r8.F90: Regenerate. * generated/_anint_r10.F90: Regenerate. * generated/_aint_r4.F90: Regenerate. * generated/_aint_r8.F90: Regenerate. * generated/_dim_i4.F90: Regenerate. * generated/_sinh_r4.F90: Regenerate. * generated/_log_c4.F90: Regenerate. * generated/_dim_i8.F90: Regenerate. * generated/_sinh_r8.F90: Regenerate. * generated/_log_c8.F90: Regenerate. * generated/_sin_c4.F90: Regenerate. * generated/_sin_c8.F90: Regenerate. * generated/misc_specifics.F90: Regenerate. * generated/_abs_r10.F90: Regenerate. * generated/_aimag_c16.F90: Regenerate. * generated/_atan_r4.F90: Regenerate. * generated/_sinh_r16.F90: Regenerate. * generated/_atan_r8.F90: Regenerate. * generated/_atanh_r10.F90: Regenerate. * generated/_cosh_r10.F90: Regenerate. * generated/_sqrt_c4.F90: Regenerate. * generated/_asin_r16.F90: Regenerate. From-SVN: r121007 |
||
François-Xavier Coudert
|
0e7e7e6e82 |
re PR fortran/16580 ([4.1 only] gfortran ICE on test g77.f-torture/execute/intrinsic77.f)
PR fortran/16580 PR fortran/29288 * gcc/fortran/intrinsic.c (add_sym): Define the actual_ok when a gfc_intrinsic_sym structure is filled. (gfc_intrinsic_actual_ok): New function. (add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s, add_sym_4s, add_sym_5s): Intrinsic subroutines are not allowed as actual arguments, so we remove argument actual_ok. (add_functions): Correct the values for actual_ok of all intrinsics. (add_subroutines): Remove the actual_ok argument, which was never used. * gcc/fortran/intrinsic.h (gfc_intrinsic_actual_ok): New prototype. * gcc/fortran/gfortran.h (gfc_resolve_index_func): New prototype. * gcc/fortran/resolve.c (resolve_actual_arglist): Check whether an intrinsic used as an argument list is allowed there. * gcc/fortran/iresolve.c (gfc_resolve_index_func): New function. (gfc_resolve_len): Change intrinsic function name to agree with libgfortran. * gcc/fortran/trans-decl.c (gfc_get_extern_function_decl): Add new case, because some specific intrinsics take 3 arguments. * gcc/fortran/intrinsic.texi: DIMAG is a GNU extension. * libgfortran/Makefile.am: Add the new files to the build process, and rules to build them. * libgfortran/Makefile.in: Regenerate. * libgfortran/m4/misc_specifics.m4: New file. * libgfortran/m4/specific.m4: Add new special cases for function with complex argument and real result, like abs_c* and aimag_c*. * libgfortran/intrinsics/f2c_specifics.F90: Add specifics for AIMAG, ASINH, ACOSH and ATANH. * libgfortran/generated/_aimag_c4.F90: New file. * libgfortran/generated/_aimag_c8.F90: New file. * libgfortran/generated/_asinh_r10.F90: New file. * libgfortran/generated/_acosh_r16.F90: New file. * libgfortran/generated/_aimag_c10.F90: New file. * libgfortran/generated/_atanh_r16.F90: New file. * libgfortran/generated/_acosh_r4.F90: New file. * libgfortran/generated/_acosh_r8.F90: New file. * libgfortran/generated/_asinh_r4.F90: New file. * libgfortran/generated/_asinh_r8.F90: New file. * libgfortran/generated/_asinh_r16.F90: New file. * libgfortran/generated/_atanh_r4.F90: New file. * libgfortran/generated/_atanh_r8.F90: New file. * libgfortran/generated/_acosh_r10.F90: New file. * libgfortran/generated/misc_specifics.F90: New file. * libgfortran/generated/_aimag_c16.F90: New file. * libgfortran/generated/_atanh_r10.F90: New file. * gcc/testsuite/gfortran.fortran-torture/execute/specifics.f90: Add tests for using all possible intrinsics as actual arguments. * gcc/testsuite/gfortran.dg/specifics_1.f90: Add tests for using all possible intrinsics as actual arguments. * gcc/testsuite/gfortran.dg/specifics_2.f90: New file. * gcc/testsuite/gfortran.dg/specifics_3.f90: New file. From-SVN: r117534 |
||
Francois-Xavier Coudert
|
5da8d27d97 |
f2c_specifics.F90: Special-case conjg functions so that their suffices are _4 and _8 instead of...
* intrinsics/f2c_specifics.F90: Special-case conjg functions so that their suffices are _4 and _8 instead of _c4 and _c8. From-SVN: r117335 |
||
Kelley Cook
|
fe2ae685a1 |
All files: Update FSF address.
2005-08-17 Kelley Cook <kcook@gcc.gnu.org> * All files: Update FSF address. From-SVN: r103194 |
||
Tobias Schlüter
|
973ff4c052 |
re PR fortran/20178 (COMPLEX function returns incompatible with g77)
gcc/fortran/ PR fortran/20178 * gfortran.h (gfc_option): Add flag_f2c. * invoke.texi: Document '-ff2c' command line option. Adapt documentation for '-fno-second-underscore' and '-fno-underscoring'. * lang.opt (ff2c): New entry. * options.c (gfc-init_options): Set default calling convention to -fno-f2c. Mark -fsecond-underscore unset. (gfc_post_options): Set -fsecond-underscore if not explicitly set by user. (handle_options): Set gfc_option.flag_f2c according to requested calling convention. * trans-decl.c (gfc_get_extern_function_decl): Use special f2c intrinsics where necessary. (gfc_trans_deferred_vars): Change todo error to assertion. * trans-expr.c (gfc_conv_variable): Dereference access to hidden result argument. (gfc_conv_function_call): Add hidden result argument to argument list if f2c calling conventions requested. Slightly restructure tests. Convert result of default REAL function to requested type if f2c calling conventions are used. Dereference COMPLEX result if f2c cc are used. * trans-types.c (gfc_sym_type): Return double for default REAL function if f2c cc are used. (gfc_return_by_reference): Slightly restructure logic. Return COMPLEX by reference depending on calling conventions. (gfc_get_function_type): Correctly make hidden result argument a pass-by-reference argument for COMPLEX. Remove old code which does this for derived types. libgfortran/ PR fortran/20178 * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90' to dependencies. * Makefile.in: Regenerate. * intrinsics/f2c_specific.F90: New file. gcc/testsuite/ PR fortran/20178 * gfortran.dg/f2c_1.f90, gfortran.dg/f2c_2.f90, gfortran.dg/f2c_3.f90: New tests. From-SVN: r99544 |