aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-05-18re PR fortran/66039 (ICE on incomplete parentheses at rewind, flush, ↵Steven G. Kargl4-3/+37
endfile, backspace) 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/66039 * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH, BACKSPACE, and ENDFILE statements 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/66039 * gfortran.dg/filepos1.f90: New test From-SVN: r223315
2015-05-18revert: Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.Jason Merrill2-5/+1
Revert: * Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98. From-SVN: r223314
2015-05-18re PR fortran/64925 (ICE with same names for dummy arg and internal procedure)Steven G. Kargl4-0/+38
2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/64925 * symbol.c(check_conflict): Check for a conflict between a dummy argument and an internal procedure name. 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/64925 * gfortran.dg/pr64925.f90: New test. From-SVN: r223313
2015-05-18* Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.Jason Merrill2-1/+5
From-SVN: r223312
2015-05-18pr41521_0.f90: Move INTERFACE statement in program unit.Steven G. Kargl3-7/+12
2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/lto/pr41521_0.f90: Move INTERFACE statement in program unit. * gfortran.dg/lto/pr41576_1.f90: Ditto. From-SVN: r223309
2015-05-18freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build pie executables.Andreas Tobler5-25/+28
2015-05-18 Andreas Tobler <andreast@gcc.gnu.org> gcc: * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build pie executables. (FBSD_ENDFILE_SPEC): Likewise. * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from config/freebsd-spec.h. (ENDFILE_SPEC): Likewise. gcc/testsuite: * lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd* to the family of pie capable targets. From-SVN: r223308
2015-05-18pt.c (retrieve_specialization): Make sure our arguments have gone through ↵Jason Merrill2-0/+11
strip_typedefs. * pt.c (retrieve_specialization): Make sure our arguments have gone through strip_typedefs. From-SVN: r223305
2015-05-18pt.c (tsubst_decl): Call coerce_innermost_template_parms.Jason Merrill4-1/+42
* pt.c (tsubst_decl) [VAR_DECL]: Call coerce_innermost_template_parms. (determine_specialization): Call coerce_template_parms. From-SVN: r223304
2015-05-18DR 1391Jason Merrill6-43/+150
DR 1391 * pt.c (type_unification_real): Check convertibility here. (unify_one_argument): Not here. From-SVN: r223301
2015-05-18tree.c (strip_typedefs_expr): Fix typo.Jason Merrill2-4/+8
* tree.c (strip_typedefs_expr) [TRAIT_EXPR]: Fix typo. (strip_typedefs) [DECLTYPE_TYPE]: Fix typedef of decltype. [TREE_LIST]: Fix no-change case. From-SVN: r223300
2015-05-18* ptree.c (cxx_print_xnode): Handle TRAIT_EXPR.Jason Merrill2-0/+11
From-SVN: r223299
2015-05-18re PR rtl-optimization/57032 (internal compiler error: Max. number of ↵Uros Bizjak3-10/+15
generated reload insns per insn is achieved (90)) PR target/57032 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint. Check for a memory location that is not a reference (using an AND) to an unaligned location here. * config/alpha/predicates.md (normal_memory_operand): Remove. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r223298
2015-05-18check_GNU_style.sh: Don't do 80 char check line by lineTom de Vries2-18/+59
2015-05-18 Tom de Vries <tom@codesourcery.com> * check_GNU_style.sh: Add temp files tmp2 and tmp3. (cat_with_prefix): New function, using global variable prefix. (col): Make prefix a global variable. Rewrite to process file at a time rather than line at a time. Print part longer than 80 chars in red. From-SVN: r223297
2015-05-18arm.md (andsi_not_shiftsi_si_scc): New pattern.Alex Velenko7-0/+262
gcc/config 2015-05-18 Alex Velenko <Alex.Velenko@arm.com> * arm/arm.md (andsi_not_shiftsi_si_scc): New pattern. (andsi_not_shiftsi_si_scc_no_reuse): New pattern. gcc/testsuite 2015-05-18 Alex Velenko <Alex.Velenko@arm.com> * gcc.target/arm/bics_1.c : New testcase. * gcc.target/arm/bics_2.c : New testcase. * gcc.target/arm/bics_3.c : New testcase. * gcc.target/arm/bics_4.c : New testcase. From-SVN: r223295
2015-05-18Fix ICE when both micromips and nomicromips attributes are used.Robert Suchanek4-0/+33
gcc/ChangeLog: 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com> * config/mips/mips.c (micromips_globals): New variable. (mips_set_compression_mode): Save and reinitialize target-dependent state for microMIPS. gcc/testsuite/ChangeLog: 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com> * gcc.target/mips/umips-attr.c: New test. From-SVN: r223294
2015-05-18IPA ICF: add support for debug counter.Martin Liska2-1/+9
* dbgcnt.def: Add new counter. * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter. From-SVN: r223288
2015-05-18dbgcnt: enhance behavior.Martin Liska3-13/+24
* dbgcnt.def: Sort counters. * opts.c (common_handle_option): Do not compile if -fdbg-cnt-list is enabled. From-SVN: r223287
2015-05-18Move array-type va_list handling to build_va_argTom de Vries9-62/+143
2015-05-18 Tom de Vries <tom@codesourcery.com> * gimplify.c (gimplify_modify_expr): Remove do_deref handling. (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of address operator to va_list operand. * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand unconditionally. * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list operand. * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same. * config/s390/s390.c (s390_gimplify_va_arg): Same. * config/spu/spu.c (spu_gimplify_va_arg_expr): Same. * c-common.c (build_va_arg_1): New function. (build_va_arg): Add address operator to va_list operand if necessary. From-SVN: r223286
2015-05-18Fix whitespace in tree-ssa-tail-merge.cTom de Vries2-7/+10
2015-05-18 Tom de Vries <tom@codesourcery.com> * tree-ssa-tail-merge.c: Fix whitespace. From-SVN: r223285
2015-05-18check_GNU_style.sh: Don't cat empty fileTom de Vries2-6/+28
2015-05-18 Tom de Vries <tom@codesourcery.com> * check_GNU_style.sh (g, ag, vg): Don't cat empty file. From-SVN: r223284
2015-05-18check_GNU_style.sh: Declare local vars with localTom de Vries2-9/+13
2015-05-18 Tom de Vries <tom@codesourcery.com> * check_GNU_style.sh (g, ag, vg, col): Declare local vars with local. From-SVN: r223283
2015-05-18check_GNU_style.sh: Improve readability function callsTom de Vries2-3/+8
2015-05-18 Tom de Vries <tom@codesourcery.com> * check_GNU_style.sh: Improve readability function calls. From-SVN: r223282
2015-05-17invoke.texi (ARM Options, mtune): Add generic-armv7-a, cortex-a17, and ↵Jim Wilson2-5/+10
cortex-a17.cortex-a7. gcc/ * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a, cortex-a17, and cortex-a17.cortex-a7. From-SVN: r223281
2015-05-18Daily bump.GCC Administrator1-1/+1
From-SVN: r223280
2015-05-1720150120-1.c (dg-final): Cleanup original tree dump.Uros Bizjak5-0/+11
* gcc.dg/20150120-1.c (dg-final): Cleanup original tree dump. * gcc.dg/20150120-2.c (dg-final): Ditto. * gcc.dg/20150120-2.c (dg-final): Ditto. * gfortran.dg/inline_matmul_1.f90 (dg-final): Ditto. From-SVN: r223276
2015-05-17pr66174.c: New test.Uros Bizjak1-0/+30
* gcc.target/i386/pr66174.c: New test. From-SVN: r223275
2015-05-17re PR target/54236 ([SH] Improve addc and subc insn utilization)Oleg Endo2-4/+9
gcc/ PR target/54236 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult. From-SVN: r223274
2015-05-17unordered_map.h (unordered_map, [...]): Add missing constructors.François Dumont7-64/+470
2015-05-17 François Dumont <fdumont@gcc.gnu.org> * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add missing constructors. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Likewise. * include/debug/unordered_map (unordered_map, unordered_multimap): Add missing constructors. * include/debug/unordered_set (unordered_set, unordered_multiset): Likewise. * include/profile/unordered_map (unordered_map, unordered_multimap): Add missing constructors. * include/profile/unordered_set (unordered_set, unordered_multiset): Likewise. * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor invocations. * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise. * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise. * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise. From-SVN: r223273
2015-05-17re PR target/66174 (ICE: in extract_insn, at recog.c:2341 (unrecognizable ↵Uros Bizjak3-8/+46
insns) with -ftree-vectorize -mavx512ifma) PR target/66174 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and QImode inner modes for TARGET_AVX512BW. Force mask operand to a register for AVX512F modes. testsuite/ChangeLog: PR target/66174 * gcc.target/i386/pr66174.c: New test. From-SVN: r223269
2015-05-17re PR fortran/37131 (inline matmul for small matrix sizes)Thomas Koenig3-0/+48
2015-05-17 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/37131 * gfortran.dg/matmul_bounds_6.f90: New test. * gfortran.dg/matmul_bounds_7.f90: New test. From-SVN: r223268
2015-05-17Daily bump.GCC Administrator1-1/+1
From-SVN: r223265
2015-05-16FT32 target added. Approved by Jeff Law [law@redhat.com]James Bowman26-1/+4257
From-SVN: r223261
2015-05-16toplev.c (emit_debug_global_declarations): Do not output debug info when ↵Jan Hubicka2-0/+8
doing slim LTO objects. * toplev.c (emit_debug_global_declarations): Do not output debug info when doing slim LTO objects. From-SVN: r223260
2015-05-16ipa-utils.h (warn_types_mismatch, [...]): Declare.Jan Hubicka1-0/+18
* ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p, odr_types_equivalent_p): Declare. (odr_type_p): Use gcc_checking_assert. (type_in_anonymous_namespace_p) Declare. (type_with_linkage_p): Declare. * common.opt (Wlto-type-mismatch): New warning. * ipa-devirt.c (compound_type_base): New function. (odr_or_derived_type_p): New function. (odr_types_equivalent_p): New function. (add_type_duplicate): Simplify. (type_with_linkage_p): Add hack to prevent false positives on C types (type_in_anonymous_namespace_p): Likewise. * tree.c (need_assembler_name_p): Use type_with_linkage. * tree.h (type_in_anonymous_namespace_p): Remove. * doc/invoke.texi (-Wlto-type-mismatch): Document From-SVN: r223259
2015-05-16ipa-utils.h (warn_types_mismatch, [...]): Declare.Jan Hubicka16-78/+269
* ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p, odr_types_equivalent_p): Declare. (odr_type_p): Use gcc_checking_assert. (type_in_anonymous_namespace_p) Declare. (type_with_linkage_p): Declare. * common.opt (Wlto-type-mismatch): New warning. * ipa-devirt.c (compound_type_base): New function. (odr_or_derived_type_p): New function. (odr_types_equivalent_p): New function. (add_type_duplicate): Simplify. (type_with_linkage_p): Add hack to prevent false positives on C types (type_in_anonymous_namespace_p): Likewise. * tree.c (need_assembler_name_p): Use type_with_linkage. * tree.h (type_in_anonymous_namespace_p): Remove. * doc/invoke.texi (-Wlto-type-mismatch): Document * lto-symtab.c (warn_type_compatibility_p): Break out from ...; compare ODR types (if available) and function types. (lto_symtab_merge): ... here; output ODR violation warnings and call warn_types_mismatch. * gfortran.dg/lto/20091028-2_1.c: Fix return value. * gfortran.dg/lto/pr41576_1.f90: Add interface. * gfortran.dg/lto/pr41521_0.f90: Disable lto-type-mismatch * gfortran.dg/lto/pr60635_0.f90: Disable lto-type-mismatch. * gfortran.dg/lto/20091028-1_1.c: Fix return type. * gcc.dg/lto/20120723_0.c: Disbale lto-type-mismatch. From-SVN: r223258
2015-05-16tree.c (verify_type_variant): Verify tree_base and type_common flags.Jan Hubicka2-98/+142
* tree.c (verify_type_variant): Verify tree_base and type_common flags. (verify_type): Verify STRING_FLAG. From-SVN: r223252
2015-05-16re PR fortran/65903 (Line continuation followed by comment character in ↵Jerry DeLisle3-0/+31
string fails to compile) 2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/65903 * gfortran.dg/continuation_13.f90: Update test. * gfortran.dg/pr65903.f90: New test. From-SVN: r223249
2015-05-16re PR fortran/65903 (Line continuation followed by comment character in ↵Jerry DeLisle3-14/+14
string fails to compile) 2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/65903 * io.c (format_lex): Change to NONSTRING when checking for possible doubled quote. * scanner.c (gfc_next_char_literal): Revert change from 64506 and add a check for quotes and return. From-SVN: r223248
2015-05-16d-demangle.c (dlang_symbol_kinds): New enum.Iain Buclaw3-57/+190
libiberty/ChangeLog: 2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * d-demangle.c (dlang_symbol_kinds): New enum. (dlang_parse_symbol): Update signature. Handle an ambiguity between pascal functions and template value arguments. Only check for a type if parsing a function, or at the top level. Return failure if the entire symbol was not successfully demangled. (dlang_identifier): Update signature. Handle an ambiguity between two adjacent digits in a mangled symbol string. (dlang_type): Update call to dlang_parse_symbol. (dlang_template_args): Likewise. (dlang_parse_template): Likewise. (dlang_demangle): Likewise. * testsuite/d-demangle-expected: Fix bad tests found, and add problematic examples to the unittests. From-SVN: r223247
2015-05-16d-demangle.c (dlang_template_args): Skip over specialized template ↵Iain Buclaw3-0/+19
parameters in mangled symbol. libiberty/ChangeLog: 2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * d-demangle.c (dlang_template_args): Skip over specialized template parameters in mangled symbol. * testsuite/d-demangle-expected: Add coverage and unittest for specialized template parameters. From-SVN: r223246
2015-05-16d-demangle.c (dlang_type): Handle cent and ucent types.Iain Buclaw3-0/+27
libiberty/ChangeLog: 2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * d-demangle.c (dlang_type): Handle cent and ucent types. * testsuite/d-demangle-expected: Add coverage tests for cent and ucent. From-SVN: r223245
2015-05-16d-demangle.c (dlang_attributes): Handle return attributes, ignoring return ↵Iain Buclaw3-0/+64
parameters in the mangled string. libiberty/ChangeLog: 2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * d-demangle.c (dlang_attributes): Handle return attributes, ignoring return parameters in the mangled string. Return NULL if have encountered an unknown attribute. (dlang_function_args): Handle return parameters in the mangled string. * testsuite/d-demangle-expected: Add coverage tests for functions with return parameters and return attributes. From-SVN: r223244
2015-05-16d-demangle.c (dlang_identifier): Check encoded length of identifier to ↵Iain Buclaw3-59/+82
verify strncmp matches entire string. libiberty/ChangeLog: 2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * d-demangle.c (dlang_identifier): Check encoded length of identifier to verify strncmp matches entire string. * testsuite/d-demangle-expected: Fix wrong test for postblit symbol. From-SVN: r223243
2015-05-16d-demangle.c (dlang_type_modifiers): New function.Iain Buclaw3-13/+172
libiberty/ChangeLog: 2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * d-demangle.c (dlang_type_modifiers): New function. (dlang_type_modifier_p): New function. (dlang_call_convention_p): Ignore any kind of type modifier. (dlang_type): Handle and emit the type modifier after delegate types. (dlang_parse_symbol): Handle and emit the type modifier after the symbol. * testsuite/d-demangle-expected: Add coverage tests for all valid usages of function symbols with type modifiers. From-SVN: r223242
2015-05-16d-demangle.c (dlang_call_convention): Return NULL if have reached the end of ↵Iain Buclaw2-6/+16
the symbol, but expected something to read. libiberty/ChangeLog: 2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * d-demangle.c (dlang_call_convention): Return NULL if have reached the end of the symbol, but expected something to read. (dlang_attributes): Likewise. (dlang_function_type): Likewise. (dlang_type): Likewise. (dlang_identifier): Likewise. (dlang_value): Likewise. From-SVN: r223241
2015-05-16d-demangle.c (dlang_parse_string): Represent embedded whitespace or ↵Iain Buclaw3-2/+44
non-printable characters as hex or escape... libiberty/ChangeLog: 2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * d-demangle.c (dlang_parse_string): Represent embedded whitespace or non-printable characters as hex or escape sequences. * testsuite/d-demangle-expected: Add test for templates with tabs and newlines embedded into the signature. From-SVN: r223240
2015-05-16MAINTAINERS (Write After Approval): Add myself.Iain Buclaw2-0/+5
2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * MAINTAINERS (Write After Approval): Add myself. From-SVN: r223239
2015-05-16re PR fortran/66113 (Variable n cannot appear in the expression with nested ↵Thomas Koenig4-4/+46
blocks) 2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66113 * expr.c (is_parent_of_current_ns): New function. (check_restricted): Use it. 2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66113 * gfortran.dg/block_14.f90: New test. From-SVN: r223238
2015-05-16re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, ↵Manuel López-Ibáñez16-258/+375
!GCC$ diagnostic (pragmas) and color) gcc/fortran/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 Replace all calls to gfc_notify_std_1 with gfc_notify_std and gfc_warning_1 with gfc_warning. * decl.c (gfc_verify_c_interop_param): Here. * resolve.c (resolve_branch): Here. (resolve_fl_derived): Here. * dependency.c (gfc_check_argument_var_dependency): * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line counter and locations before and after warning. * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1): Delete. (gfc_warning_now_at): Declare. * error.c (gfc_warning_1): Delete. (gfc_notify_std_1): Delete. (gfc_warning_now_1): Delete. (gfc_format_decoder): Handle two locations. (gfc_diagnostic_build_prefix): Rename as gfc_diagnostic_build_kind_prefix. (gfc_diagnostic_build_locus_prefix): Take an expanded_location instead of diagnostic_info. (gfc_diagnostic_build_locus_prefix): Add overload that takes two expanded_location. (gfc_diagnostic_starter): Handle two locations. (gfc_warning_now_at): New. (gfc_diagnostics_init): Initialize caret_chars array. (gfc_diagnostics_finish): Reset caret_chars array to default. gcc/cp/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (cp_diagnostic_starter): Use diagnostic_location function. (cp_print_error_function): Likewise. (cp_printer): Replace locus pointer with accessor function. gcc/c/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * c-objc-common.c (c_tree_printer): Replace locus pointer with accessor function. gcc/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * tree-pretty-print.c (percent_K_format): Replace locus pointer with accessor function. * tree-diagnostic.c (diagnostic_report_current_function): Use diagnostic_location function. (maybe_unwind_expanded_macro_loc): Likewise. (virt_loc_aware_diagnostic_finalizer): Likewise. (default_tree_printer): Replace locus pointer with accessor function. * diagnostic.c (diagnostic_initialize): Initialize caret_chars array. (diagnostic_set_info_translated): Initialize second location. (diagnostic_build_prefix): Use CARET_LINE_MARGIN. (diagnostic_show_locus): Handle two locations. Call diagnostic_print_caret_line. (diagnostic_print_caret_line): New. (default_diagnostic_starter): Use diagnostic_location function. (diagnostic_report_diagnostic): Use diagnostic_location function. (verbatim): Do not set text.locus. * diagnostic.h (struct diagnostic_info): Remove location field. (struct diagnostic_context): Make caret_chars an array of two. (diagnostic_location): New inline. (diagnostic_expand_location): Handle two locations. (diagnostic_same_line): New inline. (diagnostic_print_caret_line): Declare. (CARET_LINE_MARGIN): New constant. * pretty-print.c (pp_printf): Do not set text.locus. (pp_verbatim): Do not set text.locus. * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant. (struct text_info): Replace locus pointer with locations array. Add accessor functions. gcc/testsuite/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * lib/gfortran-dg.exp: Update regex to handle two locations for the same diagnostic without caret. * gfortran.dg/badline.f: Test also that line numbers are correct before and after "left but not entered" warning. From-SVN: r223237
2015-05-16re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, ↵Manuel López-Ibáñez5-0/+84
!GCC$ diagnostic (pragmas) and color) gcc/fortran/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 Replace all calls to gfc_notify_std_1 with gfc_notify_std and gfc_warning_1 with gfc_warning. * decl.c (gfc_verify_c_interop_param): Here. * resolve.c (resolve_branch): Here. (resolve_fl_derived): Here. * dependency.c (gfc_check_argument_var_dependency): * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line counter and locations before and after warning. * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1): Delete. (gfc_warning_now_at): Declare. * error.c (gfc_warning_1): Delete. (gfc_notify_std_1): Delete. (gfc_warning_now_1): Delete. (gfc_format_decoder): Handle two locations. (gfc_diagnostic_build_prefix): Rename as gfc_diagnostic_build_kind_prefix. (gfc_diagnostic_build_locus_prefix): Take an expanded_location instead of diagnostic_info. (gfc_diagnostic_build_locus_prefix): Add overload that takes two expanded_location. (gfc_diagnostic_starter): Handle two locations. (gfc_warning_now_at): New. (gfc_diagnostics_init): Initialize caret_chars array. (gfc_diagnostics_finish): Reset caret_chars array to default. gcc/cp/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (cp_diagnostic_starter): Use diagnostic_location function. (cp_print_error_function): Likewise. (cp_printer): Replace locus pointer with accessor function. gcc/c/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * c-objc-common.c (c_tree_printer): Replace locus pointer with accessor function. gcc/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * tree-pretty-print.c (percent_K_format): Replace locus pointer with accessor function. * tree-diagnostic.c (diagnostic_report_current_function): Use diagnostic_location function. (maybe_unwind_expanded_macro_loc): Likewise. (virt_loc_aware_diagnostic_finalizer): Likewise. (default_tree_printer): Replace locus pointer with accessor function. * diagnostic.c (diagnostic_initialize): Initialize caret_chars array. (diagnostic_set_info_translated): Initialize second location. (diagnostic_build_prefix): Use CARET_LINE_MARGIN. (diagnostic_show_locus): Handle two locations. Call diagnostic_print_caret_line. (diagnostic_print_caret_line): New. (default_diagnostic_starter): Use diagnostic_location function. (diagnostic_report_diagnostic): Use diagnostic_location function. (verbatim): Do not set text.locus. * diagnostic.h (struct diagnostic_info): Remove location field. (struct diagnostic_context): Make caret_chars an array of two. (diagnostic_location): New inline. (diagnostic_expand_location): Handle two locations. (diagnostic_same_line): New inline. (diagnostic_print_caret_line): Declare. (CARET_LINE_MARGIN): New constant. * pretty-print.c (pp_printf): Do not set text.locus. (pp_verbatim): Do not set text.locus. * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant. (struct text_info): Replace locus pointer with locations array. Add accessor functions. gcc/testsuite/ChangeLog: 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * lib/gfortran-dg.exp: Update regex to handle two locations for the same diagnostic without caret. * gfortran.dg/badline.f: Test also that line numbers are correct before and after "left but not entered" warning. From-SVN: r223236