summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/scanner.c
Commit message (Collapse)AuthorAgeFilesLines
...
* 2008-01-22 Tobias Burnus <burnus@net-b.de>burnus2008-01-221-4/+18
| | | | | | | | | | | | | | | | PR fortran/34899 * scanner.c (load_line): Support <tab><digit> continuation * lines. * invoke.texi (-Wtabs): Document this. 2008-01-22 Tobias Burnus <burnus@net-b.de> PR fortran/34899 * gfortran.dg/tab_continuation.f: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131713 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-01-071-1/+1
| | | | | | | | | PR fortran/34659 * scanner.c (load_line): Do not count ' ' as printable when checking for continuations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131371 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/34359jakub2007-12-081-55/+53
| | | | | | | | | | | | | | | | | | | | | | | | * gfortran.h (gfc_file): Remove sibling and down fields. * scanner.c (file_changes, file_changes_cur, file_changes_count, file_changes_allocated): New variables. (add_file_change, report_file_change): New functions. (change_file): Remove. (gfc_start_source_files, gfc_end_source_files): Call report_file_change instead of change_file. (gfc_advance_line): Call report_file_change instead of change_file, call it even if lb->file == lb->next->file. (get_file): Revert last changes. (preprocessor_line): Call add_file_change when entering or leaving a file. (load_file): Likewise. Set file_change[...].lb for all newly added file changes. * gfortran.dg/include_1.f90: New test. * gfortran.dg/include_1.inc: New. * gfortran.dg/include_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130712 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/33739jakub2007-12-051-23/+80
| | | | | | | | | | | | | | | | | | | | | * gfortran.h (gfc_file): Remove included_by field, add sibling and down. (gfc_start_source_files, gfc_end_source_files): New prototypes. * parse.c (gfc_parse_file): Call gfc_start_source_files and gfc_end_source_files instead of calling the debugging hooks directly. * error.c (show_locus): Use up field instead of included_by. * scanner.c (change_file, gfc_start_source_files, gfc_end_source_files): New functions. (gfc_advance_line): Call change_file instead of calling debug hooks directly. (get_file): Set up rather than included_by. Initialize down and sibling. (preprocessor_line, load_file): Don't set up field here. * gfortran.dg/debug_2.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130629 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/33739fxcoudert2007-11-161-50/+6
| | | | | | | | | PR fortran/34084 * scanner.c (start_source_file, end_source_file, exit_remaining_files, gfc_advance_line): Revert rev. 130016. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130244 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/33739fxcoudert2007-11-081-6/+50
| | | | | | | | | * scanner.c (start_source_file, end_source_file, exit_remaining_files): New functions. (gfc_advance_line): Use the new functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130016 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/33502fxcoudert2007-10-041-2/+59
| | | | | | | | | | | | | | | | | * scanner.c (gfc_advance_line): Call debug_hooks->end_source_file and debug_hooks->start_source_file when appropriate, and set dbg_emitted. (gfc_define_undef_line): New function. (load_file): Don't error out on #define and #undef lines. * parse.c (next_statement): Call gfc_define_undef_line. (gfc_parse_file): Call debug_hooks->start_source_file and debug_hooks->end_source_file for the main source file if required. * gfortran.h (gfc_linebuf): Add dbg_emitted field. (gfc_define_undef_line): New prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129011 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/33538fxcoudert2007-09-241-55/+2
| | | | | | | * scanner.c, parse.c, gfortran.h: Revert revision 128671. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128724 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/33528fxcoudert2007-09-221-1/+8
| | | | | | | | | * scanner.c (preprocessor_line): Call linemap_add when exiting a file. (gfc_new_file): Adjust debug code for USE_MAPPED_LOCATION. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128676 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/33502fxcoudert2007-09-221-2/+55
| | | | | | | | | | | | | | | | | | * scanner.c (gfc_advance_line): Call debug_hooks->start_source_file and debug_hooks->end_source_file when entering and exiting included files. (gfc_define_undef_line): New function. (load_file): Ignore #define and #undef preprocessor lines while reading source files. * parse.c (next_statement): Handle #define and #undef preprocessor lines. (gfc_parse_file): Call debug_hooks->start_source_file and debug_hooks->end_source_file for the main source file if requested by the debug format. * gfortran.h (gfc_define_undef_line): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128671 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-22 Tobias Burnus <burnus@net-b.de>burnus2007-09-221-9/+16
| | | | | | | | | | | | | | | | | PR fortran/33445 * scanner.c (skip_free_comments): Warn if !$OMP& is used if no OpenMP directive is to be continued. 2007-09-22 Tobias Burnus <burnus@net-b.de> PR fortran/33445 * gfortran.dg/gomp/free-2.f90: New. * gfortran.dg/gomp/appendix-a/a.31.1.f90: Add missing &. * gfortran.dg/gomp/omp_parse1.f90: Add dg-warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128670 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:tromey2007-09-061-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree-cfg.c (remove_bb): Only warn if line is non-zero. * c-pch.c (c_common_read_pch): Restore current location after reading PCH file. * tree.c (expand_location): Update. (expr_filename): Changed return type. Unified the two cases. (expr_lineno): Likewise. (annotate_with_file_line): Don't use EXPR_LINENO and EXPR_FILENAME as lvalues. * toplev.c (line_table): Changed type. (general_init): Update. (realloc_for_line_map): New function. (general_init): Allocate line_table using GC. * fix-header.c (line_table): Changed type. (read_scan_file): Update. (read_scan_file): Update. * c-ppoutput.c (maybe_print_line): Update. (print_line): Update. (cb_line_change): Update. (cb_define): Update. (pp_file_change): Update. * c-opts.c (c_common_init_options): Update. (finish_options): Update. (push_command_line_include): Update. * c-lex.c (cb_line_change): Update. (cb_def_pragma): Update. (cb_define): Update. (cb_undef): Update. (c_lex_with_flags): Use cpp_get_token_with_location. * input.h (line_table): Changed type. (location_from_locus): New macro. * tree.h (EXPR_FILENAME): No longer an lvalue. (EXPR_LINENO): Likewise. (expr_locus, set_expr_locus): Declare separately for USE_MAPPED_LOCATION. (expr_filename, expr_lineno): Changed return type. * gimplify.c (tree_to_gimple_tuple): Use SET_EXPR_LOCUS. * cfgexpand.c (expand_gimple_cond_expr): Use location_from_locus. (expand_gimple_basic_block): Likewise. * final.c (final_scan_insn): Use expanded_location. gcc/cp: * decl.c (finish_function): Put return's location on line zero of file. gcc/fortran: * scanner.c (get_file): Update. (load_file): Update. (gfc_next_char_literal): Use gfc_linebuf_linenum. * f95-lang.c (gfc_init): Update. * gfortran.h (gfc_linebuf_linenum): New macro. gcc/java: * lang.c (java_post_options): Update. * jcf-parse.c (set_source_filename): Update. (give_name_to_class): Update. (jcf_parse): Update. (duplicate_class_warning): Update. (parse_class_file): Update. (java_parse_file): Update. * expr.c (expand_byte_code): Update. gcc/testsuite: * lib/g++.exp (g++_target_compile): Use -fno-show-column. gcc/treelang: * tree1.c (treelang_init): Update. (treelang_parse_file): Update. (treelang_parse_file): Update. (treelang_parse_file): Update. * lex.l: Update. (update_lineno_charno): Likewise. libcpp: * internal.h (struct cpp_reader) <invocation_location>: New field. (struct cpp_reader) <set_invocation_location>: Likewise. * init.c (cpp_set_line_map): New function. * line-map.c (linemap_add): Use linemap's allocator. * include/line-map.h (GTY): Define. (line_map_realloc): New typedef. (struct line_map): Mark with GTY. (struct line_maps): Likewise. (struct line_maps) <maps>: Likewise. (struct line_maps) <reallocator>: New field. * include/symtab.h (GTY): Conditionally define. * include/cpplib.h (cpp_set_line_map): Declare. (cpp_get_token_with_location): Declare. * macro.c (cpp_get_token): Set invocation_location on the reader. (cpp_get_token_with_location): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128190 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c: Change copyright header to refer to version 3 of the GNU General nickc2007-08-011-4/+3
| | | | | | | | | | | | | | | | | | Public License and to point readers at the COPYING3 file and the FSF's license web page. * openmp.c, interface.c, intrinsic.c, trans-array.c, trans-expr.c, symbol.c, iso-fortran-env.def, intrinsic.h, decl.c, trans-array.h, matchexp.c, dump-parse-tree.c, trans-common.c, array.c, Make-lang.in, trans-openmp.c, gfortran.h, error.c, iso-c-binding.def, lang.opt, data.c, trans-const.c, trans-stmt.c, expr.c, trans-const.h, trans-stmt.h, module.c, trans.c, scanner.c, trans-types.c, trans.h, gfortranspec.c, trans-types.h, lang-specs.h, io.c, bbt.c, resolve.c, f95-lang.c, st.c, iresolve.c, match.c, trans-decl.c, trans-io.c, target-memory.c, match.h, target-memory.h, parse.c, arith.h, check.c, dependency.c, parse.h, types.def, convert.c, dependency.h, primary.c, trans-intrinsic.c, options.c, misc.c, simplify.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127129 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/31645fxcoudert2007-04-291-0/+27
| | | | | | | | | | | | | | | | | * scanner.c (load_file): Discard the byte order mark if one is found on the first non-preprocessor line of a file. * testsuite/gfortran.dg/bom_error.f90: New test. * testsuite/gfortran.dg/bom_include.f90: New test. * testsuite/gfortran.dg/bom_UTF16-LE.f90: New test. * testsuite/gfortran.dg/bom_UTF16-BE.f90: New test. * testsuite/gfortran.dg/bom_UTF-8.f90: New test. * testsuite/gfortran.dg/bom_UTF-32.f90: New test. * testsuite/gfortran.dg/bom_UTF-8.F90: New test. * testsuite/gfortran.dg/bom_include.inc: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124274 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-25 Janne Blomqvist <jb@gcc.gnu.org>jb2007-04-251-5/+5
| | | | | | | | | | | | * module.c (module_char): Replace fgetc() with getc(). (write_char): Replace fputc() with putc(). * scanner.c (load_line): Replace fgetc() with getc(). (gfc_read_orig_filename): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124154 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-04-211-15/+7
| | | | | | | | | PR fortran/31495 * scanner.c (load_line): Remove check for comment after ampersand and adjust tracking of ampersand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124022 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-02-151-0/+3
| | | | | | | | | PR fortran/30779 * scanner.c (gfc_next_char_literal): Add check for end of file after call to advance_line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121982 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-01-241-7/+0
| | | | | | | | | | | | | | | PR fortran/30532 * scanner.c (load_line): Remove check fot ctrl-z and don't gobble. 2007-01-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/30481 * match.c (gfc_match_namelist): Add check for assumed size character in namelist and provide error if found. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121099 138bc75d-0d04-0410-961f-82ee72b054a4
* * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,kargl2007-01-201-29/+28
| | | | | | | | | parse.c, primary.c, options.c, misc.c, simplify.c: Next installment in the massive whitespace patch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121012 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-01-14 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2007-01-141-1/+1
| | | | | | | | | | | | | | | PR fortran/30452 * scanner.c(next_char): Cast next character to unsigned to avoid confusion with error return codes. 2007-01-14 Thomas Koenig <Thomas.Koenig@online.de> PR fortran/30452 * gfortran.dg/string_0xfe_0xff_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120768 138bc75d-0d04-0410-961f-82ee72b054a4
* * simplify.c: Update copyright to 2007.brooks2007-01-111-1/+1
| | | | | | | * scanner.c: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120668 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/30430fxcoudert2007-01-111-2/+2
| | | | | | | | * scanner.c (gfc_release_include_path): Free gfc_option.module_dir only once! git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120667 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-01-02 Tobias Burnus <burnus@net-b.de>burnus2007-01-041-5/+6
| | | | | | | | | | | | | Jakub Jelinek <jakub@redhat.com> PR fortran/30276 * scanner.c (open_included_file): Revert patch. (gfc_open_included_file): Support absolute pathnames. (gfc_open_intrinsic_module): Support absolute pathnames. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120431 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-01-02 Tobias Burnus <burnus@net-b.de>burnus2007-01-021-0/+5
| | | | | | | | | PR fortran/30276 * scanner.c (open_included_file): Support full-path filenames. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120344 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_add_intrinsic_modules_path,fxcoudert2006-11-171-21/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gfc_open_intrinsic_module): New prototypes. (gfc_add_include_path, gfc_open_included_file): Update prototypes. * lang.opt: Add -fintrinsic-modules-path option. * module.c (gfc_match_use): Match the Fortran 2003 form of USE statement. (gfc_use_module): Also handle intrinsic modules. * scanner.c (gfc_directorylist): Add use_for_modules for field. (intrinsic_modules_dirs): New static variable. (add_path_to_list, gfc_add_intrinsic_modules_path): New functions. (gfc_add_include_path): Use the new add_path_to_list helper function. (gfc_release_include_path): Free memory for intrinsic_modules_dirs. (open_included_file, gfc_open_intrinsic_module): New functions. (gfc_open_included_file): Use the new open_included_file helper function. * lang-specs.h: Use the new -fintrinsic-modules-path option. * parse.c (decode_statement): Do not match the required space after USE here. * options.c (gfc_handle_option): Handle the new option. Use new prototype for gfc_add_include_path. (gfc_post_options): Use new prototype for gfc_add_include_path. * gfortran.dg/use_1.f90: New test. * gfortran.dg/use_1.f90: New test. * gfortran.dg/use_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118930 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (GFC_MAX_LINE): Remove constant definition.brooks2006-11-151-17/+9
| | | | | | | | | | | | (gfc_option_t): Clarify comments. * options.c: Set default line length limits to actual default values, rather than flag values. * scanner.c: Eliminate checking and handling of the fixed/free_line_length flag values. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118842 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/29759jakub2006-11-131-0/+1
| | | | | | | | | | * fortran/scanner.c (skip_free_comments): Clear openmp_flag before returning true. * gfortran.dg/gomp/pr29759.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118773 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2006-10-141-5/+39
| | | | | | | | | PR fortran/19261 * scanner.c (load_line): Add checks for illegal use of '&' and issue warnings. Issue errors with -pedantic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117733 138bc75d-0d04-0410-961f-82ee72b054a4
* * scanner.c (skip_free_comments): Return bool instead of void.jakub2006-10-061-6/+15
| | | | | | | | | (gfc_next_char_literal): Don't return ' ' if & is missing after !$omp or !$. Use skip_{free,fixed}_comments directly instead of gfc_skip_comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117480 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2006-10-031-7/+56
| | | | | | | | | | | | | | | | | | | | PR fortran/19262 * gfortran.h (gfc_option_t): Add max_continue_fixed and max_continue_free. * options.c (gfc_init_options): Initialize fixed form and free form consecutive continuation line limits. * scanner.c (gfc_scanner_init_1): Initialize continue_line and continue_count. (gfc_next_char_literal): Count the number of continuation lines in the current statement and warn if limit is exceeded. 2006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/19260 * scanner.c (gfc_next_char_literal): Add check for missing '&' and warn if in_string, otherwise return ' '. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117384 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/29097jakub2006-09-261-1/+19
| | | | | | | | | | | | | * scanner.c (include_line): Handle conditional include. * testsuite/libgomp.fortran/condinc1.f: New test. * testsuite/libgomp.fortran/condinc2.f: New test. * testsuite/libgomp.fortran/condinc3.f90: New test. * testsuite/libgomp.fortran/condinc4.f90: New test. * testsuite/libgomp.fortran/condinc1.inc: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117234 138bc75d-0d04-0410-961f-82ee72b054a4
* * data.c (gfc_assign_data_value): Handle USE_MAPPED_LOCATION.bothner2006-06-011-4/+11
| | | | | | | * scanner.c (gfc_gobble_whitespace): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114310 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-03-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2006-03-151-2/+7
| | | | | | | | | | | | | | | | PR fortran/19101 * gfortran.h: Add warn_ampersand. * invoke.texi: Add documentation for new option. * lang.opt: Add Wampersand. * options.c (gfc_init_options): Initialize warn_ampersand. (gfc_post_options): Set the warn if pedantic. (set_Wall): Set warn_ampersand. (gfc_handle_option: Add Wampersand for itself, -std=f95, and -std=f2003. * scanner.c (gfc_next_char_literal): Add test for missing '&' in continued character constant and give warning if missing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112078 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 18537kargl2006-03-141-2/+30
| | | | | | | | | | | | | | | | | | | * gfortran.h: Wrap Copyright line. (gfc_option_t): add warn_tabs member. * lang.opt: Update Coyright year. Add the Wtabs. * invoke.texi: Document -Wtabs. * scanner.c (gfc_gobble_whitespace): Use warn_tabs. Add linenum to suppress multiple warnings. (load_line): Use warn_tabs. Add linenum, current_line, seen_comment to suppress multiple warnings. * options.c (gfc_init_options): Initialize warn_tabs. (set_Wall): set warn_tabs for -Wall. (gfc_post_options): Adjust flag_tabs depending on -pedantic. (gfc_handle_option): Process command-line option -W[no-]tabs git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112066 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran/jakub2006-02-141-23/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-02-14 Jakub Jelinek <jakub@redhat.com> Richard Henderson <rth@redhat.com> Diego Novillo <dnovillo@redhat.com> * invoke.texi: Document -fopenmp. * gfortran.texi (Extensions): Document OpenMP. Backport from gomp-20050608-branch * trans-openmp.c: Call build_omp_clause instead of make_node when creating OMP_CLAUSE_* trees. (gfc_trans_omp_reduction_list): Remove argument 'code'. Adjust all callers. * trans.h (build4_v): Define. * trans-openmp.c: Call build4_v to create OMP_PARALLEL nodes. Call build3_v to create OMP_SECTIONS nodes. PR fortran/25162 * openmp.c (gfc_match_omp_variable_list): Call gfc_set_sym_referenced on all symbols added to the variable list. * openmp.c (gfc_match_omp_clauses): Fix check for non-INTRINSIC procedure symbol in REDUCTION. * trans-openmp.c (gfc_trans_omp_array_reduction): Use gfc_add for MINUS_EXPR OMP_CLAUSE_REDUCTION_CODE. * trans-openmp.c (gfc_trans_omp_do): Add PBLOCK argument. If PBLOCK is non-NULL, evaluate INIT/COND/INCR and chunk size expressions in that statement block. (gfc_trans_omp_parallel_do): Pass non-NULL PBLOCK to gfc_trans_omp_do for non-ordered non-static combined loops. (gfc_trans_omp_directive): Pass NULL PBLOCK to gfc_trans_omp_do. * openmp.c: Include target.h and toplev.h. (gfc_match_omp_threadprivate): Emit diagnostic if target does not support TLS. * Make-lang.in (fortran/openmp.o): Add dependencies on target.h and toplev.h. * trans-decl.c (gfc_get_fake_result_decl): Set GFC_DECL_RESULT. * trans-openmp.c (gfc_omp_privatize_by_reference): Make DECL_ARTIFICIAL vars predetermined shared except GFC_DECL_RESULT. (gfc_omp_disregard_value_expr): Handle GFC_DECL_RESULT. (gfc_trans_omp_variable): New function. (gfc_trans_omp_variable_list, gfc_trans_omp_reduction_list): Use it. * trans.h (GFC_DECL_RESULT): Define. * trans-openmp.c (gfc_omp_firstprivatize_type_sizes): New function. * f95-lang.c (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define. * trans.h (gfc_omp_firstprivatize_type_sizes): New prototype. * trans-openmp.c (gfc_omp_privatize_by_reference): Return true if a pointer has GFC_DECL_SAVED_DESCRIPTOR set. (gfc_trans_omp_array_reduction, gfc_trans_omp_reduction_list): New functions. (gfc_trans_omp_clauses): Add WHERE argument. Call gfc_trans_omp_reduction_list rather than gfc_trans_omp_variable_list for reductions. (gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections, gfc_trans_omp_single): Adjust gfc_trans_omp_clauses callers. * openmp.c (omp_current_do_code): New var. (gfc_resolve_omp_do_blocks): New function. (gfc_resolve_omp_parallel_blocks): Call it. (gfc_resolve_do_iterator): Add CODE argument. Don't propagate predetermination if argument is !$omp do or !$omp parallel do iteration variable. * resolve.c (resolve_code): Call gfc_resolve_omp_do_blocks for EXEC_OMP_DO. Adjust gfc_resolve_do_iterator caller. * fortran.h (gfc_resolve_omp_do_blocks): New prototype. (gfc_resolve_do_iterator): Add CODE argument. * trans.h (gfc_omp_predetermined_sharing, gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New prototypes. (GFC_DECL_COMMON_OR_EQUIV, GFC_DECL_CRAY_POINTEE): Define. * trans-openmp.c (gfc_omp_predetermined_sharing, gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New functions. * trans-common.c (build_equiv_decl, build_common_decl, create_common): Set GFC_DECL_COMMON_OR_EQUIV flag on the decls. * trans-decl.c (gfc_finish_cray_pointee): Set GFC_DECL_CRAY_POINTEE on the decl. * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_SHARING, LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR, LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE): Define. * openmp.c (resolve_omp_clauses): Remove extraneous comma. * symbol.c (check_conflict): Add conflict between cray_pointee and threadprivate. * openmp.c (gfc_match_omp_threadprivate): Fail if gfc_add_threadprivate returned FAILURE. (resolve_omp_clauses): Diagnose Cray pointees in SHARED, {,FIRST,LAST}PRIVATE and REDUCTION clauses and Cray pointers in {FIRST,LAST}PRIVATE and REDUCTION clauses. * resolve.c (omp_workshare_flag): New variable. (resolve_function): Diagnose use of non-ELEMENTAL user defined function in WORKSHARE construct. (resolve_code): Cleanup forall_save use. Make sure omp_workshare_flag is set to correct value in different contexts. * openmp.c (resolve_omp_clauses): Replace %s with '%s' when printing variable name. (resolve_omp_atomic): Likewise. PR fortran/24493 * scanner.c (skip_free_comments): Set at_bol at the beginning of the loop, not before it. (skip_fixed_comments): Handle ! comments in the middle of line here as well. (gfc_skip_comments): Use skip_fixed_comments for FIXED_FORM even if not at BOL. (gfc_next_char_literal): Fix expected canonicalized *$omp string. * trans-openmp.c (gfc_trans_omp_do): Use make_node and explicit initialization to build OMP_FOR instead of build. * trans-decl.c (gfc_gimplify_function): Invoke diagnose_omp_structured_block_errors. * trans-openmp.c (gfc_trans_omp_master): Use OMP_MASTER. (gfc_trans_omp_ordered): Use OMP_ORDERED. * gfortran.h (gfc_resolve_do_iterator, gfc_resolve_blocks, gfc_resolve_omp_parallel_blocks): New prototypes. * resolve.c (resolve_blocks): Renamed to... (gfc_resolve_blocks): ... this. Remove static. (gfc_resolve_forall): Adjust caller. (resolve_code): Only call gfc_resolve_blocks if code->block != 0 and not for EXEC_OMP_PARALLEL* directives. Call gfc_resolve_omp_parallel_blocks for EXEC_OMP_PARALLEL* directives. Call gfc_resolve_do_iterator if resolved successfully EXEC_DO iterator. * openmp.c: Include pointer-set.h. (omp_current_ctx): New variable. (gfc_resolve_omp_parallel_blocks, gfc_resolve_do_iterator): New functions. * Make-lang.in (fortran/openmp.o): Depend on pointer-set.h. * openmp.c (gfc_match_omp_clauses): For max/min/iand/ior/ieor, look up symbol if it exists, use its name instead and, if it is not INTRINSIC, issue diagnostics. * parse.c (parse_omp_do): Handle implied end do properly. (parse_executable): If parse_omp_do returned ST_IMPLIED_ENDDO, return it instead of continuing. * trans-openmp.c (gfc_trans_omp_critical): Update for changed operand numbering. (gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections, gfc_trans_omp_single): Likewise. * trans.h (gfc_omp_privatize_by_reference): New prototype. * f95-lang.c (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Redefine to gfc_omp_privatize_by_reference. * trans-openmp.c (gfc_omp_privatize_by_reference): New function. * trans-stmt.h (gfc_trans_omp_directive): Add comment. * openmp.c (gfc_match_omp_variable_list): Add ALLOW_COMMON argument. Disallow COMMON matching if it is set. (gfc_match_omp_clauses, gfc_match_omp_flush): Adjust all callers. (resolve_omp_clauses): Show locus in error messages. Check that variable types in reduction clauses are appropriate for reduction operators. * resolve.c (resolve_symbol): Don't error if a threadprivate module variable isn't SAVEd. * trans-openmp.c (gfc_trans_omp_do): Put count into BLOCK, not BODY. Fix typo in condition. Fix DOVAR initialization. * openmp.c (gfc_match_omp_clauses): Match min/iand/ior/ieor rather than .min. etc. * trans-openmpc.c (omp_not_yet): Remove. (gfc_trans_omp_parallel_do): Keep listprivate clause on parallel. Force creation of BIND_EXPR around the workshare construct. (gfc_trans_omp_parallel_sections): Likewise. (gfc_trans_omp_parallel_workshare): Likewise. * types.def (BT_I16, BT_FN_I16_VPTR_I16, BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add. * trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_DEFAULT. (gfc_trans_omp_code): New function. (gfc_trans_omp_do): Use it, remove omp_not_yet uses. (gfc_trans_omp_parallel, gfc_trans_omp_single): Likewise. (gfc_trans_omp_sections): Likewise. Only treat empty last section specially if lastprivate clause is present. * f95-lang.c (gfc_init_builtin_functions): Create BUILT_IN_TRAP builtin. * trans-openmp.c (gfc_trans_omp_variable_list): Update for OMP_CLAUSE_DECL name change. (gfc_trans_omp_do): Likewise. * trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_REDUCTION clauses. (gfc_trans_omp_atomic): Build OMP_ATOMIC instead of expanding sync builtins directly. (gfc_trans_omp_single): Build OMP_SINGLE statement. * trans-openmp.c (gfc_trans_add_clause): New. (gfc_trans_omp_variable_list): Take a tree code and build the clause node here. Link it to the head of a list. (gfc_trans_omp_clauses): Update to match. (gfc_trans_omp_do): Use gfc_trans_add_clause. * trans-openmp.c (gfc_trans_omp_clauses): Change second argument to gfc_omp_clauses *. Use gfc_evaluate_now instead of creating temporaries by hand. (gfc_trans_omp_atomic, gfc_trans_omp_critical): Use buildN_v macros. (gfc_trans_omp_do): New function. (gfc_trans_omp_master): Dont' check for gfc_trans_code returning NULL. (gfc_trans_omp_parallel): Adjust gfc_trans_omp_clauses caller. Use buildN_v macros. (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections, gfc_trans_omp_single, gfc_trans_omp_workshare): New functions. (gfc_trans_omp_directive): Use them. * parse.c (parse_omp_do): Allow new_st.op == EXEC_NOP. * openmp.c (resolve_omp_clauses): Check for list items present in multiple clauses. (resolve_omp_do): Check that iteration variable is not THREADPRIVATE and is not present in any clause variable lists other than PRIVATE or LASTPRIVATE. * gfortran.h (symbol_attribute): Add threadprivate bit. (gfc_common_head): Add threadprivate member, change use_assoc and saved into char to save space. (gfc_add_threadprivate): New prototype. * symbol.c (check_conflict): Handle threadprivate. (gfc_add_threadprivate): New function. (gfc_copy_attr): Copy threadprivate. * trans-openmp.c (gfc_trans_omp_clauses): Avoid creating a temporary if IF or NUM_THREADS is constant. Create OMP_CLAUSE_SCHEDULE and OMP_CLAUSE_ORDERED. * resolve.c (resolve_symbol): Complain if a THREADPRIVATE symbol outside a module and not in COMMON has is not SAVEd. (resolve_equivalence): Ensure THREADPRIVATE objects don't get EQUIVALENCEd. * trans-common.c: Include target.h and rtl.h. (build_common_decl): Set DECL_TLS_MODEL if THREADPRIVATE. * trans-decl.c: Include rtl.h. (gfc_finish_var_decl): Set DECL_TLS_MODEL if THREADPRIVATE. * dump-parse-tree.c (gfc_show_attr): Handle THREADPRIVATE. * Make-lang.in (fortran/trans-decl.o): Depend on $(RTL_H). (fortran/trans-common.o): Depend on $(RTL_H) and $(TARGET_H). * openmp.c (gfc_match_omp_variable_list): Ensure COMMON block is from current namespace. (gfc_match_omp_threadprivate): Rewrite. (resolve_omp_clauses): Check some clause restrictions. * module.c (ab_attribute): Add AB_THREADPRIVATE. (attr_bits): Add THREADPRIVATE. (mio_symbol_attribute, mio_symbol_attribute): Handle threadprivate. (load_commons, write_common, write_blank_common): Adjust for type change of saved, store/load threadprivate bit from the integer as well. * types.def (BT_FN_UINT_UINT): New. (BT_FN_VOID_UINT_UINT): Remove. * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_barrier, gfc_trans_omp_critical, gfc_trans_omp_flush, gfc_trans_omp_master, gfc_trans_omp_ordered, gfc_trans_omp_parallel): New functions. (gfc_trans_omp_directive): Use them. * openmp.c (expr_references_sym): Add SE argument, don't look into SE tree. (is_conversion): New function. (resolve_omp_atomic): Adjust expr_references_sym callers. Handle promoted expressions. * trans-openmp.c (gfc_trans_omp_atomic): New function. (gfc_trans_omp_directive): Call it. * f95-lang.c (builtin_type_for_size): New function. (gfc_init_builtin_functions): Initialize synchronization and OpenMP builtins. * types.def: New file. * Make-lang.in (f95-lang.o): Depend on $(BUILTINS_DEF) and fortran/types.def. * trans-openmp.c: Rename GOMP_* tree codes into OMP_*. * dump-parse-tree.c (show_symtree): Don't crash if ns->proc_name is NULL. * dump-parse-tree.c (gfc_show_namelist, gfc_show_omp_node): New functions. (gfc_show_code_node): Call gfc_show_omp_node for EXEC_OMP_* nodes. * parse.c (parse_omp_do): Call pop_state before next_statement. * openmp.c (expr_references_sym, resolve_omp_atomic, resolve_omp_do): New functions. (gfc_resolve_omp_directive): Call them. * match.c (match_exit_cycle): Issue error if EXIT or CYCLE statement leaves an OpenMP structured block or if EXIT terminates !$omp do loop. * Make-lang.in (F95_PARSER_OBJS): Add fortran/openmp.o. (F95_OBJS): Add fortran/trans-openmp.o. (fortran/trans-openmp.o): Depend on $(GFORTRAN_TRANS_DEPS). * lang.opt: Add -fopenmp option. * options.c (gfc_init_options): Initialize it. (gfc_handle_option): Handle it. * gfortran.h (ST_OMP_ATOMIC, ST_OMP_BARRIER, ST_OMP_CRITICAL, ST_OMP_END_CRITICAL, ST_OMP_END_DO, ST_OMP_END_MASTER, ST_OMP_END_ORDERED, ST_OMP_END_PARALLEL, ST_OMP_END_PARALLEL_DO, ST_OMP_END_PARALLEL_SECTIONS, ST_OMP_END_PARALLEL_WORKSHARE, ST_OMP_END_SECTIONS, ST_OMP_END_SINGLE, ST_OMP_END_WORKSHARE, ST_OMP_DO, ST_OMP_FLUSH, ST_OMP_MASTER, ST_OMP_ORDERED, ST_OMP_PARALLEL, ST_OMP_PARALLEL_DO, ST_OMP_PARALLEL_SECTIONS, ST_OMP_PARALLEL_WORKSHARE, ST_OMP_SECTIONS, ST_OMP_SECTION, ST_OMP_SINGLE, ST_OMP_THREADPRIVATE, ST_OMP_WORKSHARE): New statement codes. (OMP_LIST_PRIVATE, OMP_LIST_FIRSTPRIVATE, OMP_LIST_LASTPRIVATE, OMP_LIST_COPYPRIVATE, OMP_LIST_SHARED, OMP_LIST_COPYIN, OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT, OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV, OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND, OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST, OMP_LIST_NUM): New OpenMP variable list types. (gfc_omp_clauses): New typedef. (gfc_get_omp_clauses): Define. (EXEC_OMP_CRITICAL, EXEC_OMP_DO, EXEC_OMP_FLUSH, EXEC_OMP_MASTER, EXEC_OMP_ORDERED, EXEC_OMP_PARALLEL, EXEC_OMP_PARALLEL_DO, EXEC_OMP_PARALLEL_SECTIONS, EXEC_OMP_PARALLEL_WORKSHARE, EXEC_OMP_SECTIONS, EXEC_OMP_SINGLE, EXEC_OMP_WORKSHARE, EXEC_OMP_ATOMIC, EXEC_OMP_BARRIER, EXEC_OMP_END_NOWAIT, EXEC_OMP_END_SINGLE): New OpenMP gfc_exec_op codes. (struct gfc_code): Add omp_clauses, omp_name, omp_namelist and omp_bool fields to ext union. (flag_openmp): Declare. (gfc_free_omp_clauses, gfc_resolve_omp_directive): New prototypes. * scanner.c (openmp_flag, openmp_locus): New variables. (skip_free_comments, skip_fixed_comments, gfc_next_char_literal): Handle OpenMP directive lines and conditional compilation magic comments. * parse.h (COMP_OMP_STRUCTURED_BLOCK): New compile state. * parse.c (decode_omp_directive, parse_omp_do, parse_omp_atomic, parse_omp_structured_block): New functions. (next_free, next_fixed): Parse OpenMP directives. (case_executable, case_exec_markers, case_decl): Add ST_OMP_* codes. (gfc_ascii_statement): Handle ST_OMP_* codes. (parse_executable): Rearrange the loop slightly, so that parse_omp_do can return next_statement. * match.h (gfc_match_omp_eos, gfc_match_omp_atomic, gfc_match_omp_barrier, gfc_match_omp_critical, gfc_match_omp_do, gfc_match_omp_flush, gfc_match_omp_master, gfc_match_omp_ordered, gfc_match_omp_parallel, gfc_match_omp_parallel_do, gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare, gfc_match_omp_sections, gfc_match_omp_single, gfc_match_omp_threadprivate, gfc_match_omp_workshare, gfc_match_omp_end_nowait, gfc_match_omp_end_single): New prototypes. * resolve.c (resolve_blocks): Ignore EXEC_OMP_* block directives. (resolve_code): Call gfc_resolve_omp_directive on EXEC_OMP_* directives. * trans.c (gfc_trans_code): Call gfc_trans_omp_directive for EXEC_OMP_* directives. * st.c (gfc_free_statement): Handle EXEC_OMP_* statement freeing. * trans-stmt.h (gfc_trans_omp_directive): New prototype. * openmp.c: New file. * trans-openmp.c: New file. gcc/testsuite/ 2006-02-14 Jakub Jelinek <jakub@redhat.com> Diego Novillo <dnovillo@redhat.com> Uros Bizjak <uros@kss-loka.si> * gfortran.dg/gomp: New directory. libgomp/ 2006-02-14 Jakub Jelinek <jakub@redhat.com> * testsuite/libgomp.fortran/vla7.f90: Add -w to options. Remove tests for returning assumed character length arrays. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110984 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/25324jakub2006-01-271-5/+160
| | | | | | | | | | | | | | | | | | | | | | | | * Make-lang.in (fortran/scanner.o): Depend on toplev.h. * lang.opt (fpreprocessed): New option. * scanner.c: Include toplev.h. (gfc_src_file, gfc_src_preprocessor_lines): New variables. (preprocessor_line): Unescape filename if there were any backslashes. (load_file): If initial and gfc_src_file is not NULL, use it rather than opening the file. If gfc_src_preprocessor_lines has non-NULL elements, pass it to preprocessor_line. (unescape_filename, gfc_read_orig_filename): New functions. * gfortran.h (gfc_option_t): Add flag_preprocessed. (gfc_read_orig_filename): New prototype. * options.c (gfc_init_options): Clear flag_preprocessed. (gfc_post_options): If flag_preprocessed, call gfc_read_orig_filename. (gfc_handle_option): Handle OPT_fpreprocessed. * lang-specs.h: Pass -fpreprocessed to f951 if preprocessing sources. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110304 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran:aldot2006-01-111-3/+5
| | | | | | | | | | | | | | | | | | | | | 2006-01-11 Bernhard Fischer <rep.nop@aon.at> PR fortran/25486 * scanner.c (load_line): use maxlen to determine the line-length used for padding lines in fixed form. gcc/testsuite: 2006-01-10 Bernhard Fischer <rep.nop@aon.at> PR fortran/25486 * gfortran.dg/literal_character_constant_1_x.F: New test. * gfortran.dg/literal_character_constant_1_y.F: Ditto. * gfortran.dg/literal_character_constant_1_z.F: Ditto. * gfortran.dg/literal_character_constant_1.inc: Helper for new tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109591 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-11-30 Bernhard Fischer <rep.nop@aon.at>kargl2005-11-301-6/+20
| | | | | | | | | | | | | | | | | | | | PR fortran/21302 * lang.opt: New options -ffree-line-length- and -ffree-line-length-none. * gfortran.h: Add free_line_length and add description of free_line_length and fixed_line_length. * options.c (gfc_init_options, gfc_handle_option): Initialize and set free_line_length and fixed_line_length. * scanner.c (load_line): Set free_line_length to 132 and fixed_line_length to 72 or user requested values. * scanner.c: Typo in comment. * invoke.texi: Document -ffree-line-length- and -ffree-line-length-none gfortran.dg/line_length_1.f: New test: gfortran.dg/line_length_2.f90: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107745 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/20811fxcoudert2005-11-171-6/+10
| | | | | | | | | | | | | | | | * scanner.c (gfc_open_included_file): Add an extra include_cwd argument. Only include files in the current working directory if its value is true. * gfortran.h: Change prototype for gfc_open_included_file. (load_file): Don't search for include files in the current working directory. * options.c (gfc_post_options): Add the directory of the source file to the list of paths for included files. * module.c (gfc_use_module): Look for module files in the current directory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107120 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2005-08-211-100/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103322 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-08-19 Steven G. Kargl <kargls@comcast.net>tobi2005-08-191-10/+5
| | | | | | | | | | | PR fortran/23065 * gfortran.h: Remove PATH_MAX definition. * module.c (write_module, gfc_dump_module): Use alloca to allocate buffers. * scanner.s (gfc_release_include_path, form_from_filename): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103271 138bc75d-0d04-0410-961f-82ee72b054a4
* * scanner.c (preprocessor_line): Don't write beyond the end of flagjakub2005-08-091-1/+1
| | | | | | | buffer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102902 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/22417jakub2005-07-141-4/+4
| | | | | | | | | | | | * scanner.c (preprocessor_line): Don't treat flag 3 as the start of a new file. Fix file left but not entered warning. * gfortran.dg/g77/cpp5.F: New test. * gfortran.dg/g77/cpp5.h: New file. * gfortran.dg/g77/cpp5inc.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102010 138bc75d-0d04-0410-961f-82ee72b054a4
* * scanner.c (load_line): Add pbuflen argument, don't makejakub2005-07-071-13/+17
| | | | | | | | | | | | | buflen static. If maxlen == 0 or preprocessor_flag, don't truncate at buflen, but at maxlen. In xrealloc add 1 byte at the end for the terminating '\0'. Don't fill with spaces up to buflen, but gfc_option.fixed_line_length. (load_file): Adjust load_line caller. Add line_len variable. * gfortran.dg/longline.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101718 138bc75d-0d04-0410-961f-82ee72b054a4
* * scanner.c (preprocessor_line): Only set current_file->line when errorsjakub2005-07-071-16/+24
| | | | | | | | | | have not been encountered. Warn and don't crash if a file leave preprocessor line has no corresponding entering line. Formatting. * gfortran.dg/badline.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101717 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF address.kcook2005-06-251-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101310 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-04-17 Richard Guenther <rguenth@gcc.gnu.org>rguenth2005-04-171-2/+8
| | | | | | | | | | | | | * scanner.c (gfc_next_char_literal): Reset truncation flag for lines ending in a comment for both fixed and free form. (load_line): Do not set truncated flag if only truncating the EOL marker. * gfortran.dg/wtruncate.f: New testcase. * gfortran.dg/wtruncate.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98269 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-04-15 Richard Guenther <rguenth@gcc.gnu.org>rguenth2005-04-151-20/+12
| | | | | | | | | | | | | | PR fortran/14569 * gfortran.h (gfc_linebuf): Add truncated field. * parse.c (next_statement): Handle warning for truncated lines. * scanner.c (load_line): Return if line was truncated. No longer warn for truncated lines. Remove unused parameters. (load_file): Store load_line return value to linebuf. (gfc_error_recovery): Do not advance line at the end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98210 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,kazu2005-01-181-1/+2
| | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93830 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c: Add system.h; remove string.hrth2005-01-031-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92866 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud