Commit Graph

25 Commits

Author SHA1 Message Date
Jakub Jelinek
d05d9ac771 re PR fortran/23677 (-fno-automatic does not accept legal save statements)
PR fortran/23677
	* symbol.c (gfc_is_var_automatic): Return true if character length
	is non-constant rather than constant.
	* resolve.c (gfc_resolve): Don't handle !gfc_option.flag_automatic
	here.
	* options.c (gfc_post_options): Set gfc_option.flag_max_stack_var_size
	to 0 for -fno-automatic.

	* gfortran.fortran-torture/execute/save_1.f90: New test.
	* gfortran.dg/save_1.f90: New test.

From-SVN: r104661
2005-09-26 22:06:37 +02:00
Francois-Xavier Coudert
7f26dfa379 configure.in: Recognize f95 in the --enable-languages option...
* configure.in: Recognize f95 in the --enable-languages option,
	and substitute it for fortran, issuing a warning.
	* configure: Regenerate.
	* Make-lang.in: Change targets prefixes from f95 to fortran.
	* config-lang.in: Change language name to "fortran".
	* lang.opt: Change language name to "fortran".
	* options.c: Change CL_F95 to CL_Fortran.

From-SVN: r104215
2005-09-13 06:24:18 +00:00
Francois-Xavier Coudert
ee5426a488 re PR fortran/20592 (-fno-automatic (g77 option) is missing from gfortran.)
PR fortran/20592
	* gfortran.h (gfc_option_t): Add flag_automatic.
	* invoke.texi: Document the -fno-automatic option.
	* lang.opt: Add a -fautomatic option.
	* options.c (gfc_init_options): Default for -fautomatic is on.
	(gfc_handle_option): Add handling of -fautomatic option.
	* resolve.c (gfc_resolve): When -fno-automatic is used, mark
	needed variables as SAVE.

From-SVN: r103671
2005-08-31 12:31:30 +00:00
Tobias Schlüter
e0bcf78cc8 gfortran.h (gfc_option_t): Remove source field.
fortran/
	* gfortran.h (gfc_option_t): Remove source field.  Add
	flag_d_lines field.
	(gfc_new_file): Remove arguments in prototype.
	(gfc_source_file): Make 'const char *'.
	* f95-lang.c (gfc_init): Use gfc_source_file instead of
	gfc_option.source.  Call gfc_new_file without arguments.
	* invoke.texi: Document new options '-fd-lines-as-code' and
	'-fd-lines-as-comment'.
	* lang.opt: Add new options.  Alphabetize.
	* options.c (gfc_init_options): Initialize gfc_source_file instead
	of gfc_option.source.  Initialize gfc_option.flag_d_lines.
	(form_from_filename): Move here from scanner.c.  Make
	'filename' argument 'const'.
	(gfc_post_options): Set gfc_source_file.  Determine source form.
	Warn if 'd-lines*' are used in free form.
	* scanner.c (gfc_source_file): Constify.
	(skip_fixed_comments): Deal with d-lines.
	(get_file): Constify argument 'name'.
	(load_file): Constify argument 'filename'.
	(form_from_filename): Moved to options.c.
	(gfc_new_file): Remove arguments.  Don't initialize
	gfc_source_file, don't determine source form.
	* trans-const.c (gfc_init_constants): Use gfc_source_file instead
	of gfc_option.source.

testsuite/
	* d_lines_1.f, d_lines_2.f, d_lines_3.f, d_lines_4.f,
	d_lines_5.f: New.

From-SVN: r103322
2005-08-21 17:28:27 +02:00
Kelley Cook
ab57747bb0 Update FSF address.
From-SVN: r101310
2005-06-25 00:40:37 +00:00
François-Xavier Coudert
131c66cd15 gfortran.h: Add flag_backslash compile-time option.
* gfortran.h: Add flag_backslash compile-time option.
	* lang.opt: Add support for -fbackslash option.
	* options.c: Likewise.
	* primary.c: Implement behavior for -fno-backslash.
	* invoke.texi: Add doc for -fbackslash option.
	* gfortran.texi: Remove mention of -fno-backslash as a
	possible extension.
	* gfortran.dg/backslash_1.f90: New test.
	* gfortran.dg/backslash_2.f90: New test.

From-SVN: r101216
2005-06-20 20:14:20 +00:00
Roger Sayle
c0309c74ca gfortran.h (GFC_STD_LEGACY): New "standard" macro.
* gfortran.h (GFC_STD_LEGACY): New "standard" macro.  Reindent.
	* options.c (gfc_init_options): By default, allow legacy extensions
	but warn about them.
	(gfc_post_options): Make -pedantic warn about legacy extensions
	even with -std=legacy.
	(gfc_handle_option): Make -std=gnu follow the default behaviour
	of warning about legacy extensions, but allowing them. Make the
	new -std=legacy accept everything and warn about nothing.
	* lang.opt (std=legacy): New F95 command line option.
	* invoke.texi: Document both -std=f2003 and -std=legacy.
	* gfortran.texi: Explain the two types of extensions and document
	how they are affected by the various -std= command line options.

From-SVN: r100377
2005-05-30 22:16:08 +00:00
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
2005-05-11 00:06:55 +02:00
Steven G. Kargl
3ae9eb270a gfortran.h (option_t): Change d8, i8, r8 to flag_default_double, flag_default_integer, flag_default_real
* gfortran.h (option_t): Change d8, i8, r8 to flag_default_double,
  flag_default_integer, flag_default_real
* invoke.texi: Update documentation
* lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8
  fdefault-integer-8, and fdefault-real-8 definitions.
* options.c (gfc_init_options): Set option defaults
  (gfc_handle_option): Handle command line options.
* trans-types.c (gfc_init_kinds): Use options.

From-SVN: r97221
2005-03-30 00:30:51 +00:00
Richard Henderson
61e067ccd8 * options.c (gfc_init_options): Zero flag_errno_math.
From-SVN: r94447
2005-01-30 10:34:03 -08:00
Kazu Hirata
ec3781807e arith.c, [...]: Update copyright.
* arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
	gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
	match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
	scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
	trans-io.c, trans-stmt.c, trans.c: Update copyright.

From-SVN: r93830
2005-01-18 12:11:56 +00:00
Steven G. Kargl
d22e48951c arith.c: Add system.h; remove string.h
* arith.c: Add system.h; remove string.h
        * decl.c: Ditto
        * matchexp.c: Ditto
        * parse.c: Ditto
        * resolve.c: Ditto
        * st.c: Ditto
        * check.c: Remove stdlib.h and stdarg.h
        * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
        * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
        * f95-lang.c: Add system.h; remove stdio.h
        * interface.c: Add system.h; remove stdlib.h and string.h
        * intrinsic.c: Remove stdarg.h, stdio.h, and string.h
        * io.c: Remove string.h
        * simplify.c: Ditto
        * match.c: Remove stdarg.h and string.h
        * misc.c: Update copyright; add system.h; remove stdlib.h,
        string.h, and sys/stat.h
        * module.c: Add system.h; remove string.h, stdio.h, errno.h,
        unistd.h, and time.h
        * option.c: Remove string.h and stdlib.h
        * primary.c: Ditto
        * scanner.c: Update copyright; add system.h; remove stdlib.h,
        stdio.h, string.h, and strings.h
        * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
        * trans-array.c: Remove stdio.h and gmp.h
        * trans-const.c: Ditto
        * trans-expr.c: Ditto
        * trans-io.c: Ditto
        * trans-stmt.c: Ditto
        * trans.c: Ditto
        * trans-intrinsic.c: Remove stdio.h and string.h

From-SVN: r92866
2005-01-03 13:43:55 -08:00
Steven Bosscher
39afeb1aad c-opts.c (c_common_post_options): Don't clear flag_inline_functions.
gcc/
	* c-opts.c (c_common_post_options): Don't clear
	flag_inline_functions.
	* dojump.c (clear_pending_stack_adjust): Remove check on
	flag_inline_functions, it's always true.
	* config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
	that can never trigger.
	* config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
	flag_inline_trees, now that flag_inline_functions is never
	cleared.
	* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
	flag_inline_functions at optimization levels greater than
	or equal to 3.  This is already done by default.

ada/
	* misc.c (gnat_post_options): Don't clear
	flag_inline_functions.

cp/
	* decl.c (cxx_init_decl_processing): Don't clear
	flag_inline_functions.

fortran/
	* options.c (gfc_post_options): Don't clear flag_inline_functions.

java/
	* class.c (make_class_data): Don't check flag_inline_functions.
	* lang.c (flag_really_inline): Remove unused flag.
	(java_handle_option): Don't set it here.  Remove special handling
	of flag_inline_functions for Java.
	(java_init): Don't set flag_inline_trees here.  Already done...
	(java_post_options): ...here.  Don't clear flag_inline_functions.

From-SVN: r91190
2004-11-24 19:45:32 +00:00
Janne Blomqvist
b789258287 re PR fortran/17590 (Standard conformance should take intrinsics into account.)
2004-10-31  Janne Blomqvist  <jblomqvi@cc.hut.fi>

	PR fortran/17590
	* gfortran.h: Change GFC_STD_* flags to more appropriate
	ones. (struct gfc_intrinsic_isym): Add field for standard. (struct
	gfc_option_t): Add field for warning about use of nonstandard
	intrinsics.
	* intrinsic.c (add_sym): Add parameter for standard version, check
	this against current standard.
	(add_sym_0): Pass standard parameter to add_sym.
	(add_sym_1, add_sym_0s, add_sym_1s, add_sym_1m, add_sym_2): Ditto.
	(add_sym_2s, add_sym_3, add_sym_3ml, add_sym_3red, add_sym_3s): Ditto.
	(add_sym_4, add_sym_4s, add_sym_5, add_sym_5s): Ditto.
	(make_generic): Add parameter for standard, check this
	against currently selected standard.
	(add_functions, add_subroutines): Add parameter to tell which
	standard an intrinsic belongs to.
	(check_intrinsic_standard): New function.
	(gfc_intrinsic_func_interface): Add call to check_intrinsic_standard.
	(gfc_intrinsic_sub_interface): Ditto.
	* lang.opt: Add Wnonstd-intrinsics option.
	* options.c (gfc_init_options): Change to use new GFC_STD_* flags,
	init new warning.
	(set_Wall): Add warning about nonstd intrinsics.
	(gfc_handle_option): Change to use new GFC_STD_* flags,
	handle new warning.
	* invoke.texi: Update manual to include -Wnonstd-intrinsics.

From-SVN: r89907
2004-10-31 01:24:29 +00:00
Andrew Pinski
2d0b4bcd66 re PR fortran/17901 (max-identifier-length problem with -J option)
2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR fortran/17901
        * options.c (gfc_handle_option): Add break after handing the
        J/M option.

From-SVN: r88797
2004-10-08 15:03:36 -07:00
Tobias Schlüter
9d64df18fd gfortran.h (gfc_default_*_kind): Remove prototypes, add extern variable declaration of same name.
* gfortran.h (gfc_default_*_kind): Remove prototypes, add extern
variable declaration of same name.
* arith.c, check.c, decl.c, dump_parse_tree.c, expr.c,
intrinsic.c, io.c, iresolve.c, match.c, options.c, primary.c,
resolve.c, simplify.c, symbol.c, trans-const.c, trans-io.c:
Replace all calls to gfc_default_*_kind with variable accesses.
* trans-types.c: Same as above.
(gfc_default_*_kind_1): Rename to gfc_default_*_kind, remove
static qualifier. Replace all occurences.
(gfc_default_*_kind): Remove functions.

From-SVN: r86662
2004-08-27 16:49:35 +02:00
Richard Henderson
e7a2d5fb77 arith.c (gfc_validate_kind): Add may_fail argument; abort if false and we don't validate the kind.
* arith.c (gfc_validate_kind): Add may_fail argument; abort if
        false and we don't validate the kind.
        (gfc_check_integer_range, gfc_check_real_range): Update to match.
        * check.c (kind_check): Likewise.
        * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Likewise.
        (match_char_spec, match_logical_spec): Likewise.
        * gfortran.h (gfc_validate_kind): Likewise.
        * options.c (gfc_handle_option): Likewise.
        * primary.c (match_integer_constant, match_real_constant,
        match_string_constant, match_logical_constant,
        match_const_complex_part): Likewise.
        * simplify.c (get_kind, gfc_simplify_bit_size, gfc_simplify_digits,
        gfc_simplify_epsilon, gfc_simplify_huge, gfc_simplify_ibclr,
        gfc_simplify_ibset, gfc_simplify_ishft, gfc_simplify_ishftc,
        gfc_simplify_maxexponent, gfc_simplify_minexponent,
        gfc_simplify_nearest, gfc_simplify_not, gfc_simplify_precision,
        gfc_simplify_radix, gfc_simplify_range, gfc_simplify_rrspacing,
        gfc_simplify_scale, gfc_simplify_spacing, gfc_simplify_tan,
        gfc_simplify_tiny): Likewise.
        * trans-intrinsic.c (gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod,
        gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
        prepare_arg_info): Likewise.

From-SVN: r86608
2004-08-25 23:07:52 -07:00
Roger Sayle
fc2d8429a9 options.c (gfc_init_options): Don't warn about the use GNU extensions by default.
* options.c (gfc_init_options): Don't warn about the use GNU
	extensions by default.
	(gfc_post_options): Warn about GNU extensions with -pedantic.
	(gfc_handle_option): Don't warn about GNU extensions with -std=gnu.

From-SVN: r85413
2004-08-01 21:37:21 +00:00
Tobias Schlüter
f56c5d5d5b re PR fortran/16465 (parser chokes with ffixed-line-length-7)
PR fortran/16465
* lang.opt (ffixed-line-length-none, ffixed-line-length-): New
options.
(ffixed-line-length-80, ffixed-line-length-132): Remove.
* options.c (gfc_handle_options): Deal with changed options.
* scanner.c (load_line): Change second arg to 'char **',
allocate if pointing to NULL. Keep track of buffer's length.
Adapt buffer size to overlong lines. Pad lines to full length
in fixed form.
(load_file): Adapt to new interface of load_line.

From-SVN: r84891
2004-07-18 15:00:34 +02:00
Tobias Schlüter
5f0bbc1b07 Revert accidental commit
From-SVN: r84520
2004-07-11 18:55:00 +02:00
Tobias Schlüter
7dea5a9568 re PR fortran/16433 (wrong hexadecimal constant warning)
PR fortran/16433
* gfortran.dg/pr16433.f: New test.

From-SVN: r84519
2004-07-11 18:52:50 +02:00
Steven G. Kargl
2d8b59dfd5 invoke.texi: Document -Wunderflow and spell check.
* invoke.texi: Document -Wunderflow and spell check.
	* lang.opt: Add Wunderflow.
	* gfortran.h (gfc_option_t): Add warn_underflow option.
	* options.c (gfc_init_options, set_Wall): Use it.
	* primary.c (match_real_constant): Explicitly handle UNDERFLOW.
	* arith.c (gfc_arith_uminus, gfc_arith_plus, gfc_arith_minus,
	gfc_arith_times, gfc_arith_divide, gfc_arith_power, gfc_real2real,
	gfc_real2complex, gfc_complex2real, gfc_complex2complex): Ditto.
	* arith.c (common_logarithm): Fix typo in comment.

From-SVN: r82130
2004-05-22 11:03:17 +00:00
Paul Brook
629ceb937a * options.c (gfc_handle_module_path_options): Fix buffer overrun.
From-SVN: r81925
2004-05-16 21:10:24 +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