aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2023-06-23 00:16:38 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2023-06-23 00:16:38 +0000
commit270742ceb5141db498ef63373512ed071923b940 (patch)
tree972148900f6d5294ea132bcfd36c581cd5eeeaf1 /gcc
parent8a30775b0d3037123ee540f7b65a736ad49e05ce (diff)
downloadgcc-270742ceb5141db498ef63373512ed071923b940.zip
gcc-270742ceb5141db498ef63373512ed071923b940.tar.gz
gcc-270742ceb5141db498ef63373512ed071923b940.tar.bz2
Daily bump.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog127
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/analyzer/ChangeLog143
-rw-r--r--gcc/go/ChangeLog5
-rw-r--r--gcc/rust/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog76
6 files changed, 357 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a82f00f..1e153c7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,130 @@
+2023-06-22 Marek Polacek <polacek@redhat.com>
+
+ * configure.ac (--enable-host-bind-now): New check. Add
+ -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now.
+ * configure: Regenerate.
+ * doc/install.texi: Document --enable-host-bind-now.
+
+2023-06-22 Di Zhao OS <dizhao@os.amperecomputing.com>
+
+ * config/aarch64/aarch64.cc: Change fma_reassoc_width for ampere1.
+
+2023-06-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/110332
+ * tree-ssa-phiprop.cc (propagate_with_phi): Always
+ check aliasing with edge inserted loads.
+
+2023-06-22 Roger Sayle <roger@nextmovesoftware.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-expand.cc (ix86_expand_sse_ptest): Recognize
+ expansion of ptestc with equal operands as producing const1_rtx.
+ * config/i386/i386.cc (ix86_rtx_costs): Provide accurate cost
+ estimates of UNSPEC_PTEST, where the ptest performs the PAND
+ or PAND of its operands.
+ * config/i386/sse.md (define_split): Transform CCCmode UNSPEC_PTEST
+ of reg_equal_p operands into an x86_stc instruction.
+ (define_split): Split pandn/ptestz/set{n?}e into ptestc/set{n?}c.
+ (define_split): Similar to above for strict_low_part destinations.
+ (define_split): Split pandn/ptestz/j{n?}e into ptestc/j{n?}c.
+
+2023-06-22 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/106626
+ * Makefile.in (ANALYZER_OBJS): Add analyzer/access-diagram.o.
+ * doc/invoke.texi (Wanalyzer-out-of-bounds): Add description of
+ text art.
+ (fanalyzer-debug-text-art): New.
+
+2023-06-22 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (OBJS-libcommon): Add text-art/box-drawing.o,
+ text-art/canvas.o, text-art/ruler.o, text-art/selftests.o,
+ text-art/style.o, text-art/styled-string.o, text-art/table.o,
+ text-art/theme.o, and text-art/widget.o.
+ * color-macros.h (COLOR_FG_BRIGHT_BLACK): New.
+ (COLOR_FG_BRIGHT_RED): New.
+ (COLOR_FG_BRIGHT_GREEN): New.
+ (COLOR_FG_BRIGHT_YELLOW): New.
+ (COLOR_FG_BRIGHT_BLUE): New.
+ (COLOR_FG_BRIGHT_MAGENTA): New.
+ (COLOR_FG_BRIGHT_CYAN): New.
+ (COLOR_FG_BRIGHT_WHITE): New.
+ (COLOR_BG_BRIGHT_BLACK): New.
+ (COLOR_BG_BRIGHT_RED): New.
+ (COLOR_BG_BRIGHT_GREEN): New.
+ (COLOR_BG_BRIGHT_YELLOW): New.
+ (COLOR_BG_BRIGHT_BLUE): New.
+ (COLOR_BG_BRIGHT_MAGENTA): New.
+ (COLOR_BG_BRIGHT_CYAN): New.
+ (COLOR_BG_BRIGHT_WHITE): New.
+ * common.opt (fdiagnostics-text-art-charset=): New option.
+ (diagnostic-text-art.h): New SourceInclude.
+ (diagnostic_text_art_charset) New Enum and EnumValues.
+ * configure: Regenerate.
+ * configure.ac (gccdepdir): Add text-art to loop.
+ * diagnostic-diagram.h: New file.
+ * diagnostic-format-json.cc (json_emit_diagram): New.
+ (diagnostic_output_format_init_json): Wire it up to
+ context->m_diagrams.m_emission_cb.
+ * diagnostic-format-sarif.cc: Include "diagnostic-diagram.h" and
+ "text-art/canvas.h".
+ (sarif_result::on_nested_diagnostic): Move code to...
+ (sarif_result::add_related_location): ...this new function.
+ (sarif_result::on_diagram): New.
+ (sarif_builder::emit_diagram): New.
+ (sarif_builder::make_message_object_for_diagram): New.
+ (sarif_emit_diagram): New.
+ (diagnostic_output_format_init_sarif): Set
+ context->m_diagrams.m_emission_cb to sarif_emit_diagram.
+ * diagnostic-text-art.h: New file.
+ * diagnostic.cc: Include "diagnostic-text-art.h",
+ "diagnostic-diagram.h", and "text-art/theme.h".
+ (diagnostic_initialize): Initialize context->m_diagrams and
+ call diagnostics_text_art_charset_init.
+ (diagnostic_finish): Clean up context->m_diagrams.m_theme.
+ (diagnostic_emit_diagram): New.
+ (diagnostics_text_art_charset_init): New.
+ * diagnostic.h (text_art::theme): New forward decl.
+ (class diagnostic_diagram): Likewise.
+ (diagnostic_context::m_diagrams): New field.
+ (diagnostic_emit_diagram): New decl.
+ * doc/invoke.texi (Diagnostic Message Formatting Options): Add
+ -fdiagnostics-text-art-charset=.
+ (-fdiagnostics-plain-output): Add
+ -fdiagnostics-text-art-charset=none.
+ * gcc.cc: Include "diagnostic-text-art.h".
+ (driver_handle_option): Handle OPT_fdiagnostics_text_art_charset_.
+ * opts-common.cc (decode_cmdline_options_to_array): Add
+ "-fdiagnostics-text-art-charset=none" to expanded_args for
+ -fdiagnostics-plain-output.
+ * opts.cc: Include "diagnostic-text-art.h".
+ (common_handle_option): Handle OPT_fdiagnostics_text_art_charset_.
+ * pretty-print.cc (pp_unicode_character): New.
+ * pretty-print.h (pp_unicode_character): New decl.
+ * selftest-run-tests.cc: Include "text-art/selftests.h".
+ (selftest::run_tests): Call text_art_tests.
+ * text-art/box-drawing-chars.inc: New file, generated by
+ contrib/unicode/gen-box-drawing-chars.py.
+ * text-art/box-drawing.cc: New file.
+ * text-art/box-drawing.h: New file.
+ * text-art/canvas.cc: New file.
+ * text-art/canvas.h: New file.
+ * text-art/ruler.cc: New file.
+ * text-art/ruler.h: New file.
+ * text-art/selftests.cc: New file.
+ * text-art/selftests.h: New file.
+ * text-art/style.cc: New file.
+ * text-art/styled-string.cc: New file.
+ * text-art/table.cc: New file.
+ * text-art/table.h: New file.
+ * text-art/theme.cc: New file.
+ * text-art/theme.h: New file.
+ * text-art/types.h: New file.
+ * text-art/widget.cc: New file.
+ * text-art/widget.h: New file.
+
2023-06-21 Uros Bizjak <ubizjak@gmail.com>
* function.h (emit_initial_value_sets):
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 2fa3911..0d054fa 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20230622
+20230623
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index 761674a..7766905 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,146 @@
+2023-06-22 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/106626
+ * access-diagram.cc: New file.
+ * access-diagram.h: New file.
+ * analyzer.h (class region_offset): Add default ctor.
+ (region_offset::make_byte_offset): New decl.
+ (region_offset::concrete_p): New.
+ (region_offset::get_concrete_byte_offset): New.
+ (region_offset::calc_symbolic_bit_offset): New decl.
+ (region_offset::calc_symbolic_byte_offset): New decl.
+ (region_offset::dump_to_pp): New decl.
+ (region_offset::dump): New decl.
+ (operator<, operator<=, operator>, operator>=): New decls for
+ region_offset.
+ * analyzer.opt
+ (-param=analyzer-text-art-string-ellipsis-threshold=): New.
+ (-param=analyzer-text-art-string-ellipsis-head-len=): New.
+ (-param=analyzer-text-art-string-ellipsis-tail-len=): New.
+ (-param=analyzer-text-art-ideal-canvas-width=): New.
+ (fanalyzer-debug-text-art): New.
+ * bounds-checking.cc: Include "intl.h", "diagnostic-diagram.h",
+ and "analyzer/access-diagram.h".
+ (class out_of_bounds::oob_region_creation_event_capacity): New.
+ (out_of_bounds::out_of_bounds): Add "model" and "sval_hint"
+ params.
+ (out_of_bounds::mark_interesting_stuff): Use the base region.
+ (out_of_bounds::add_region_creation_events): Use
+ oob_region_creation_event_capacity.
+ (out_of_bounds::get_dir): New pure vfunc.
+ (out_of_bounds::maybe_show_notes): New.
+ (out_of_bounds::maybe_show_diagram): New.
+ (out_of_bounds::make_access_diagram): New.
+ (out_of_bounds::m_model): New field.
+ (out_of_bounds::m_sval_hint): New field.
+ (out_of_bounds::m_region_creation_event_id): New field.
+ (concrete_out_of_bounds::concrete_out_of_bounds): Update for new
+ fields.
+ (concrete_past_the_end::concrete_past_the_end): Likewise.
+ (concrete_past_the_end::add_region_creation_events): Use
+ oob_region_creation_event_capacity.
+ (concrete_buffer_overflow::concrete_buffer_overflow): Update for
+ new fields.
+ (concrete_buffer_overflow::emit): Replace call to
+ maybe_describe_array_bounds with maybe_show_notes.
+ (concrete_buffer_overflow::get_dir): New.
+ (concrete_buffer_over_read::concrete_buffer_over_read): Update for
+ new fields.
+ (concrete_buffer_over_read::emit): Replace call to
+ maybe_describe_array_bounds with maybe_show_notes.
+ (concrete_buffer_overflow::get_dir): New.
+ (concrete_buffer_underwrite::concrete_buffer_underwrite): Update
+ for new fields.
+ (concrete_buffer_underwrite::emit): Replace call to
+ maybe_describe_array_bounds with maybe_show_notes.
+ (concrete_buffer_underwrite::get_dir): New.
+ (concrete_buffer_under_read::concrete_buffer_under_read): Update
+ for new fields.
+ (concrete_buffer_under_read::emit): Replace call to
+ maybe_describe_array_bounds with maybe_show_notes.
+ (concrete_buffer_under_read::get_dir): New.
+ (symbolic_past_the_end::symbolic_past_the_end): Update for new
+ fields.
+ (symbolic_buffer_overflow::symbolic_buffer_overflow): Likewise.
+ (symbolic_buffer_overflow::emit): Call maybe_show_notes.
+ (symbolic_buffer_overflow::get_dir): New.
+ (symbolic_buffer_over_read::symbolic_buffer_over_read): Update for
+ new fields.
+ (symbolic_buffer_over_read::emit): Call maybe_show_notes.
+ (symbolic_buffer_over_read::get_dir): New.
+ (region_model::check_symbolic_bounds): Add "sval_hint" param. Pass
+ it and sized_offset_reg to diagnostics.
+ (region_model::check_region_bounds): Add "sval_hint" param, passing
+ it to diagnostics.
+ * diagnostic-manager.cc
+ (diagnostic_manager::emit_saved_diagnostic): Pass logger to
+ pending_diagnostic::emit.
+ * engine.cc: Add logger param to pending_diagnostic::emit
+ implementations.
+ * infinite-recursion.cc: Likewise.
+ * kf-analyzer.cc: Likewise.
+ * kf.cc: Likewise. Add nullptr for new param of
+ check_region_for_write.
+ * pending-diagnostic.h: Likewise in decl.
+ * region-model-manager.cc
+ (region_model_manager::get_or_create_int_cst): Convert param from
+ poly_int64 to const poly_wide_int_ref &.
+ (region_model_manager::maybe_fold_binop): Support type being NULL
+ when checking for floating-point types.
+ Check for (X + Y) - X => Y. Be less strict about types when folding
+ associative ops. Check for (X + Y) * CST => (X * CST) + (Y * CST).
+ * region-model-manager.h
+ (region_model_manager::get_or_create_int_cst): Convert param from
+ poly_int64 to const poly_wide_int_ref &.
+ * region-model.cc: Add logger param to pending_diagnostic::emit
+ implementations.
+ (region_model::check_external_function_for_access_attr): Update
+ for new param of check_region_for_write.
+ (region_model::deref_rvalue): Use nullptr rather than NULL.
+ (region_model::get_capacity): Handle RK_STRING.
+ (region_model::check_region_access): Add "sval_hint" param; pass it to
+ check_region_bounds.
+ (region_model::check_region_for_write): Add "sval_hint" param;
+ pass it to check_region_access.
+ (region_model::check_region_for_read): Add NULL for new param to
+ check_region_access.
+ (region_model::set_value): Pass rhs_sval to
+ check_region_for_write.
+ (region_model::get_representative_path_var_1): Handle SK_CONSTANT
+ in the check for infinite recursion.
+ * region-model.h (region_model::check_region_for_write): Add
+ "sval_hint" param.
+ (region_model::check_region_access): Likewise.
+ (region_model::check_symbolic_bounds): Likewise.
+ (region_model::check_region_bounds): Likewise.
+ * region.cc (region_offset::make_byte_offset): New.
+ (region_offset::calc_symbolic_bit_offset): New.
+ (region_offset::calc_symbolic_byte_offset): New.
+ (region_offset::dump_to_pp): New.
+ (region_offset::dump): New.
+ (struct linear_op): New.
+ (operator<, operator<=, operator>, operator>=): New, for
+ region_offset.
+ (region::get_next_offset): New.
+ (region::get_relative_symbolic_offset): Use ptrdiff_type_node.
+ (field_region::get_relative_symbolic_offset): Likewise.
+ (element_region::get_relative_symbolic_offset): Likewise.
+ (bit_range_region::get_relative_symbolic_offset): Likewise.
+ * region.h (region::get_next_offset): New decl.
+ * sm-fd.cc: Add logger param to pending_diagnostic::emit
+ implementations.
+ * sm-file.cc: Likewise.
+ * sm-malloc.cc: Likewise.
+ * sm-pattern-test.cc: Likewise.
+ * sm-sensitive.cc: Likewise.
+ * sm-signal.cc: Likewise.
+ * sm-taint.cc: Likewise.
+ * store.cc (bit_range::contains_p): Allow "out" to be null.
+ * store.h (byte_range::get_start_bit_offset): New.
+ (byte_range::get_next_bit_offset): New.
+ * varargs.cc: Add logger param to pending_diagnostic::emit
+ implementations.
+
2023-06-10 Tim Lange <mail@tim-lange.me>
PR analyzer/109577
diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog
index 507e2d3..931c3be 100644
--- a/gcc/go/ChangeLog
+++ b/gcc/go/ChangeLog
@@ -1,3 +1,8 @@
+2023-06-22 Paul E. Murphy <murphyp@linux.ibm.com>
+
+ * go-backend.cc [TARGET_AIX]: Rename and update usage to TARGET_AIX_OS.
+ * go-lang.cc: Likewise.
+
2023-03-24 Jakub Jelinek <jakub@redhat.com>
PR middle-end/109258
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index 25b8ddf..4854d71 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,8 @@
+2023-06-22 Paul E. Murphy <murphyp@linux.ibm.com>
+
+ * rust-object-export.cc [TARGET_AIX]: Rename and update usage to
+ TARGET_AIX_OS.
+
2023-04-06 Owen Avery <powerboat9.gamer@gmail.com>
* parse/rust-parse-impl.h
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6ff4c0d..49bef2b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,79 @@
+2023-06-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/110332
+ * g++.dg/torture/pr110332.C: New testcase.
+ * gcc.dg/torture/pr110332-1.c: Likewise.
+ * gcc.dg/torture/pr110332-2.c: Likewise.
+
+2023-06-22 Roger Sayle <roger@nextmovesoftware.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx-vptest-4.c: New test case.
+ * gcc.target/i386/avx-vptest-5.c: Likewise.
+ * gcc.target/i386/avx-vptest-6.c: Likewise.
+ * gcc.target/i386/pr109973-1.c: Update test case.
+ * gcc.target/i386/pr109973-2.c: Likewise.
+ * gcc.target/i386/sse4_1-ptest-4.c: New test case.
+ * gcc.target/i386/sse4_1-ptest-5.c: Likewise.
+ * gcc.target/i386/sse4_1-ptest-6.c: Likewise.
+
+2023-06-22 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/106626
+ * gcc.dg/analyzer/data-model-1.c (test_16): Update for
+ out-of-bounds working.
+ * gcc.dg/analyzer/out-of-bounds-diagram-1-ascii.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-1-debug.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-1-emoji.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-1-json.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-1-sarif.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-1-unicode.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-10.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-11.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-12.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-13.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-14.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-15.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-2.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-3.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-4.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-5-ascii.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-5-unicode.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-6.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-7.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-8.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-diagram-9.c: New test.
+ * gcc.dg/analyzer/pattern-test-2.c: Update expected results.
+ * gcc.dg/analyzer/pr101962.c: Update expected results.
+ * gcc.dg/plugin/analyzer_gil_plugin.c: Add logger param to
+ pending_diagnostic::emit implementations.
+
+2023-06-22 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/plugin/diagnostic-test-text-art-ascii-bw.c: New test.
+ * gcc.dg/plugin/diagnostic-test-text-art-ascii-color.c: New test.
+ * gcc.dg/plugin/diagnostic-test-text-art-none.c: New test.
+ * gcc.dg/plugin/diagnostic-test-text-art-unicode-bw.c: New test.
+ * gcc.dg/plugin/diagnostic-test-text-art-unicode-color.c: New test.
+ * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: New test plugin.
+ * gcc.dg/plugin/plugin.exp (plugin_test_list): Add them.
+
+2023-06-22 David Malcolm <dmalcolm@redhat.com>
+
+ * c-c++-common/Wlogical-not-parentheses-2.c: Split up the
+ multiline directive.
+ * gcc.dg/analyzer/malloc-macro-inline-events.c: Remove redundant
+ dg-regexp directives.
+ * gcc.dg/missing-header-fixit-5.c: Split up the multiline
+ directives.
+ * lib/gcc-dg.exp (gcc-dg-prune): Move call to
+ handle-multiline-outputs from prune_gcc_output to here.
+ * lib/multiline.exp (dg-end-multiline-output): Move call to
+ maybe-handle-nn-line-numbers from prune_gcc_output to here.
+ * lib/prune.exp (prune_gcc_output): Move calls to
+ maybe-handle-nn-line-numbers and handle-multiline-outputs from
+ here to the above.
+
2023-06-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/87477