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] | |
-- Janne Blomqvist
gfortran ChangeLog: 2006-11-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR fortran/27740 * gfortran.h: New variable flag_allow_leading_underscore. * lang.opt: New command line option -fallow-leading-underscore * trans-decl.c (gfc_get_extern_function_decl): Use symbol names starting with _gfortran_ * match.c (gfc_match_name): Match allow-leading-underscore * options.c: Init new variable. (gfc_handle_option): Handle new option. libgfortran: 2006-05-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Janne Blomqvist <jb@gcc.gnu.org> PR fortran/27740 * configure.ac: New test to determine if symbol versioning is supported. * Makefile.am: Use result of above test to add appropriate linker flags. * gfortran.map: New file. * libtool-version: Increase major version. * m4/misc_specifics.m4: Add _gfortran_ to symbol names. * m4/specific2.m4: Likewise. * m4/specific.m4: Likewise. * intrinsics/selected_int_kind.f90: Likewise. * intrinsics/selected_real_kind.f90: Likewise. * intrinsics/f2c_specifics.F90: Likewise. * intrinsics/dprod_r8.f90: Likewise. * configure: Regenerated. * Makefile.in: Regenerated. * generated/...: Regenerated specifics.
Attachment:
createmap.sh
Description: application/shellscript
GFORTRAN_1.0 {
global:
_fini;
_gfortran_abort;
_gfortran_access_func;
_gfortran_adjustl;
_gfortran_adjustr;
_gfortran_alarm_sub;
_gfortran_alarm_sub_int;
_gfortran_all_l4;
_gfortran_all_l8;
_gfortran_allocate;
_gfortran_allocate64;
_gfortran_allocate64_array;
_gfortran_allocate_array;
_gfortran_any_l4;
_gfortran_any_l8;
_gfortran_arandom_r10;
_gfortran_arandom_r4;
_gfortran_arandom_r8;
_gfortran_associated;
_gfortran_chdir_i4;
_gfortran_chdir_i4_sub;
_gfortran_chdir_i8;
_gfortran_chdir_i8_sub;
_gfortran_chmod_func;
_gfortran_chmod_i4_sub;
_gfortran_chmod_i8_sub;
_gfortran_compare_string;
_gfortran_concat_string;
_gfortran_count_4_l4;
_gfortran_count_4_l8;
_gfortran_count_8_l4;
_gfortran_count_8_l8;
_gfortran_cpu_time_10;
_gfortran_cpu_time_4;
_gfortran_cpu_time_8;
_gfortran_cshift0_1;
_gfortran_cshift0_1_char;
_gfortran_cshift0_2;
_gfortran_cshift0_2_char;
_gfortran_cshift0_4;
_gfortran_cshift0_4_char;
_gfortran_cshift0_8;
_gfortran_cshift0_8_char;
_gfortran_cshift1_4;
_gfortran_cshift1_4_char;
_gfortran_cshift1_8;
_gfortran_cshift1_8_char;
_gfortran_ctime;
_gfortran_ctime_sub;
_gfortran_date_and_time;
_gfortran_deallocate;
_gfortran_eoshift0_1;
_gfortran_eoshift0_1_char;
_gfortran_eoshift0_2;
_gfortran_eoshift0_2_char;
_gfortran_eoshift0_4;
_gfortran_eoshift0_4_char;
_gfortran_eoshift0_8;
_gfortran_eoshift0_8_char;
_gfortran_eoshift1_4;
_gfortran_eoshift1_4_char;
_gfortran_eoshift1_8;
_gfortran_eoshift1_8_char;
_gfortran_eoshift2_1;
_gfortran_eoshift2_1_char;
_gfortran_eoshift2_2;
_gfortran_eoshift2_2_char;
_gfortran_eoshift2_4;
_gfortran_eoshift2_4_char;
_gfortran_eoshift2_8;
_gfortran_eoshift2_8_char;
_gfortran_eoshift3_4;
_gfortran_eoshift3_4_char;
_gfortran_eoshift3_8;
_gfortran_eoshift3_8_char;
_gfortran_etime;
_gfortran_etime_sub;
_gfortran_exit_i4;
_gfortran_exit_i8;
_gfortran_exponent_r10;
_gfortran_exponent_r4;
_gfortran_exponent_r8;
_gfortran_fdate;
_gfortran_fdate_sub;
_gfortran_fget;
_gfortran_fget_i1_sub;
_gfortran_fget_i2_sub;
_gfortran_fget_i4_sub;
_gfortran_fget_i8_sub;
_gfortran_fgetc;
_gfortran_fgetc_i1_sub;
_gfortran_fgetc_i2_sub;
_gfortran_fgetc_i4_sub;
_gfortran_fgetc_i8_sub;
_gfortran_flush_i4;
_gfortran_flush_i8;
_gfortran_fnum_i4;
_gfortran_fnum_i8;
_gfortran_fput;
_gfortran_fput_i1_sub;
_gfortran_fput_i2_sub;
_gfortran_fput_i4_sub;
_gfortran_fput_i8_sub;
_gfortran_fputc;
_gfortran_fputc_i1_sub;
_gfortran_fputc_i2_sub;
_gfortran_fputc_i4_sub;
_gfortran_fputc_i8_sub;
_gfortran_fraction_r10;
_gfortran_fraction_r4;
_gfortran_fraction_r8;
_gfortran_free;
_gfortran_fstat_i4;
_gfortran_fstat_i4_sub;
_gfortran_fstat_i8;
_gfortran_fstat_i8_sub;
_gfortran_ftell;
_gfortran_ftell_i1_sub;
_gfortran_ftell_i2_sub;
_gfortran_ftell_i4_sub;
_gfortran_ftell_i8_sub;
_gfortran_gerror;
_gfortran_get_command_argument_i4;
_gfortran_get_command_argument_i8;
_gfortran_get_command_i4;
_gfortran_get_command_i8;
_gfortran_get_environment_variable_i4;
_gfortran_get_environment_variable_i8;
_gfortran_getarg_i4;
_gfortran_getarg_i8;
_gfortran_getcwd;
_gfortran_getcwd_i4_sub;
_gfortran_getcwd_i8_sub;
_gfortran_getenv;
_gfortran_getgid;
_gfortran_getlog;
_gfortran_getpid;
_gfortran_getuid;
_gfortran_gmtime_i4;
_gfortran_gmtime_i8;
_gfortran_hostnm;
_gfortran_hostnm_i4_sub;
_gfortran_hostnm_i8_sub;
_gfortran_iargc;
_gfortran_idate_i4;
_gfortran_idate_i8;
_gfortran_ierrno_i4;
_gfortran_ierrno_i8;
_gfortran_internal_free;
_gfortran_internal_malloc;
_gfortran_internal_malloc64;
_gfortran_internal_pack;
_gfortran_internal_realloc;
_gfortran_internal_realloc64;
_gfortran_internal_unpack;
_gfortran_irand;
_gfortran_isatty_l4;
_gfortran_isatty_l8;
_gfortran_ishftc4;
_gfortran_ishftc8;
_gfortran_itime_i4;
_gfortran_itime_i8;
_gfortran_kill_i4;
_gfortran_kill_i4_sub;
_gfortran_kill_i8;
_gfortran_kill_i8_sub;
_gfortran_link_i4;
_gfortran_link_i4_sub;
_gfortran_link_i8;
_gfortran_link_i8_sub;
_gfortran_lstat_i4;
_gfortran_lstat_i4_sub;
_gfortran_lstat_i8;
_gfortran_lstat_i8_sub;
_gfortran_ltime_i4;
_gfortran_ltime_i8;
_gfortran_malloc;
_gfortran_matmul_c10;
_gfortran_matmul_c4;
_gfortran_matmul_c8;
_gfortran_matmul_i4;
_gfortran_matmul_i8;
_gfortran_matmul_l4;
_gfortran_matmul_l8;
_gfortran_matmul_r10;
_gfortran_matmul_r4;
_gfortran_matmul_r8;
_gfortran_maxloc0_4_i4;
_gfortran_maxloc0_4_i8;
_gfortran_maxloc0_4_r10;
_gfortran_maxloc0_4_r4;
_gfortran_maxloc0_4_r8;
_gfortran_maxloc0_8_i4;
_gfortran_maxloc0_8_i8;
_gfortran_maxloc0_8_r10;
_gfortran_maxloc0_8_r4;
_gfortran_maxloc0_8_r8;
_gfortran_maxloc1_4_i4;
_gfortran_maxloc1_4_i8;
_gfortran_maxloc1_4_r10;
_gfortran_maxloc1_4_r4;
_gfortran_maxloc1_4_r8;
_gfortran_maxloc1_8_i4;
_gfortran_maxloc1_8_i8;
_gfortran_maxloc1_8_r10;
_gfortran_maxloc1_8_r4;
_gfortran_maxloc1_8_r8;
_gfortran_maxval_i4;
_gfortran_maxval_i8;
_gfortran_maxval_r10;
_gfortran_maxval_r4;
_gfortran_maxval_r8;
_gfortran_mclock;
_gfortran_mclock8;
_gfortran_minloc0_4_i4;
_gfortran_minloc0_4_i8;
_gfortran_minloc0_4_r10;
_gfortran_minloc0_4_r4;
_gfortran_minloc0_4_r8;
_gfortran_minloc0_8_i4;
_gfortran_minloc0_8_i8;
_gfortran_minloc0_8_r10;
_gfortran_minloc0_8_r4;
_gfortran_minloc0_8_r8;
_gfortran_minloc1_4_i4;
_gfortran_minloc1_4_i8;
_gfortran_minloc1_4_r10;
_gfortran_minloc1_4_r4;
_gfortran_minloc1_4_r8;
_gfortran_minloc1_8_i4;
_gfortran_minloc1_8_i8;
_gfortran_minloc1_8_r10;
_gfortran_minloc1_8_r4;
_gfortran_minloc1_8_r8;
_gfortran_minval_i4;
_gfortran_minval_i8;
_gfortran_minval_r10;
_gfortran_minval_r4;
_gfortran_minval_r8;
_gfortran_mmaxloc0_4_i4;
_gfortran_mmaxloc0_4_i8;
_gfortran_mmaxloc0_4_r10;
_gfortran_mmaxloc0_4_r4;
_gfortran_mmaxloc0_4_r8;
_gfortran_mmaxloc0_8_i4;
_gfortran_mmaxloc0_8_i8;
_gfortran_mmaxloc0_8_r10;
_gfortran_mmaxloc0_8_r4;
_gfortran_mmaxloc0_8_r8;
_gfortran_mmaxloc1_4_i4;
_gfortran_mmaxloc1_4_i8;
_gfortran_mmaxloc1_4_r10;
_gfortran_mmaxloc1_4_r4;
_gfortran_mmaxloc1_4_r8;
_gfortran_mmaxloc1_8_i4;
_gfortran_mmaxloc1_8_i8;
_gfortran_mmaxloc1_8_r10;
_gfortran_mmaxloc1_8_r4;
_gfortran_mmaxloc1_8_r8;
_gfortran_mmaxval_i4;
_gfortran_mmaxval_i8;
_gfortran_mmaxval_r10;
_gfortran_mmaxval_r4;
_gfortran_mmaxval_r8;
_gfortran_mminloc0_4_i4;
_gfortran_mminloc0_4_i8;
_gfortran_mminloc0_4_r10;
_gfortran_mminloc0_4_r4;
_gfortran_mminloc0_4_r8;
_gfortran_mminloc0_8_i4;
_gfortran_mminloc0_8_i8;
_gfortran_mminloc0_8_r10;
_gfortran_mminloc0_8_r4;
_gfortran_mminloc0_8_r8;
_gfortran_mminloc1_4_i4;
_gfortran_mminloc1_4_i8;
_gfortran_mminloc1_4_r10;
_gfortran_mminloc1_4_r4;
_gfortran_mminloc1_4_r8;
_gfortran_mminloc1_8_i4;
_gfortran_mminloc1_8_i8;
_gfortran_mminloc1_8_r10;
_gfortran_mminloc1_8_r4;
_gfortran_mminloc1_8_r8;
_gfortran_mminval_i4;
_gfortran_mminval_i8;
_gfortran_mminval_r10;
_gfortran_mminval_r4;
_gfortran_mminval_r8;
_gfortran_move_alloc;
_gfortran_move_alloc_c;
_gfortran_mproduct_c10;
_gfortran_mproduct_c4;
_gfortran_mproduct_c8;
_gfortran_mproduct_i4;
_gfortran_mproduct_i8;
_gfortran_mproduct_r10;
_gfortran_mproduct_r4;
_gfortran_mproduct_r8;
_gfortran_msum_c10;
_gfortran_msum_c4;
_gfortran_msum_c8;
_gfortran_msum_i4;
_gfortran_msum_i8;
_gfortran_msum_r10;
_gfortran_msum_r4;
_gfortran_msum_r8;
_gfortran_mvbits_i1;
_gfortran_mvbits_i2;
_gfortran_mvbits_i4;
_gfortran_mvbits_i8;
_gfortran_nearest_r10;
_gfortran_nearest_r4;
_gfortran_nearest_r8;
_gfortran_pack;
_gfortran_pack_char;
_gfortran_pack_s;
_gfortran_pack_s_char;
_gfortran_pause_numeric;
_gfortran_pause_string;
_gfortran_perror_sub;
_gfortran_pow_c10_i4;
_gfortran_pow_c10_i8;
_gfortran_pow_c4_i4;
_gfortran_pow_c4_i8;
_gfortran_pow_c8_i4;
_gfortran_pow_c8_i8;
_gfortran_pow_i4_i4;
_gfortran_pow_i4_i8;
_gfortran_pow_i8_i4;
_gfortran_pow_i8_i8;
_gfortran_pow_r10_i4;
_gfortran_pow_r10_i8;
_gfortran_pow_r4_i4;
_gfortran_pow_r4_i8;
_gfortran_pow_r8_i4;
_gfortran_pow_r8_i8;
_gfortran_product_c10;
_gfortran_product_c4;
_gfortran_product_c8;
_gfortran_product_i4;
_gfortran_product_i8;
_gfortran_product_r10;
_gfortran_product_r4;
_gfortran_product_r8;
_gfortran_rand;
_gfortran_random_r10;
_gfortran_random_r4;
_gfortran_random_r8;
_gfortran_random_seed;
_gfortran_rename_i4;
_gfortran_rename_i4_sub;
_gfortran_rename_i8;
_gfortran_rename_i8_sub;
_gfortran_reshape;
_gfortran_reshape_4;
_gfortran_reshape_8;
_gfortran_reshape_c10;
_gfortran_reshape_c4;
_gfortran_reshape_c8;
_gfortran_reshape_char;
_gfortran_reshape_r10;
_gfortran_reshape_r4;
_gfortran_reshape_r8;
_gfortran_rrspacing_r10;
_gfortran_rrspacing_r4;
_gfortran_rrspacing_r8;
_gfortran_runtime_error;
_gfortran_secnds;
_gfortran_second;
_gfortran_second_sub;
_gfortran_select_string;
_gfortran_selected_int_kind;
_gfortran_selected_real_kind;
_gfortran_set_args;
_gfortran_set_convert;
_gfortran_set_exponent_r10;
_gfortran_set_exponent_r4;
_gfortran_set_exponent_r8;
_gfortran_set_fpe;
_gfortran_set_record_marker;
_gfortran_set_std;
_gfortran_shape_4;
_gfortran_shape_8;
_gfortran_signal_func;
_gfortran_signal_func_int;
_gfortran_signal_sub;
_gfortran_signal_sub_int;
_gfortran_size0;
_gfortran_size1;
_gfortran_sleep_i4_sub;
_gfortran_sleep_i8_sub;
_gfortran_smaxloc0_4_i4;
_gfortran_smaxloc0_4_i8;
_gfortran_smaxloc0_4_r10;
_gfortran_smaxloc0_4_r4;
_gfortran_smaxloc0_4_r8;
_gfortran_smaxloc0_8_i4;
_gfortran_smaxloc0_8_i8;
_gfortran_smaxloc0_8_r10;
_gfortran_smaxloc0_8_r4;
_gfortran_smaxloc0_8_r8;
_gfortran_smaxloc1_4_i4;
_gfortran_smaxloc1_4_i8;
_gfortran_smaxloc1_4_r10;
_gfortran_smaxloc1_4_r4;
_gfortran_smaxloc1_4_r8;
_gfortran_smaxloc1_8_i4;
_gfortran_smaxloc1_8_i8;
_gfortran_smaxloc1_8_r10;
_gfortran_smaxloc1_8_r4;
_gfortran_smaxloc1_8_r8;
_gfortran_smaxval_i4;
_gfortran_smaxval_i8;
_gfortran_smaxval_r10;
_gfortran_smaxval_r4;
_gfortran_smaxval_r8;
_gfortran_sminloc0_4_i4;
_gfortran_sminloc0_4_i8;
_gfortran_sminloc0_4_r10;
_gfortran_sminloc0_4_r4;
_gfortran_sminloc0_4_r8;
_gfortran_sminloc0_8_i4;
_gfortran_sminloc0_8_i8;
_gfortran_sminloc0_8_r10;
_gfortran_sminloc0_8_r4;
_gfortran_sminloc0_8_r8;
_gfortran_sminloc1_4_i4;
_gfortran_sminloc1_4_i8;
_gfortran_sminloc1_4_r10;
_gfortran_sminloc1_4_r4;
_gfortran_sminloc1_4_r8;
_gfortran_sminloc1_8_i4;
_gfortran_sminloc1_8_i8;
_gfortran_sminloc1_8_r10;
_gfortran_sminloc1_8_r4;
_gfortran_sminloc1_8_r8;
_gfortran_sminval_i4;
_gfortran_sminval_i8;
_gfortran_sminval_r10;
_gfortran_sminval_r4;
_gfortran_sminval_r8;
_gfortran_spacing_r10;
_gfortran_spacing_r4;
_gfortran_spacing_r8;
_gfortran_specific__abs_c10;
_gfortran_specific__abs_c4;
_gfortran_specific__abs_c8;
_gfortran_specific__abs_i4;
_gfortran_specific__abs_i8;
_gfortran_specific__abs_r10;
_gfortran_specific__abs_r4;
_gfortran_specific__abs_r8;
_gfortran_specific__acos_r10;
_gfortran_specific__acos_r4;
_gfortran_specific__acos_r8;
_gfortran_specific__acosh_r10;
_gfortran_specific__acosh_r4;
_gfortran_specific__acosh_r8;
_gfortran_specific__aimag_c10;
_gfortran_specific__aimag_c4;
_gfortran_specific__aimag_c8;
_gfortran_specific__aint_r10;
_gfortran_specific__aint_r4;
_gfortran_specific__aint_r8;
_gfortran_specific__anint_r10;
_gfortran_specific__anint_r4;
_gfortran_specific__anint_r8;
_gfortran_specific__asin_r10;
_gfortran_specific__asin_r4;
_gfortran_specific__asin_r8;
_gfortran_specific__asinh_r10;
_gfortran_specific__asinh_r4;
_gfortran_specific__asinh_r8;
_gfortran_specific__atan2_r10;
_gfortran_specific__atan2_r4;
_gfortran_specific__atan2_r8;
_gfortran_specific__atan_r10;
_gfortran_specific__atan_r4;
_gfortran_specific__atan_r8;
_gfortran_specific__atanh_r10;
_gfortran_specific__atanh_r4;
_gfortran_specific__atanh_r8;
_gfortran_specific__char_1_i4;
_gfortran_specific__char_1_i8;
_gfortran_specific__conjg_10;
_gfortran_specific__conjg_4;
_gfortran_specific__conjg_8;
_gfortran_specific__cos_c10;
_gfortran_specific__cos_c4;
_gfortran_specific__cos_c8;
_gfortran_specific__cos_r10;
_gfortran_specific__cos_r4;
_gfortran_specific__cos_r8;
_gfortran_specific__cosh_r10;
_gfortran_specific__cosh_r4;
_gfortran_specific__cosh_r8;
_gfortran_specific__dim_i4;
_gfortran_specific__dim_i8;
_gfortran_specific__dim_r10;
_gfortran_specific__dim_r4;
_gfortran_specific__dim_r8;
_gfortran_specific__dprod_r8;
_gfortran_specific__exp_c10;
_gfortran_specific__exp_c4;
_gfortran_specific__exp_c8;
_gfortran_specific__exp_r10;
_gfortran_specific__exp_r4;
_gfortran_specific__exp_r8;
_gfortran_specific__index_1_i4;
_gfortran_specific__index_1_i8;
_gfortran_specific__len_1_i4;
_gfortran_specific__len_1_i8;
_gfortran_specific__log10_r10;
_gfortran_specific__log10_r4;
_gfortran_specific__log10_r8;
_gfortran_specific__log_c10;
_gfortran_specific__log_c4;
_gfortran_specific__log_c8;
_gfortran_specific__log_r10;
_gfortran_specific__log_r4;
_gfortran_specific__log_r8;
_gfortran_specific__mod_i4;
_gfortran_specific__mod_i8;
_gfortran_specific__mod_r10;
_gfortran_specific__mod_r4;
_gfortran_specific__mod_r8;
_gfortran_specific__nint_4_10;
_gfortran_specific__nint_4_4;
_gfortran_specific__nint_4_8;
_gfortran_specific__nint_8_10;
_gfortran_specific__nint_8_4;
_gfortran_specific__nint_8_8;
_gfortran_specific__sign_i4;
_gfortran_specific__sign_i8;
_gfortran_specific__sign_r10;
_gfortran_specific__sign_r4;
_gfortran_specific__sign_r8;
_gfortran_specific__sin_c10;
_gfortran_specific__sin_c4;
_gfortran_specific__sin_c8;
_gfortran_specific__sin_r10;
_gfortran_specific__sin_r4;
_gfortran_specific__sin_r8;
_gfortran_specific__sinh_r10;
_gfortran_specific__sinh_r4;
_gfortran_specific__sinh_r8;
_gfortran_specific__sqrt_c10;
_gfortran_specific__sqrt_c4;
_gfortran_specific__sqrt_c8;
_gfortran_specific__sqrt_r10;
_gfortran_specific__sqrt_r4;
_gfortran_specific__sqrt_r8;
_gfortran_specific__tan_r10;
_gfortran_specific__tan_r4;
_gfortran_specific__tan_r8;
_gfortran_specific__tanh_r10;
_gfortran_specific__tanh_r4;
_gfortran_specific__tanh_r8;
_gfortran_spread;
_gfortran_spread_char;
_gfortran_spread_char_scalar;
_gfortran_spread_scalar;
_gfortran_sproduct_c10;
_gfortran_sproduct_c4;
_gfortran_sproduct_c8;
_gfortran_sproduct_i4;
_gfortran_sproduct_i8;
_gfortran_sproduct_r10;
_gfortran_sproduct_r4;
_gfortran_sproduct_r8;
_gfortran_srand;
_gfortran_ssum_c10;
_gfortran_ssum_c4;
_gfortran_ssum_c8;
_gfortran_ssum_i4;
_gfortran_ssum_i8;
_gfortran_ssum_r10;
_gfortran_ssum_r4;
_gfortran_ssum_r8;
_gfortran_st_backspace;
_gfortran_st_close;
_gfortran_st_endfile;
_gfortran_st_flush;
_gfortran_st_inquire;
_gfortran_st_iolength;
_gfortran_st_iolength_done;
_gfortran_st_open;
_gfortran_st_read;
_gfortran_st_read_done;
_gfortran_st_rewind;
_gfortran_st_set_nml_var;
_gfortran_st_set_nml_var_dim;
_gfortran_st_write;
_gfortran_st_write_done;
_gfortran_stat_i4;
_gfortran_stat_i4_sub;
_gfortran_stat_i8;
_gfortran_stat_i8_sub;
_gfortran_stop_numeric;
_gfortran_stop_string;
_gfortran_string_index;
_gfortran_string_len_trim;
_gfortran_string_repeat;
_gfortran_string_scan;
_gfortran_string_trim;
_gfortran_string_verify;
_gfortran_sum_c10;
_gfortran_sum_c4;
_gfortran_sum_c8;
_gfortran_sum_i4;
_gfortran_sum_i8;
_gfortran_sum_r10;
_gfortran_sum_r4;
_gfortran_sum_r8;
_gfortran_symlnk_i4;
_gfortran_symlnk_i4_sub;
_gfortran_symlnk_i8;
_gfortran_symlnk_i8_sub;
_gfortran_system;
_gfortran_system_clock_4;
_gfortran_system_clock_8;
_gfortran_system_sub;
_gfortran_time8_func;
_gfortran_time_func;
_gfortran_transfer_array;
_gfortran_transfer_character;
_gfortran_transfer_complex;
_gfortran_transfer_integer;
_gfortran_transfer_logical;
_gfortran_transfer_real;
_gfortran_transpose;
_gfortran_transpose_c10;
_gfortran_transpose_c4;
_gfortran_transpose_c8;
_gfortran_transpose_char;
_gfortran_transpose_i4;
_gfortran_transpose_i8;
_gfortran_transpose_r10;
_gfortran_transpose_r4;
_gfortran_transpose_r8;
_gfortran_ttynam;
_gfortran_ttynam_sub;
_gfortran_umask_i4;
_gfortran_umask_i4_sub;
_gfortran_umask_i8;
_gfortran_umask_i8_sub;
_gfortran_unlink;
_gfortran_unlink_i4_sub;
_gfortran_unlink_i8_sub;
_gfortran_unpack0;
_gfortran_unpack0_char;
_gfortran_unpack1;
_gfortran_unpack1_char;
_init;
local:
*;
};
F2C_1.0 {
global:
_gfortran_f2c_specific__abs_c4;
_gfortran_f2c_specific__abs_r4;
_gfortran_f2c_specific__acos_r4;
_gfortran_f2c_specific__acosh_r4;
_gfortran_f2c_specific__aimag_c4;
_gfortran_f2c_specific__aimag_c8;
_gfortran_f2c_specific__aint_r4;
_gfortran_f2c_specific__anint_r4;
_gfortran_f2c_specific__asin_r4;
_gfortran_f2c_specific__asinh_r4;
_gfortran_f2c_specific__atan2_r4;
_gfortran_f2c_specific__atan_r4;
_gfortran_f2c_specific__atanh_r4;
_gfortran_f2c_specific__conjg_4;
_gfortran_f2c_specific__conjg_8;
_gfortran_f2c_specific__cos_c4;
_gfortran_f2c_specific__cos_c8;
_gfortran_f2c_specific__cos_r4;
_gfortran_f2c_specific__cosh_r4;
_gfortran_f2c_specific__dim_r4;
_gfortran_f2c_specific__exp_c4;
_gfortran_f2c_specific__exp_c8;
_gfortran_f2c_specific__exp_r4;
_gfortran_f2c_specific__log10_r4;
_gfortran_f2c_specific__log_c4;
_gfortran_f2c_specific__log_c8;
_gfortran_f2c_specific__log_r4;
_gfortran_f2c_specific__mod_r4;
_gfortran_f2c_specific__sign_r4;
_gfortran_f2c_specific__sin_c4;
_gfortran_f2c_specific__sin_c8;
_gfortran_f2c_specific__sin_r4;
_gfortran_f2c_specific__sinh_r4;
_gfortran_f2c_specific__sqrt_c4;
_gfortran_f2c_specific__sqrt_c8;
_gfortran_f2c_specific__sqrt_r4;
_gfortran_f2c_specific__tan_r4;
_gfortran_f2c_specific__tanh_r4;
local:
*;
};
Index: gcc/fortran/gfortran.h
===================================================================
--- gcc/fortran/gfortran.h (revision 118476)
+++ gcc/fortran/gfortran.h (working copy)
@@ -1648,6 +1648,7 @@ typedef struct
int flag_f2c;
int flag_automatic;
int flag_backslash;
+ int flag_allow_leading_underscore;
int flag_external_blas;
int blas_matmul_limit;
int flag_cray_pointer;
Index: gcc/fortran/lang.opt
===================================================================
--- gcc/fortran/lang.opt (revision 118476)
+++ gcc/fortran/lang.opt (working copy)
@@ -77,6 +77,10 @@ fall-intrinsics
Fortran RejectNegative
All intrinsics procedures are available regardless of selected standard
+fallow-leading-underscore
+Fortran Undocumented
+; For internal use only: allow the first character of symbol names to be an underscore
+
fautomatic
Fortran
Do not treat local variables and COMMON blocks as if they were named in SAVE statements
Index: gcc/fortran/trans-decl.c
===================================================================
--- gcc/fortran/trans-decl.c (revision 118476)
+++ gcc/fortran/trans-decl.c (working copy)
@@ -1052,7 +1052,7 @@ gfc_get_extern_function_decl (gfc_symbol
gfc_expr e;
gfc_intrinsic_sym *isym;
gfc_expr argexpr;
- char s[GFC_MAX_SYMBOL_LEN + 13]; /* "f2c_specific" and '\0'. */
+ char s[GFC_MAX_SYMBOL_LEN + 23]; /* "_gfortran_f2c_specific" and '\0'. */
tree name;
tree mangled_name;
@@ -1100,10 +1100,10 @@ gfc_get_extern_function_decl (gfc_symbol
{
/* Specific which needs a different implementation if f2c
calling conventions are used. */
- sprintf (s, "f2c_specific%s", e.value.function.name);
+ sprintf (s, "_gfortran_f2c_specific%s", e.value.function.name);
}
else
- sprintf (s, "specific%s", e.value.function.name);
+ sprintf (s, "_gfortran_specific%s", e.value.function.name);
name = get_identifier (s);
mangled_name = name;
@@ -2071,13 +2071,15 @@ gfc_build_intrinsic_function_decls (void
gfc_charlen_type_node, pchar_type_node);
gfor_fndecl_si_kind =
- gfc_build_library_function_decl (get_identifier ("selected_int_kind"),
+ gfc_build_library_function_decl (get_identifier
+ (PREFIX("selected_int_kind")),
gfc_int4_type_node,
1,
pvoid_type_node);
gfor_fndecl_sr_kind =
- gfc_build_library_function_decl (get_identifier ("selected_real_kind"),
+ gfc_build_library_function_decl (get_identifier
+ (PREFIX("selected_real_kind")),
gfc_int4_type_node,
2, pvoid_type_node,
pvoid_type_node);
Index: gcc/fortran/match.c
===================================================================
--- gcc/fortran/match.c (revision 118476)
+++ gcc/fortran/match.c (working copy)
@@ -394,7 +394,7 @@ gfc_match_name (char *buffer)
gfc_gobble_whitespace ();
c = gfc_next_char ();
- if (!ISALPHA (c))
+ if (!(ISALPHA (c) || (c == '_' && gfc_option.flag_allow_leading_underscore)))
{
gfc_current_locus = old_loc;
return MATCH_NO;
Index: gcc/fortran/options.c
===================================================================
--- gcc/fortran/options.c (revision 118476)
+++ gcc/fortran/options.c (working copy)
@@ -80,6 +80,7 @@ gfc_init_options (unsigned int argc ATTR
gfc_option.flag_preprocessed = 0;
gfc_option.flag_automatic = 1;
gfc_option.flag_backslash = 1;
+ gfc_option.flag_allow_leading_underscore = 0;
gfc_option.flag_external_blas = 0;
gfc_option.blas_matmul_limit = 30;
gfc_option.flag_cray_pointer = 0;
@@ -436,6 +437,10 @@ gfc_handle_option (size_t scode, const c
gfc_option.flag_automatic = value;
break;
+ case OPT_fallow_leading_underscore:
+ gfc_option.flag_allow_leading_underscore = value;
+ break;
+
case OPT_fbackslash:
gfc_option.flag_backslash = value;
break;
Index: libgfortran/configure.ac
===================================================================
--- libgfortran/configure.ac (revision 118476)
+++ libgfortran/configure.ac (working copy)
@@ -123,6 +123,20 @@ fi
AC_SUBST(AM_FCFLAGS)
AC_SUBST(AM_CFLAGS)
+# Check for symbol versioning (copied from libssp).
+AC_MSG_CHECKING([whether symbol versioning is supported])
+cat > conftest.map <<EOF
+FOO_1.0 {
+ global: *foo*; bar; local: *;
+};
+EOF
+save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map"
+AC_TRY_LINK([int foo;],[],[gfortran_use_symver=yes],[gfortran_use_symver=no])
+LDFLAGS="$save_LDFLAGS"
+AC_MSG_RESULT($gfortran_use_symver)
+AM_CONDITIONAL(LIBGFOR_USE_SYMVER, [test "x$gfortran_use_symver" = xyes])
+
# Find other programs we need.
AC_CHECK_TOOL(AS, as)
AC_CHECK_TOOL(AR, ar)
Index: libgfortran/Makefile.am
===================================================================
--- libgfortran/Makefile.am (revision 118476)
+++ libgfortran/Makefile.am (working copy)
@@ -6,8 +6,15 @@ ACLOCAL_AMFLAGS = -I ../config
## May be used by toolexeclibdir.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+## Symbol versioning (copied from libssp).
+if LIBGFOR_USE_SYMVER
+version_arg = -Wl,--version-script=$(srcdir)/gfortran.map
+else
+version_arg =
+endif
+
toolexeclib_LTLIBRARIES = libgfortran.la
-libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran)
+libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) $(version_arg)
myexeclib_LTLIBRARIES = libgfortranbegin.la
myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
@@ -603,6 +610,10 @@ $(patsubst %.c,%.lo,$(notdir $(i_matmul_
# Logical matmul doesn't vectorize.
$(patsubst %.c,%.lo,$(notdir $(i_matmull_c))): AM_CFLAGS += -funroll-loops
+# Add the -fallow-leading-underscore option when needed
+$(patsubst %.F90,%.lo,$(patsubst %.f90,%.lo,$(notdir $(gfor_specific_src)))): AM_FCFLAGS += -fallow-leading-underscore
+selected_real_kind.lo selected_int_kind.lo: AM_FCFLAGS += -fallow-leading-underscore
+
BUILT_SOURCES=$(gfor_built_src) $(gfor_built_specific_src) \
$(gfor_built_specific2_src) $(gfor_misc_specifics)
libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
Index: libgfortran/libtool-version
===================================================================
--- libgfortran/libtool-version (revision 118476)
+++ libgfortran/libtool-version (working copy)
@@ -3,4 +3,4 @@
# This is a separate file so that version updates don't involve re-running
# automake.
# CURRENT:REVISION:AGE
-2:0:0
+3:0:0
Index: libgfortran/m4/misc_specifics.m4
===================================================================
--- libgfortran/m4/misc_specifics.m4 (revision 118476)
+++ libgfortran/m4/misc_specifics.m4 (working copy)
@@ -22,10 +22,10 @@ divert
dnl NINT specifics
foreach(`ikind', `(4, 8, 16)', `foreach(`rkind', `(4, 8, 10, 16)', `
`#if defined (HAVE_GFC_REAL_'rkind`) && defined (HAVE_GFC_INTEGER_'ikind`)'
-elemental function specific__nint_`'ikind`_'rkind (parm)
+elemental function _gfortran_specific__nint_`'ikind`_'rkind (parm)
real (kind=rkind) , intent (in) :: parm
- integer (kind=ikind) :: specific__nint_`'ikind`_'rkind
- specific__nint_`'ikind`_'rkind = nint (parm)
+ integer (kind=ikind) :: _gfortran_specific__nint_`'ikind`_'rkind
+ _gfortran_specific__nint_`'ikind`_'rkind = nint (parm)
end function
#endif
')')
@@ -33,10 +33,10 @@ end function
dnl CHAR specifics
foreach(`ckind', `(1)', `foreach(`ikind', `(4, 8, 16)', `
`#if defined (HAVE_GFC_INTEGER_'ikind`)'
-elemental function specific__char_`'ckind`_i'ikind (parm)
+elemental function _gfortran_specific__char_`'ckind`_i'ikind (parm)
integer (kind=ikind) , intent (in) :: parm
- character (kind=ckind,len=1) :: specific__char_`'ckind`_i'ikind
- specific__char_`'ckind`_i'ikind` = char (parm, kind='ckind`)'
+ character (kind=ckind,len=1) :: _gfortran_specific__char_`'ckind`_i'ikind
+ _gfortran_specific__char_`'ckind`_i'ikind` = char (parm, kind='ckind`)'
end function
#endif
')')
@@ -44,10 +44,10 @@ end function
dnl LEN specifics
foreach(`ckind', `(1)', `foreach(`ikind', `(4, 8, 16)', `
`#if defined (HAVE_GFC_INTEGER_'ikind`)'
-elemental function specific__len_`'ckind`_i'ikind (parm)
+elemental function _gfortran_specific__len_`'ckind`_i'ikind (parm)
character (kind=ckind,len=*) , intent (in) :: parm
- integer (kind=ikind) :: specific__len_`'ckind`_i'ikind
- specific__len_`'ckind`_i'ikind` = len (parm)'
+ integer (kind=ikind) :: _gfortran_specific__len_`'ckind`_i'ikind
+ _gfortran_specific__len_`'ckind`_i'ikind` = len (parm)'
end function
#endif
')')
@@ -55,10 +55,10 @@ end function
dnl INDEX specifics
foreach(`ckind', `(1)', `foreach(`ikind', `(4, 8, 16)', `
`#if defined (HAVE_GFC_INTEGER_'ikind`)'
-elemental function specific__index_`'ckind`_i'ikind (parm1, parm2)
+elemental function _gfortran_specific__index_`'ckind`_i'ikind (parm1, parm2)
character (kind=ckind,len=*) , intent (in) :: parm1, parm2
- integer (kind=ikind) :: specific__index_`'ckind`_i'ikind
- specific__index_`'ckind`_i'ikind` = index (parm1, parm2)'
+ integer (kind=ikind) :: _gfortran_specific__index_`'ckind`_i'ikind
+ _gfortran_specific__index_`'ckind`_i'ikind` = index (parm1, parm2)'
end function
#endif
')')
Index: libgfortran/m4/specific2.m4
===================================================================
--- libgfortran/m4/specific2.m4 (revision 118476)
+++ libgfortran/m4/specific2.m4 (working copy)
@@ -6,7 +6,7 @@ define(get_typename2, `$1 (kind=$2)')dnl
define(get_typename, `get_typename2(ifelse($1,i,integer,ifelse($1,r,real,ifelse($1,l,logical,ifelse($1,c,complex,unknown)))),`$2')')dnl
define(atype_name, get_typename(atype_letter,atype_kind))dnl
define(name, regexp(regexp(file, `[^/]*$', `\&'), `^_\([^_]*\)_', `\1'))dnl
-define(function_name,`specific__'name`_'atype_code)dnl
+define(function_name,`_gfortran_specific__'name`_'atype_code)dnl
define(Q,ifelse(atype_kind,4,F,ifelse(atype_kind,8,`',ifelse(atype_kind,10,L,ifelse(atype_kind,16,L,`_'atype_kind)))))dnl
Index: libgfortran/m4/specific.m4
===================================================================
--- libgfortran/m4/specific.m4 (revision 118476)
+++ libgfortran/m4/specific.m4 (working copy)
@@ -7,7 +7,7 @@ define(get_typename, `get_typename2(ifel
define(atype_name, get_typename(atype_letter,atype_kind))dnl
define(name, regexp(regexp(file, `[^/]*$', `\&'), `^_\([^_]*\)_', `\1'))dnl
define(rtype_name,get_typename(ifelse(name,abs,ifelse(atype_letter,c,r,atype_letter),ifelse(name,aimag,ifelse(atype_letter,c,r,atype_letter),atype_letter)),atype_kind))dnl
-define(function_name,ifelse(name,conjg,`specific__conjg_'atype_kind,`specific__'name`_'atype_code))dnl
+define(function_name,ifelse(name,conjg,`_gfortran_specific__conjg_'atype_kind,`_gfortran_specific__'name`_'atype_code))dnl
define(type,ifelse(atype_letter,l,LOGICAL,ifelse(atype_letter,i,INTEGER,ifelse(atype_letter,r,REAL,ifelse(atype_letter,c,COMPLEX,UNKNOW)))))dnl
define(Q,ifelse(atype_kind,4,F,ifelse(atype_kind,8,`',ifelse(atype_kind,10,L,ifelse(atype_kind,16,L,`_'atype_kind)))))dnl
Index: libgfortran/intrinsics/selected_int_kind.f90
===================================================================
--- libgfortran/intrinsics/selected_int_kind.f90 (revision 118476)
+++ libgfortran/intrinsics/selected_int_kind.f90 (working copy)
@@ -19,10 +19,10 @@
!Boston, MA 02110-1301, USA.
!
-function selected_int_kind (r)
+function _gfortran_selected_int_kind (r)
implicit none
integer, intent (in) :: r
- integer :: selected_int_kind
+ integer :: _gfortran_selected_int_kind
integer :: i
! Integer kind_range table
type :: int_info
@@ -34,10 +34,10 @@ function selected_int_kind (r)
do i = 1, c
if (r <= int_infos (i) % range) then
- selected_int_kind = int_infos (i) % kind
+ _gfortran_selected_int_kind = int_infos (i) % kind
return
end if
end do
- selected_int_kind = -1
+ _gfortran_selected_int_kind = -1
return
end function
Index: libgfortran/intrinsics/selected_real_kind.f90
===================================================================
--- libgfortran/intrinsics/selected_real_kind.f90 (revision 118476)
+++ libgfortran/intrinsics/selected_real_kind.f90 (working copy)
@@ -19,10 +19,10 @@
!Boston, MA 02110-1301, USA.
!
-function selected_real_kind (p, r)
+function _gfortran_selected_real_kind (p, r)
implicit none
integer, optional, intent (in) :: p, r
- integer :: selected_real_kind
+ integer :: _gfortran_selected_real_kind
integer :: i, p2, r2
logical :: found_p, found_r
! Real kind_precision_range table
@@ -34,7 +34,7 @@ function selected_real_kind (p, r)
include "selected_real_kind.inc"
- selected_real_kind = 0
+ _gfortran_selected_real_kind = 0
p2 = 0
r2 = 0
found_p = .false.
@@ -49,13 +49,13 @@ function selected_real_kind (p, r)
if (p2 <= real_infos (i) % precision) found_p = .true.
if (r2 <= real_infos (i) % range) found_r = .true.
if (found_p .and. found_r) then
- selected_real_kind = real_infos (i) % kind
+ _gfortran_selected_real_kind = real_infos (i) % kind
return
end if
end do
- if (.not. (found_p)) selected_real_kind = selected_real_kind - 1
- if (.not. (found_r)) selected_real_kind = selected_real_kind - 2
+ if (.not. (found_p)) _gfortran_selected_real_kind = _gfortran_selected_real_kind - 1
+ if (.not. (found_r)) _gfortran_selected_real_kind = _gfortran_selected_real_kind - 2
return
end function
Index: libgfortran/intrinsics/f2c_specifics.F90
===================================================================
--- libgfortran/intrinsics/f2c_specifics.F90 (revision 118476)
+++ libgfortran/intrinsics/f2c_specifics.F90 (working copy)
@@ -41,7 +41,7 @@
! one argument functions
#define REAL_HEAD(NAME) \
-elemental function f2c_specific__/**/NAME/**/_r4 (parm) result(res);
+elemental function _gfortran_f2c_specific__/**/NAME/**/_r4 (parm) result(res);
#define REAL_BODY(NAME) \
REAL, intent (in) :: parm; \
@@ -50,7 +50,7 @@ elemental function f2c_specific__/**/NAM
end function
#define COMPLEX_HEAD(NAME) \
-subroutine f2c_specific__/**/NAME/**/_c4 (res, parm);
+subroutine _gfortran_f2c_specific__/**/NAME/**/_c4 (res, parm);
#define COMPLEX_BODY(NAME) \
COMPLEX, intent (in) :: parm; \
@@ -59,7 +59,7 @@ subroutine f2c_specific__/**/NAME/**/_c4
end subroutine
#define DCOMPLEX_HEAD(NAME) \
-subroutine f2c_specific__/**/NAME/**/_c8 (res, parm);
+subroutine _gfortran_f2c_specific__/**/NAME/**/_c8 (res, parm);
#define DCOMPLEX_BODY(NAME) \
DOUBLE COMPLEX, intent (in) :: parm; \
@@ -71,7 +71,7 @@ REAL_HEAD(abs)
REAL_BODY(abs)
! abs is special in that the result is real
-elemental function f2c_specific__abs_c4 (parm) result (res)
+elemental function _gfortran_f2c_specific__abs_c4 (parm) result (res)
COMPLEX, intent(in) :: parm
DOUBLE PRECISION :: res
res = abs(parm)
@@ -79,16 +79,16 @@ end function
! aimag is special in that the result is real
-elemental function f2c_specific__aimag_c4 (parm)
+elemental function _gfortran_f2c_specific__aimag_c4 (parm)
complex(kind=4), intent(in) :: parm
- double precision :: f2c_specific__aimag_c4
- f2c_specific__aimag_c4 = aimag(parm)
+ double precision :: _gfortran_f2c_specific__aimag_c4
+ _gfortran_f2c_specific__aimag_c4 = aimag(parm)
end function
-elemental function f2c_specific__aimag_c8 (parm)
+elemental function _gfortran_f2c_specific__aimag_c8 (parm)
complex(kind=8), intent(in) :: parm
- double precision :: f2c_specific__aimag_c8
- f2c_specific__aimag_c8 = aimag(parm)
+ double precision :: _gfortran_f2c_specific__aimag_c8
+ _gfortran_f2c_specific__aimag_c8 = aimag(parm)
end function
@@ -168,7 +168,7 @@ REAL_BODY(anint)
! two argument functions
#define REAL2_HEAD(NAME) \
-elemental function f2c_specific__/**/NAME/**/_r4 (p1, p2) result(res);
+elemental function _gfortran_f2c_specific__/**/NAME/**/_r4 (p1, p2) result(res);
#define REAL2_BODY(NAME) \
REAL, intent (in) :: p1, p2; \
@@ -189,12 +189,12 @@ REAL2_HEAD(mod)
REAL2_BODY(mod)
! conjg is special-cased because it is not suffixed _c4 but _4
-subroutine f2c_specific__conjg_4 (res, parm)
+subroutine _gfortran_f2c_specific__conjg_4 (res, parm)
COMPLEX, intent (in) :: parm
COMPLEX, intent (out) :: res
res = conjg (parm)
end subroutine
-subroutine f2c_specific__conjg_8 (res, parm)
+subroutine _gfortran_f2c_specific__conjg_8 (res, parm)
DOUBLE COMPLEX, intent (in) :: parm
DOUBLE COMPLEX, intent (out) :: res
res = conjg (parm)
Index: libgfortran/intrinsics/dprod_r8.f90
===================================================================
--- libgfortran/intrinsics/dprod_r8.f90 (revision 118476)
+++ libgfortran/intrinsics/dprod_r8.f90 (working copy)
@@ -19,9 +19,9 @@
!Boston, MA 02110-1301, USA.
-elemental function specific__dprod_r8 (p1, p2)
+elemental function _gfortran_specific__dprod_r8 (p1, p2)
real (kind=4), intent (in) :: p1, p2
- real (kind=8) :: specific__dprod_r8
+ real (kind=8) :: _gfortran_specific__dprod_r8
- specific__dprod_r8 = dprod (p1, p2)
+ _gfortran_specific__dprod_r8 = dprod (p1, p2)
end function
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |