Commit Graph

25 Commits

Author SHA1 Message Date
Kazu Hirata
69de3b838f decl.c, [...]: Fix comment typos.
* decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c,
	trans.h: Fix comment typos.

From-SVN: r97364
2005-04-01 04:16:52 +00:00
Feng Wang
ce2df7c64a re PR fortran/18827 (ICE on assign to common variable)
fortran/
2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>

        PR fortran/18827
        * io.c (resolve_tag): Add checking on assigned label.
        (match_dt_format): Does not set symbol assign attribute.
        * match.c (gfc_match_goto):Does not set symbol assign attribute.
        * resolve.c (resolve_code): Add checking on assigned label.
        * trans-common.c (build_field): Deals with common variable assigned
        a label.
        * trans-stmt.c (gfc_conv_label_variable): New function.
        (gfc_trans_label_assign): Use it.
        (gfc_trans_goto): Ditto.
        * trans-io.c (set_string): Ditto.
        * trans.h (gfc_conv_label_variable): Add prototype.
testsuite/
2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>

        PR fortran/18827
        * gfortran.dg/assign_2.f90: New test.
        * gfortran.dg/assign_3.f90: New test.
        * gfortran.dg/assign.f90: New test.

From-SVN: r96467
2005-03-15 02:52:38 +00:00
Tobias Schlüter
bae88af67e re PR fortran/20361 (-fmax-stack-var-size=N not working for equivalence)
fortran/
PR fortran/20361
* trans-array.c (gfc_stack_space_left): Remove unused variable.
(gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
code.
* trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
Remove declaration / prototype.
* trans-common.c (build_equiv_decl): Give union a name.  Check if
it can be put on the stack.
* trans-decl.c (gfc_stack_space_left): Move function here.
(gfc_build_qualified_array): Fix comment typo.
* trans.h (gfc_put_var_on_stack): Add prototype.

testsuite/
PR fortran/20361
* gfortran.dg/largeequiv_1.f90: New test.

From-SVN: r96352
2005-03-12 22:44:44 +01:00
Volker Reichelt
2054fc29c2 * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).
From-SVN: r95518
2005-02-24 21:59:24 +00:00
Kazu Hirata
e7dc5b4f22 data.c, [...]: Fix comment typos.
* data.c, dependency.c, f95-lang.c, io.c, trans-array.c,
	trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
	trans-stmt.c, trans-types.c, trans.h: Fix comment typos.
	Follow spelling conventions.

From-SVN: r94111
2005-01-23 14:36:26 +00:00
Paul Brook
40b026d890 re PR fortran/13010 (seg fault on valid code)
PR fortran/13010
	* trans-array.c (gfc_trans_allocate_temp_array): Use gfc_get_dtype.
	(gfc_array_init_size, gfc_conv_expr_descriptor): Ditto.
	* trans-types.c (gfc_get_dtype): Accept array type rather than element
	type.
	(gfc_get_nodesc_array_type): Don't set GFC_TYPE_ARRAY_DTYPE.
	(gfc_get_array_type_bounds): Ditto.
	(gfc_get_derived_type): Recurse into derived type pointers.
	* trans-types.h (gfc_get_dtype): Add prototype.
	* trans.h (GFC_TYPE_ARRAY_DTYPE): Add comment.
testsuite/
	* gfortran.dg/der_pointer_1.f90: New test.

From-SVN: r90714
2004-11-16 02:02:37 +00:00
Kazu Hirata
f7b529fae7 arith.c, [...]: Fix comment formatting.
* arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,
	gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c,
	module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c,
	trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c,
	trans-io.c, trans-stmt.c, trans.h: Fix comment formatting.

From-SVN: r90266
2004-11-08 14:56:41 +00:00
Tobias Schlüter
ca2940c3e0 trans-array.c (gfc_conv_expr_descriptor): Check for substriungs.
2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
	Paul Brook  <paul@codesourcery.com>

	* trans-array.c (gfc_conv_expr_descriptor): Check for substriungs.
	Use gfc_get_expr_charlen.
	* trans-expr.c (gfc_get_expr_charlen): New function.
	* trans.h (gfc_get_expr_charlen): Add prototype.
testsuite/
	* gfortran.dg/pr17612.f90: New test.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r88483
2004-10-04 13:03:43 +00:00
Kazu Hirata
1f2959f06e array.c, [...]: Fix comment typos.
* array.c, data.c, decl.c, dependency.c, error.c, f95-lang.c,
	interface.c, intrinsic.c, io.c, misc.c, module.c, parse.h,
	resolve.c, scanner.c, trans-array.c, trans-array.h,
	trans-common.c, trans-const.h, trans-decl.c, trans-expr.c,
	trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
	trans.h: Fix comment typos.  Follow spelling conventions.

From-SVN: r87605
2004-09-16 16:00:45 +00:00
Kazu Hirata
13795658b5 data.c, [...]: Fix comment typos.
* data.c, decl.c, f95-lang.c, gfortran.h, match.c,
	trans-array.c, trans-common.c, trans-expr.c,
	trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.h: Fix
	comment typos.  Follow spelling conventions.

From-SVN: r87492
2004-09-14 12:37:28 +00:00
Per Bothner
c8cc8542fa error.c (show_locus): Handle mapped locations.
2004-09-07  Per Bothner  <per@bothner.com>
	Paul Brook  <paul@codesourcery.com>

	* error.c (show_locus): Handle mapped locations.
	* f95-lang.c (gfc_be_parse_file): Initialize mapped locations.
	* gfortran.h: Include input.h.
	(struct gfc_linebuf): Use source_location.
	* scanner.c (get_file): Initialize linemap.
	(preprocessor_line): Pass extra argument to get_file.
	(load_file): Ditto.  Setup linemap.
	(gfc_new_file): Handle mapped locations.
	* trans-common.c (build_field, build_equiv_decl, build_common_decl):
	Set decl source locations.
	(gfc_trans_common): Set blank common block location.
	* trans-decl.c (gfc_set_decl_location): New function.
	(gfc_get_label_decl, gfc_get_symbol_decl): Use it.
	(trans_function_start): Move call to gfc_set_backend_locus..
	(build_function_decl): ... to here.
	(build_entry_thunks): Set and restore the backend locus.
	(gfc_generate_constructors): Remove excess arguments to
	init_function_start.
	(gfc_generate_block_data): Add comments.  Set the decl locus.
	* trans-io.c (set_error_locus): Handle mapped locations.
	* trans.c (gfc_get_backend_locus, gfc_get_backend_locus): Ditto.
	(gfc_trans_code): Use SET_EXPR_LOCATION.
	(gfc_generate_code): Override the location of the new symbol.
	* trans.h (gfc_set_decl_location): Add prototype.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r87142
2004-09-07 14:43:37 +00:00
Tobias Schlüter
0de4325e0b gfortran.h (gfc_namespace): Add new field is_block_data.
fortran/
* gfortran.h (gfc_namespace): Add new field is_block_data.
* parse.c (accept_statement): Remove special handling for BLOCK DATA.
(parse_block_data): Record BLOCK DATA name, set is_block_data field.
* trans.c (gfc_generate_code): Handle BLOCK DATA units.
* trans.h (gfc_generate_block_data): Add prototype.
* trans-decl.c (gfc_generate_block_data): New function.

testsuite/
* gfortran.dg/blockdata_1.f90: New test.

From-SVN: r86796
2004-08-30 21:08:41 +02:00
Paul Brook
40f201864f re PR fortran/17144 (Not Implemented: Character string array constructors / Assignment to char array)
PR fortran/17144
	* trans-array.c (gfc_trans_allocate_temp_array): Remove
	string_length argument.
	(gfc_trans_array_ctor_element): New function.
	(gfc_trans_array_constructor_subarray): Use it.
	(gfc_trans_array_constructor_value): Ditto.  Handle constant
	character arrays.
	(get_array_ctor_var_strlen, get_array_ctor_strlen): New functions.
	(gfc_trans_array_constructor): Use them.
	(gfc_add_loop_ss_code): Update to new gfc_ss layout.
	(gfc_conv_ss_descriptor): Remember section string length.
	(gfc_conv_scalarized_array_ref): Ditto.  Remove dead code.
	(gfc_conv_resolve_dependencies): Update to new gfc_ss layout.
	(gfc_conv_expr_descriptor): Ditto.
	(gfc_conv_loop_setup): Ditto.  Spelling fixes.
	* trans-array.h (gfc_trans_allocate_temp_array): Update prototype.
	* trans-const.c (gfc_conv_constant):  Update to new gfc_ss layout.
	* trans-expr.c (gfc_conv_component_ref): Turn error into ICE.
	(gfc_conv_variable): Set string_length from section.
	(gfc_conv_function_call): Remove extra argument.
	(gfc_conv_expr, gfc_conv_expr_reference): Update to new gfc_ss layout.
	* trans-types.c (gfc_get_character_type_len): New function.
	(gfc_get_character_type): Use it.
	(gfc_get_dtype): Return zero for internal types.
	* trans-types.h (gfc_get_character_type_len): Add prototype.
	* trans.h (struct gfc_ss): Move string_length out of union.
testsuite/
	* gfortran.dg/string_ctor_1.f90: New test.

From-SVN: r86558
2004-08-25 16:50:13 +00:00
Tobias Schlüter
923ab88cb2 trans.h (build2_v, build3_v): New macros.
* trans.h (build2_v, build3_v): New macros.
(build_v): Remove.
* f95-lang.c (gfc_truthvalue_conversion): Use build2 instead of
build.
* trans-array.c (gfc_conv_descriptor_data,
gfc_conv_descriptor_offset, gfc_conv_descriptor_dimension,
gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound,
gfc_conv_descriptor_ubound, gfc_trans_allocate_array_storage,
gfc_trans_allocate_temp_array,
gfc_trans_array_constructor_subarray,
gfc_trans_array_constructor_value, gfc_conv_array_index_ref,
gfc_trans_array_bound_check, gfc_conv_array_index_offset,
gfc_conv_scalarized_array_ref, gfc_conv_array_ref,
gfc_conv_array_ref, gfc_trans_preloop_setup,
gfc_trans_scalarized_loop_end, gfc_conv_ss_startstride,
gfc_conv_loop_setup, gfc_array_init_size,
gfc_conv_array_initializer, gfc_trans_array_bounds,
gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
gfc_conv_expr_descriptor, gfc_conv_array_parameter,
gfc_trans_deferred_array): Use buildN and buildN_v macros instead
of build and build_v as appropriate.
* trans-common.c (create_common): Same.
* trans-decl.c (gfc_trans_auto_character_variable,
gfc_trans_entry_master_switch, gfc_generate_function_code): Same.
* trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi,
gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op,
gfc_conv_expr_op, gfc_conv_function_call,
gfc_trans_structure_assign): Same.
* trans-intrinsic.c (build_fixbound_expr, build_round_expr,
gfc_conv_intrinsic_aint, gfc_conv_intrinsic_bound,
gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod,
gfc_conv_intrinsic_dim, gfc_conv_intrinsic_sign,
gfc_conv_intrinsic_dprod, gfc_conv_intrinsic_minmax,
gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
gfc_conv_intrinsic_arith, gfc_conv_intrinsic_minmaxloc,
gfc_conv_intrinsic_minmaxval, gfc_conv_intrinsic_btest,
gfc_conv_intrinsic_bitop, gfc_conv_intrinsic_singlebitop,
gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_ishft,
gfc_conv_intrinsic_merge, gfc_conv_intrinsic_strcmp,
gfc_conv_allocated, gfc_conv_associated, prepare_arg_info,
gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing,
gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat,
gfc_conv_intrinsic_iargc): Same.
* trans-io.c (set_parameter_value, set_parameter_ref, set_string,
set_flag, add_case, io_result, transfer_namelist_element,
transfer_expr): Same.
* trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_if_1,
gfc_trans_arithmetic_if, gfc_trans_do, gfc_trans_do_while,
gfc_trans_integer_select, gfc_trans_logical_select,
gfc_trans_character_select, gfc_trans_forall_loop,
gfc_trans_nested_forall_loop, gfc_do_allocate,
generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
compute_inner_temp_size, compute_overall_iter_number,
allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
gfc_trans_forall_1, gfc_evaluate_where_mask,
gfc_trans_where_assign, gfc_trans_allocate): Same.
* trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Same.
* trans.c (gfc_add_modify_expr, gfc_finish_block,
gfc_build_array_ref, gfc_build_function_call,
gfc_trans_runtime_check): Same.

From-SVN: r86554
2004-08-25 17:50:36 +02:00
Paul Brook
3d79abbdf8 re PR fortran/13082 (Function entries and entries with alternate returns not implemented)
2004-08-17  Paul Brook  <paul@codesourcery.com>
	Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

	PR fortran/13082
	* decl.c (get_proc_name): Update mystery comment.
	(gfc_match_entry): Check for errors earlier.  Add entry point to list.
	* dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes.
	* gfortran.h (symbol_attribute): Add entry_master.  Document entry.
	(struct gfc_entry_list): Define.
	(gfc_get_entry_list): Define.
	(struct gfc_namespace): Add refs and entries.
	(enum gfc_exec_op): Add EXEC_ENTRY.
	(struct gfc_code): Add ext.entry.
	* module.c (ab_attribute, attr_bits): Remove AB_ENTRY.
	(mio_symbol_attribute): Don't save/reture addr->entry.
	(mio_namespace_ref): Refcount namespaces.
	* parse.c (accept_statement): Handle ST_ENTRY.
	(gfc_fixup_sibling_symbols): Mark symbol as referenced.
	(parse_contained): Fixup sibling references to entry points
	after parsing the procedure body.
	* resolve.c (resolve_contained_fntype): New function.
	(merge_argument_lists, resolve_entries): New functions.
	(resolve_contained_functions): Use them.
	(resolve_code): Handle EXEC_ENTRY.
	(gfc_resolve): Call resolve_entries.
	* st.c (gfc_free_statement): Handle EXEC_ENTRY.
	* symbol.c (gfc_get_namespace): Refcount namespaces.
	(gfc_free_namespace): Ditto.
	* trans-array.c (gfc_trans_dummy_array_bias): Treat all args as
	optional when multiple entry points are present.
	* trans-decl.c (gfc_get_symbol_decl): Remove incorrect check.
	(gfc_get_extern_function_decl): Add assertion.  Fix coment.
	(create_function_arglist, trans_function_start, build_entry_thunks):
	New functions.
	(gfc_build_function_decl): Rename ...
	(build_function_decl): ... to this.
	(gfc_create_function_decl): New function.
	(gfc_generate_contained_functions): Use it.
	(gfc_trans_entry_master_switch): New function.
	(gfc_generate_function_code): Use new functions.
	* trans-stmt.c (gfc_trans_entry): New function.
	* trans-stmt.h (gfc_trans_entry): Add prototype.
	* trans-types.c (gfc_get_function_type): Add entry point argument.
	* trans.c (gfc_trans_code): Handle EXEC_ENTRY.
	(gfc_generate_module_code): Call gfc_create_function_decl.
	* trans.h (gfc_build_function_decl): Remove.
	(gfc_create_function_decl): Add prototype.
testsuite/
	* gfortran.dg/entry_1.f90: New test.

Co-Authored-By: Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>

From-SVN: r86128
2004-08-17 15:34:12 +00:00
Andrew Pinski
ead6d15f70 re PR fortran/17030 (gfortran does not optimize ABS of complex that well)
2004-08-15  Andrew Pinski  <apinski@apple.com>

        PR fortran/17030
        * f95-lang.c (gfc_init_builtin_functions): Initialize the builtins
        for cabs{,f} and copysign{,f}.
        * trans-decl.c (gfor_fndecl_math_cabsf): Delete.
        (gfor_fndecl_math_cabs): Delete.
        (gfor_fndecl_math_sign4): Delete.
        (gfor_fndecl_math_sign8): Delete.
        (gfc_build_intrinsic_function_decls): Remove the
        initializing of cabs{,f} and copysign{,f} functions.
        * trans-intrinsic.c (gfc_conv_intrinsic_abs): Use the builtins
        instead of the functions definitions.
        (gfc_conv_intrinsic_sign): Likewise.
        * trans.h (gfor_fndecl_math_cabsf): Delete.
        (gfor_fndecl_math_cabs): Delete.
        (gfor_fndecl_math_sign4): Delete.
        (gfor_fndecl_math_sign8): Delete.

From-SVN: r86027
2004-08-15 12:26:32 -07:00
Paul Brook
e9cfef6413 re PR fortran/16919 (ICE with derived type and array constructor)
PR fortran/16919
	* trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT.
	(gfc_conv_array_index_offset): Allow "temporary" with nonzero delta.
	(gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary):
	Handle GFC_SS_COMPONENT.
	(gfc_conv_ss_startstride): Ditto.  Set ss->shape.
	(gfc_conv_loop_setup): Tweak commends. Remove dead code.
	Use ss->shape.
	(gfc_conv_array_initializer): Call specific initializer routines.
	* trans-expr.c (gfc_trans_structure_assign): New function.
	(gfc_trans_subarray_assign): New function.
	(gfc_trans_subcomponent_assign): New fucntion
	(gfc_conv_structure): Use them.
	* trans.h (gfc_ss_type): Add GFC_SS_COMPONENT.
	(gfc_ss): Add shape.
testsuite/
	* gfortran.dg/der_array_1.f90: New test.

From-SVN: r85730
2004-08-09 23:32:59 +00:00
Joseph Myers
6e34d3a39f langhooks.h (builtin_function): New langhook.
* langhooks.h (builtin_function): New langhook.
	* langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New.
	(LANG_HOOKS_INITIALIZER): Update.
	* tree.h (builtin_function): Remove.
	* doc/tm.texi: Update.
	* c-tree.h (builtin_function): Declare.
	* c-common.c, config/alpha/alpha.c, config/arm/arm.c,
	config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c,
	config/ia64/ia64.c, config/iq2000/iq2000.c,
	config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
	config/stormy16/stormy16.c: All callers of builtin_function
	changed.

ada:
	* gigi.h (builtin_function): Declare.

cp:
	* cp-tree.h (builtin_function): Declare.

fortran:
	* trans.h (builtin_function): Declare.

java:
	* java-tree.h (builtin_function): Declare.

From-SVN: r84878
2004-07-17 20:35:04 +01:00
Paul Brook
597073ace8 expr.c (gfc_check_assign_symbol): Handle pointer assignments.
* expr.c (gfc_check_assign_symbol): Handle pointer assignments.
	* trans-array.c (gfc_trans_auto_array_allocation): Remove
	initialization code.
	* trans-common.c (create_common): Use gfc_conv_initializer.
	* trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_initializer.
	* trans-expr.c (gfc_conv_initializer): New function.
	(gfc_conv_structure): Use it.
	* trans.h (gfc_conv_initializer): Add prototype.
testsuite/
	* gfortran.dg/pointer_init_1.f90: New test.

From-SVN: r84542
2004-07-12 01:23:39 +00:00
Janne Blomqvist
b41b25345b re PR libfortran/15280 (Fortran9x commandline not accessable)
PR fortran/15280
	PR fortran/15665
	* gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC and
	GFC_ISYM_COMMAND_ARGUMENT_COUNT.
	* intrinsic.c (add_functions):  Identify iargc.  Add
	command_argument_count.
	(add_subroutines): Resolve getarg.  Add get_command and
	get_command_argument.
	* intrinsic.h (gfc_resolve_getarg, gfc_resolve_get_command,
	gfc_resolve_get_command_argument): Add prototypes.
	* iresolve.c (gfc_resolve_getarg, gfc_resolve_get_command,
	gfc_resolve_get_command_argument): New functions.
	* trans-decl.c (gfor_fndecl_iargc): New variable.
	(gfc_build_intrinsic_function_decls): Set it.
	* trans-intrinsic.c (gfc_conv_intrinsic_iargc): New function.
	(gfc_conv_intrinsic_function): Use it.
	* trans.h (gfor_fndecl_iargc): Declare.
libgfortran/
	* libgfortran.h (gfc_strlen_type): Define.
	* intrinsics/args.c (getarg): Rename ...
	(getarg_i4): ... to this.
	(getarg_i8, get_command_argument_i4, get_command_argument_i8,
	get_command_i4, get_command_i8): New functions.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r84087
2004-07-04 17:00:12 +00:00
Joseph Myers
b40410b908 tree-alias-common.h (struct tree_alias_ops): Change ip and ip_partial to unsigned int.
* tree-alias-common.h (struct tree_alias_ops): Change ip and
	ip_partial to unsigned int.

fortran:
	* trans.h (stmtblock_t): Change has_scope to unsigned int.

java:
	* jcf.h (struct JCF): Change java_source, right_zip and finished
	to unsigned int.
	* lex.h (struct java_lexer): Change hit_eof, read_anything,
	byte_swap and use_fallback to unsigned int.
	* parse.h (struct _jdep): Change flag0 to unsigned int.

From-SVN: r83430
2004-06-21 13:37:46 +01:00
Paul Brook
7b5b57b7dc re PR fortran/15620 (Statement functions and optimization cause IC)
PR fortran/15620
	* trans-decl.c (gfc_shadow_sym, gfc_restore_sym): New functions.
	* trans-expr.c (gfc_trans_string_copy): New function.
	(gfc_conv_statement_function): Use them.  Create temp vars.  Enforce
	character lengths.
	(gfc_conv_string_parameter): Use gfc_trans_string_copy.
	* trans-stmt.c (gfc_trans_forall_1): Use gfc_{shadow,restore}_sym.
	* trans.h (struct gfc_saved_var): Define.
	(gfc_shadow_sym, gfc_restore_sym): Add prototypes.
testsuite/
	* gfortran.fortran-torture/execute/st_function_1.f90: New test.
	* gfortran.fortran-torture/execute/st_function_2.f90: New test.

From-SVN: r82452
2004-05-30 14:37:25 +00:00
Feng Wang
5b200ac2c7 f95-lang.c (gfc_init_builtin_functions): Use vold_list_node.
* f95-lang.c (gfc_init_builtin_functions): Use vold_list_node.
	Create decls for __builtin_pow{,f}.
	* gfortran.h (PREFIX_LEN): Define.
	* trans-decl.c (gfor_fndecl_math_powi): Add.
	(gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove.
	(gfc_build_intrinsic_function_decls): Create decls for powi.
	* trans-expr.c (powi_table): Add.
	(gfc_conv_integer_power): Remove.
	(gfc_conv_powi): New function.
	(gfc_conv_cst_int_power): New function.
	(gfc_conv_power_op): Use new powi routines.
	* trans.h (struct gfc_powdecl_list): Add.
	(gfor_fndecl_math_powi): Add.
	(gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove.
testsuite/
	* gfortran.fortran-torture/execute/power.f90: Test constant integers.
libgfortran/
	* Makefile.am (i_pow_c): Set it. Add build rule.
	(gfor_built_src): Use it.
	(m4_files): add m4/pow.m4.
	* Makefile.in: Regenerate.
	* m4/pow.m4: New file.
	* generated/pow_*.c: Regenerate.

From-SVN: r82014
2004-05-19 00:34:59 +00:00
Tobias Schlüter
9fc4d79ba4 Make-lang.in, [...]: Update copyright years and boilerplate.
* Make-lang.in, arith.c, arith.h, array.c, bbt.c, check.c,
decl.c, dependency.c, dependency.h, dump-parse-tree.c, error.c,
expr.c, f95-lang.c, gfortran.h, interface.c, intrinsic.c,
intrinsic.h, io.c, iresolve.c, lang-specs.h, match.c, match.h,
matchexp.c, misc.c, module.c, options.c, parse.c, parse.h,
primary.c, resolve.c, scanner.c, simplify.c, st.c, symbol.c,
trans-array.c, trans-array.h, trans-common.c, trans-const.c,
trans-const.h, trans-decl.c, trans-expr.c, trans-intrinsic.c,
trans-io.c, trans-stmt.c, trans-stmt.h, trans-types.c,
trans-types.h, trans.c, trans.h: Update copyright years and
boilerplate.
* data.c: Likewise, also removed two whitespace-only lines.
        * gfortranspec.c, lang.opt: Update copyright years.

From-SVN: r81839
2004-05-14 15:00:04 +02:00
Diego Novillo
6de9cd9a88 Merge tree-ssa-20020619-branch into mainline.
From-SVN: r81764
2004-05-13 02:41:07 -04:00