1. 31 Oct, 2018 37 commits
    • tree-ssa-loop-ivcanon.c (try_peel_loop): Fix typo and remove dead initialization. · d8b1c3f0
      	* tree-ssa-loop-ivcanon.c (try_peel_loop): Fix typo and remove dead
      	initialization.
      
      From-SVN: r265693
      Pat Haugen committed
    • [6/6] Preprocessor forced macro location · f3f6029d
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02044.html
      	libcpp/
      	* internal.h (struct cpp_reader): Rename forced_token_location_p
      	to forced_token_location and drop its pointerness.
      	* include/cpplib.h (cpp_force_token_locations): Take location, not
      	pointer to one.
      	* init.c (cpp_create_reader): Adjust.
      	* lex.c (cpp_read_main_file): 
      
      	gcc/c-family/
      	* c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
      
      	gcc/fortran/
      	* cpp.c (gfc_cpp_init): Adjust cpp_force_token_locations call.
      
      From-SVN: r265692
      Nathan Sidwell committed
    • Add myself to MAINTAINERS · 82a14443
      ChangeLog:
      
      2018-10-31  Michael Ploujnikov  <michael.ploujnikov@oracle.com>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r265691
      Michael Ploujnikov committed
    • [5/6] Preprocessor include · 705b0c05
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02041.html
      	* directives.c (do_include_common): Commonize cleanup path.
      	(_cpp_pop_buffer): Fix leak.
      
      From-SVN: r265690
      Nathan Sidwell committed
    • [4/7] Preprocessor location-kind predicates · 87bacc2b
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02040.html
      	* include/line-map.h (IS_ORDINARY_LOC, IS_MACRO_LOC): New
      	predicates.
      	(IS_ADHOC_LOC): Move earlier.
      	(MAP_ORDINARY_P): Use IS_ORDINARY_LOC.
      	* line-map.c (linemap_location_from_macro_expansion_p): Use
      	IS_MACRO_LOC.
      
      From-SVN: r265689
      Nathan Sidwell committed
    • [3/7] Preprocessor macro loc · c9fb347e
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02039.html
      	* include/cpplib.h (cpp_macro_definition_location): Make inline.
      	* macro.c (warn_of_redefinition): Fix comments, examine macro
      	type, use C++ for.
      	(cpp_macro_definition_location): Don't define here.
      
      From-SVN: r265688
      Nathan Sidwell committed
    • [2/7] Preprocessor node access · 43af5ef1
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02038.html
      	* include/cpplib.h (HT_NODE): Don't cast NODE.
      	(NODE_LEN, NODE_NAME): Use HT_NODE.
      
      From-SVN: r265687
      Nathan Sidwell committed
    • Provide extension hint for aarch64 target (PR driver/83193). · c7887347
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	PR driver/83193
      	* common/config/aarch64/aarch64-common.c (aarch64_parse_extension):
      	Add new argument invalid_extension.
      	(aarch64_get_all_extension_candidates): New function.
      	(aarch64_rewrite_selected_cpu): Add NULL to function call.
      	* config/aarch64/aarch64-protos.h (aarch64_parse_extension): Add
      	new argument.
      	(aarch64_get_all_extension_candidates): New function.
      	* config/aarch64/aarch64.c (aarch64_parse_arch): Add new
      	argument invalid_extension.
      	(aarch64_parse_cpu): Likewise.
      	(aarch64_print_hint_for_extensions): New function.
      	(aarch64_validate_mcpu): Provide hint about invalid extension.
      	(aarch64_validate_march): Likewise.
      	(aarch64_handle_attr_arch): Pass new argument.
      	(aarch64_handle_attr_cpu): Provide hint about invalid extension.
      	(aarch64_handle_attr_isa_flags): Likewise.
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	PR driver/83193
      	* gcc.target/aarch64/spellcheck_7.c: New test.
      	* gcc.target/aarch64/spellcheck_8.c: New test.
      	* gcc.target/aarch64/spellcheck_9.c: New test.
      
      From-SVN: r265686
      Martin Liska committed
    • [1/7] Preprocessor cleanup · ff65e980
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02037.html
      	* directives.c (DIRECTIVE_TABLE): Drop historical frequency
      	comments.
      	* files.c (_cpp_stack_file): Fix indentation.
      
      From-SVN: r265685
      Nathan Sidwell committed
    • More testing for std::pair layout change · d5e33619
      	* testsuite/20_util/pair/87822.cc: Test deeper nesting.
      
      From-SVN: r265680
      Jonathan Wakely committed
    • [C++ PATCH] Simplify overloads · 8e82c473
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02026.html
      	gcc/cp/
      	* cp-tree.h (OVL_DEDUP_P): New.
      	* name-lookup.c (name_lookup::add_overload): Check OVL_DEDUP_P.
      	(get_class_binding_direct): Likwise.
      	* tree.c (ovl_make): Propagate OVL_DEDUP_P.
      	(ovl_copy): Copy it.
      	(ovl_insert): Do not keep using-decls ordered.
      	(lookup_maybe_add): Adjust comment.
      
      	gcc/testsuite/
      	* g++.dg/lookup/using60.C: New.
      
      From-SVN: r265679
      Nathan Sidwell committed
    • PR libstdc++/87822 fix layout change for nested std::pair · 0db78d0a
      The introduction of the empty __pair_base base class for PR 86751
      changed the layout of std::pair<std::pair<...>, ...>. The outer pair and
      its first member both have a base class of the same type, which cannot
      exist at the same address. This causes the first member to be at a
      non-zero offset.
      
      The solution is to make the base class depend on the template
      parameters, so that each pair type has a different base class type,
      which allows the base classes of the outer pair and its first member to
      have the same address.
      
      	PR libstdc++/87822
      	* include/bits/stl_pair.h (__pair_base): Change to class template.
      	(pair): Make base class type depend on template parameters.
      	* testsuite/20_util/pair/87822.cc: New test.
      
      From-SVN: r265678
      Jonathan Wakely committed
    • re PR middle-end/70359 (Code size increase for x86/ARM/others compared to gcc-5.3.0) · ef976be1
      2018-10-31  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/70359
      	PR middle-end/86270
      	* tree-outof-ssa.c (insert_backedge_copies): Restrict
      	copy generation to useful cases.  Place the copy before
      	the definition of the backedge value when possible.
      
      	* gcc.target/i386/pr70359.c: New testcase.
      	* gcc.target/i386/pr86270.c: Likewise.
      
      From-SVN: r265677
      Richard Biener committed
    • [ARC] Handle store cacheline hazard. · 635aeaa2
      Handle store cacheline hazard for A700 cpus by inserting two NOP_S
      between ST ST LD or their logical equivalent (like ST ST NOP_S NOP_S
      J_L.D LD)
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * config/arc/arc-arch.h (ARC_TUNE_ARC7XX): New tune value.
              * config/arc/arc.c (arc_active_insn): New function.
              (check_store_cacheline_hazard): Likewise.
              (workaround_arc_anomaly): Use check_store_cacheline_hazard.
              (arc_override_options): Disable delay slot scheduler for older
              A7.
              (arc_store_addr_hazard_p): New implementation, old one renamed to
              ...
              (arc_store_addr_hazard_internal_p): Renamed.
              (arc_reorg): Don't combine into brcc instructions which are part
              of hardware hazard solution.
              * config/arc/arc.md (attr tune): Consider new arc7xx tune value.
              (tune_arc700): Likewise.
              * config/arc/arc.opt (arc7xx): New tune value.
              * config/arc/arc700.md: Improve A7 scheduler.
      
      From-SVN: r265676
      Claudiu Zissulescu committed
    • [ARC] Add BI/BIH instruction support. · aac1c11c
      Use BI/BIH instruction to implement casesi pattern. Only ARC V2.
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * config/arc/arc.c (arc_override_options): Remove
              TARGET_COMPACT_CASESI.
              * config/arc/arc.h (ASM_OUTPUT_ADDR_DIFF_ELT): Update.
              (CASE_VECTOR_MODE): Likewise.
              (CASE_VECTOR_PC_RELATIVE): Likewise.
              (CASE_VECTOR_SHORTEN_MODE): Likewise.
              (CASE_VECTOR_SHORTEN_MODE1): Delete.
              (ADDR_VEC_ALIGN): Update.
              (ASM_OUTPUT_CASE_LABEL): Undefine.
              (ASM_OUTPUT_BEFORE_CASE_LABEL): Undefine.
              (TARGET_BI_BIH): Define.
              (DEFAULT_BRANCH_INDEX): Likewise.
              * config/arc/arc.md (casesi): Rework to accept BI/BIH
              instructions, remove compact_casesi use case.
              (casesi_compact_jump): Remove.
              (casesi_dispatch): New pattern.
              * config/arc/arc.opt: Add mbranch-index option. Deprecate
              compact_casesi option.
              * doc/invoke.texi: Document mbranch-index option.
      
      gcc/testsuite
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * gcc.target/arc/jumptable.c: New test.
      
      From-SVN: r265675
      Claudiu Zissulescu committed
    • [ARC] Cleanup TLS implementation and add a number of tests. · 8efa18d6
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_get_tp): Remove function.
      	(arc_emit_call_tls_get_addr): Likewise.
      	(arc_call_tls_get_addr): New function.
      	(arc_legitimize_tls_address): Make use of arc_call_tls_get_addr.
      	* config/arc/arc.md (tls_load_tp_soft): Remove.
      	(tls_gd_get_addr): Likewise.
      
      testsuite/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/tls-gd.c: New file.
      	* gcc.target/arc/tls-ie.c: Likewise.
      	* gcc.target/arc/tls-ld.c: Likewise.
      	* gcc.target/arc/tls-le.c: Likewise.
      	* gcc.target/arc/tls-1.c: Update test.
      
      From-SVN: r265674
      Claudiu Zissulescu committed
    • Update LOCAL_PATCHES after libsanitizer merge. · 088371bf
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* LOCAL_PATCHES: Update to installed revisions.
      
      From-SVN: r265673
      Martin Liska committed
    • [ARC] Remove non standard funcions calls. · 8180cde0
      Replace all custom "library" calls with compiler known patterns.
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.md (mulsi3): Remove call to mulsi_600_lib.
      	(mulsi3_600_lib): Remove pattern.
      	(umulsi3_highpart_600_lib_le): Likewise.
      	(umulsi3_highpart): Remove call to umulsi3_highpart_600_lib_le.
      	(umulsidi3): Remove call to umulsidi3_600_lib.
      	(umulsidi3_600_lib): Remove pattern.
      	(peephole2): Remove peephole using the above deprecated patterns.
      
      testsuite/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/mulsi3_highpart-2.c: Update test.
      
      libgcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/lib1funcs.S (_muldi3): New function.
      	* config/arc/t-arc (LIB1ASMFUNCS): Add _muldi3.
      
      From-SVN: r265672
      Claudiu Zissulescu committed
    • Update test-suite expected output after rewording in libsanitizer. · fad03406
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* c-c++-common/ubsan/pr63839.c: Update to new sanitizer message.
      	* c-c++-common/ubsan/unreachable-1.c (main): Likewise.
      	* c-c++-common/ubsan/unreachable-2.c: Likewise.
      	* c-c++-common/ubsan/unreachable-4.c (main): Likewise.
      
      From-SVN: r265670
      Martin Liska committed
    • New local GCC patch for CAN_SANITIZE_UB ifdef. · c244886c
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* ubsan/ubsan_platform.h: Add ifndef as we define it with
      	-DCAN_SANITIZE_UB CFLAGS.
      
      From-SVN: r265669
      Martin Liska committed
    • Revert https://reviews.llvm.org/D40908 which changes asan offset to 1<<44. · f607b87c
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* asan/asan_mapping.h: Revert shadow memory offset to 1 << 41.
      
      From-SVN: r265668
      Martin Liska committed
    • Apply LOCAL_PATCHES and remove not used ones. · e63c9677
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* LOCAL_PATCHES: Update patch list.
      	* asan/asan_globals.cc (CheckODRViolationViaIndicator): Apply
      	patches from GCC's trunk.
      	(CheckODRViolationViaPoisoning): Likewise.
      	(RegisterGlobal): Likewise.
      	* sanitizer_common/sanitizer_mac.cc (defined): Likewise.
      	* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Likewise.
      	* ubsan/ubsan_handlers.cc (__ubsan::__ubsan_handle_cfi_bad_icall): Likewise.
      	(__ubsan::__ubsan_handle_cfi_bad_icall_abort): Likewise.
      	* ubsan/ubsan_handlers.h (struct CFIBadIcallData): Likewise.
      	(struct CFICheckFailData): Likewise.
      	(RECOVERABLE): Likewise.
      
      From-SVN: r265667
      Martin Liska committed
    • Update build system: include new files and run autoheader, autoconf, automake · 8468f944
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* config.h.in: Regenerate.
      	* configure: Likewise.
      	* sanitizer_common/Makefile.am: Include new files, remove old
      	files.
      	* sanitizer_common/Makefile.in: Regenerate.
      	* ubsan/Makefile.am: Include new files, remove old
      	files.
      	* ubsan/Makefile.in: Likewise.
      	* asan/Makefile.am: Include new files.
      	* asan/Makefile.in: Regenerate.
      
      From-SVN: r265666
      Martin Liska committed
    • backport: All source files: Merge from upstream 345033. · eac97531
      Merge from upstream 345033.
      
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* All source files: Merge from upstream 345033.
      
      From-SVN: r265665
      Martin Liska committed
    • Update merge script and HOWTO_MERGE documentation. · 95fba530
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* HOWTO_MERGE: Enhance documentation.
      	* merge.sh: Add support for git as well.
      
      From-SVN: r265664
      Martin Liska committed
    • Fix hash-table violation in trans-decl.c. · 2e71b571
      2018-10-31  Martin Liska  <mliska@suse.cz>
      
      	* trans-decl.c (struct module_hasher): Call htab_hash_string
      	for s->name and not for s.
      
      From-SVN: r265663
      Martin Liska committed
    • Fix PR87374: ICE with -mslow-flash-data and -mword-relocations · 6dc8ee41
      GCC ICEs under -mslow-flash-data and -mword-relocations because there
      is no way to load an address, both literal pools and MOVW/MOVT being
      forbidden. This patch gives an error message when both options are
      specified by the user and adds the according dg-skip-if directives for
      tests that use either of these options. It also explicitely set the
      option when in PIC mode as per documentation rather than always check
      for target_word_relocation together with flag_pic.
      
      2018-10-31  Thomas Preud'homme  <thomas.preudhomme@linaro.org>
      
          gcc/
          PR target/87374
          * config/arm/arm.c (arm_option_check_internal): Disable the combined
          use of -mslow-flash-data and -mword-relocations.
          (arm_option_override): Enable -mword-relocations if -fpic or -fPIC.
          * config/arm/arm.md (SYMBOL_REF MOVT splitter): Stop checking for
          flag_pic.
          * doc/invoke.texi (-mword-relocations): Mention conflict with
          -mslow-flash-data.
          (-mslow-flash-data): Reciprocally.
      
          gcc/testsuite/
          PR target/87374
          * gcc.target/arm/movdi_movt.c: Skip if both -mslow-flash-data and
          -mword-relocations would be passed when compiling the test.
          * gcc.target/arm/movsi_movt.c: Likewise.
          * gcc.target/arm/pr81863.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-1.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-2.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-3.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-4.c: Likewise.
          * gcc.target/arm/thumb2-slow-flash-data-5.c: Likewise.
          * gcc.target/arm/tls-disable-literal-pool.c: Likewise.
      
      From-SVN: r265662
      Thomas Preud'homme committed
    • aarch64: Force TImode values into even registers · 563cc649
      The LSE CASP instruction requires values to be placed in even
      register pairs.  A solution involving two additional register
      classes was rejected in favor of the much simpler solution of
      simply requiring all TImode values to be aligned.
      
      	* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Force
      	16-byte modes held in GP registers to use an even regno.
      
      From-SVN: r265661
      Richard Henderson committed
    • aarch64: Improve atomic-op lse generation · 7803ec5e
      Fix constraints; avoid unnecessary split.  Drop the use of the atomic_op
      iterator in favor of the ATOMIC_LDOP iterator; this is simplier and more
      logical for ldclr aka bic.
      
      	* config/aarch64/aarch64.c (aarch64_emit_bic): Remove.
      	(aarch64_atomic_ldop_supported_p): Remove.
      	(aarch64_gen_atomic_ldop): Remove.
      	* config/aarch64/atomic.md (atomic_<atomic_optab><ALLI>):
      	Fully expand LSE operations here.
      	(atomic_fetch_<atomic_optab><ALLI>): Likewise.
      	(atomic_<atomic_optab>_fetch<ALLI>): Likewise.
      	(aarch64_atomic_<ATOMIC_LDOP><ALLI>_lse): Drop atomic_op iterator
      	and use ATOMIC_LDOP instead; use register_operand for the input;
      	drop the split and emit insns directly.
      	(aarch64_atomic_fetch_<ATOMIC_LDOP><ALLI>_lse): Likewise.
      	(aarch64_atomic_<atomic_op>_fetch<ALLI>_lse): Remove.
      	(@aarch64_atomic_load<ATOMIC_LDOP><ALLI>): Remove.
      
      From-SVN: r265660
      Richard Henderson committed
    • aarch64: Improve swp generation · 8f5603d3
      Allow zero as an input; fix constraints; avoid unnecessary split.
      
      	* config/aarch64/aarch64.c (aarch64_emit_atomic_swap): Remove.
      	(aarch64_gen_atomic_ldop): Don't call it.
      	* config/aarch64/atomics.md (atomic_exchange<ALLI>):
      	Use aarch64_reg_or_zero.
      	(aarch64_atomic_exchange<ALLI>): Likewise.
      	(aarch64_atomic_exchange<ALLI>_lse): Remove split; remove & from
      	operand 0; use aarch64_reg_or_zero for input; merge ...
      	(@aarch64_atomic_swp<ALLI>): ... this and remove.
      
      From-SVN: r265659
      Richard Henderson committed
    • re PR d/87788 (Support D on x86_64-apple-darwin*) · 260eedb9
      ChangeLog:
      
      2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR bootstrap/87788
      	PR d/87799
      	* configure: Rebuild.
      	* configure.ac: Disable D on systems where it is known not to work.
      
      libphobos/ChangeLog:
      
      2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR bootstrap/87789
      	PR d/87818
      	PR d/87819
      	* configure.tgt: New file.
      
      From-SVN: r265658
      Iain Buclaw committed
    • aarch64: Improve cas generation · d400fda3
      Do not zero-extend the input to the cas for subword operations;
      instead, use the appropriate zero-extending compare insns.
      Correct the predicates and constraints for immediate expected operand.
      
      	* config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): New.
      	(aarch64_split_compare_and_swap): Use it.
      	(aarch64_expand_compare_and_swap): Likewise.  Remove convert_modes;
      	test oldval against the proper predicate.
      	* config/aarch64/atomics.md (@atomic_compare_and_swap<ALLI>):
      	Use nonmemory_operand for expected.
      	(cas_short_expected_pred): New.
      	(@aarch64_compare_and_swap<SHORT>): Use it; use "rn" not "rI" to match.
      	(@aarch64_compare_and_swap<GPI>): Use "rn" not "rI" for expected.
      	* config/aarch64/predicates.md (aarch64_plushi_immediate): New.
      	(aarch64_plushi_operand): New.
      
      From-SVN: r265657
      Richard Henderson committed
    • aarch64: Simplify LSE cas generation · 77f33f44
      The cas insn is a single insn, and if expanded properly need not
      be split after reload.  Use the proper inputs for the insn.
      
      	* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
      	Force oldval into the rval register for TARGET_LSE; emit the compare
      	during initial expansion so that it may be deleted if unused.
      	(aarch64_gen_atomic_cas): Remove.
      	* config/aarch64/atomics.md (@aarch64_compare_and_swap<SHORT>_lse):
      	Change =&r to +r for operand 0; use match_dup for operand 2;
      	remove is_weak and mod_f operands as unused.  Drop the split
      	and merge with...
      	(@aarch64_atomic_cas<SHORT>): ... this pattern's output; remove.
      	(@aarch64_compare_and_swap<GPI>_lse): Similarly.
      	(@aarch64_atomic_cas<GPI>): Similarly.
      
      From-SVN: r265656
      Richard Henderson committed
    • re PR testsuite/87802 (g++.dg/vect/slp-pr87105.cc fails starting with r265522) · 187cea94
      2018-10-31  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/87802
      	* g++.dg/vect/slp-pr87105.cc: XFAIL for strict alignment targets.
      
      From-SVN: r265655
      Richard Biener committed
    • tree-eh.c (replace_trapping_overflow): Simplify ABS_EXPR case using ABSU_EXPR. · 1a71493d
      2018-10-31  Richard Biener  <rguenther@suse.de>
      
      	* tree-eh.c (replace_trapping_overflow): Simplify ABS_EXPR case
      	using ABSU_EXPR.
      
      From-SVN: r265654
      Richard Biener committed
    • Add pipeline description for Qualcomm Saphira core. · 2e9d500e
      From-SVN: r265653
      Sameera Deshpande committed
    • Daily bump. · 8f4103c5
      From-SVN: r265652
      GCC Administrator committed
  2. 30 Oct, 2018 3 commits
    • re PR fortran/85896 (ICE in gfc_convert_constant(): Unexpected type) · 0a8949a3
      2018-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85896
      	* simplify.c (simplify_min_max): Do not convert the type of the
      	return expression.
      
      2018-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85896
      	* gfortran.dg/min_max_type.f90: New test.
      
      From-SVN: r265649
      Thomas Koenig committed
    • PR middle-end/87041 - -Wformat reading through null pointer on unreachable code · 91e3ec29
      gcc/ChangeLog:
      
      	PR middle-end/87041
      	* gimple-ssa-sprintf.c (format_directive): Use %G to include
      	inlining context.
      	(sprintf_dom_walker::compute_format_length):
      	Avoid setting POSUNDER4K here.
      	(get_destination_size): Handle null argument values.
      	(get_user_idx_format): New function.
      	(sprintf_dom_walker::handle_gimple_call): Handle all printf-like
      	functions, including user-defined with attribute format printf.
      	Use %G to include inlining context.
      	Set POSUNDER4K here.
      
      gcc/c-family/ChangeLog:
      
      	PR middle-end/87041
      	* c-format.c (check_format_types): Avoid diagnosing null pointer
      	arguments to printf-family of functions.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/87041
      	* gcc.c-torture/execute/fprintf-2.c: New test.
      	* gcc.c-torture/execute/printf-2.c: Same.
      	* gcc.c-torture/execute/user-printf.c: Same.
      	* gcc.dg/tree-ssa/builtin-fprintf-warn-1.c: Same.
      	* gcc.dg/tree-ssa/builtin-printf-2.c: Same.
      	* gcc.dg/tree-ssa/builtin-printf-warn-1.c: Same.
      	* gcc.dg/tree-ssa/user-printf-warn-1.c: Same.
      
      From-SVN: r265648
      Martin Sebor committed
    • * params.def (lto-partitions): Bump from 32 to 128. · 448af20a
      From-SVN: r265647
      Jan Hubicka committed