aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2019-08-12 12:59:08 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2019-08-12 12:59:08 +0000
commiteae3c7b5dd0fdd336ea47e09a2319372217281ee (patch)
treec571bc848792a06d2928094eb2fc7a028dc459bb
parent64e1a4df1bc9dbf4cedb3a842c4eaff6b3425a66 (diff)
2019-08-12 Richard Biener <rguenther@suse.de>
Backport from mainline 2019-08-12 Richard Biener <rguenther@suse.de> PR lto/91375 * tree.c (free_lang_data_in_type): Do not free TYPE_BINFO dependent on flag_devirtualize. 2019-08-12 Richard Biener <rguenther@suse.de> PR driver/91130 * lto-wrapper.c (get_options_from_collect_gcc_options): Remove lang_mask option, always use CL_DRIVER. (find_and_merge_options): Adjust. (run_gcc): Likewise. 2019-08-07 Richard Earnshaw <rearnsha@arm.com> PR driver/91130 * lto-wrapper.c (find_and_merge_options): Use CL_DRIVER when processing COLLECT_GCC_OPTIONS. (run_gcc): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@274311 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog24
-rw-r--r--gcc/lto-wrapper.c10
-rw-r--r--gcc/tree.c3
3 files changed, 28 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7e041f1c318..2befb71beaa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,27 @@
+2019-08-12 Richard Biener <rguenther@suse.de>
+
+ Backport from mainline
+ 2019-08-12 Richard Biener <rguenther@suse.de>
+
+ PR lto/91375
+ * tree.c (free_lang_data_in_type): Do not free TYPE_BINFO dependent on
+ flag_devirtualize.
+
+ 2019-08-12 Richard Biener <rguenther@suse.de>
+
+ PR driver/91130
+ * lto-wrapper.c (get_options_from_collect_gcc_options): Remove
+ lang_mask option, always use CL_DRIVER.
+ (find_and_merge_options): Adjust.
+ (run_gcc): Likewise.
+
+ 2019-08-07 Richard Earnshaw <rearnsha@arm.com>
+
+ PR driver/91130
+ * lto-wrapper.c (find_and_merge_options): Use CL_DRIVER when
+ processing COLLECT_GCC_OPTIONS.
+ (run_gcc): Likewise.
+
2019-08-12 Jakub Jelinek <jakub@redhat.com>
* BASE-VER: Set to 9.2.1.
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c
index ac971494054..10bd7c9becb 100644
--- a/gcc/lto-wrapper.c
+++ b/gcc/lto-wrapper.c
@@ -128,12 +128,11 @@ maybe_unlink (const char *file)
#define DUMPBASE_SUFFIX ".ltrans18446744073709551615"
/* Create decoded options from the COLLECT_GCC and COLLECT_GCC_OPTIONS
- environment according to LANG_MASK. */
+ environment. */
static void
get_options_from_collect_gcc_options (const char *collect_gcc,
const char *collect_gcc_options,
- unsigned int lang_mask,
struct cl_decoded_option **decoded_options,
unsigned int *decoded_options_count)
{
@@ -175,8 +174,7 @@ get_options_from_collect_gcc_options (const char *collect_gcc,
argc = obstack_object_size (&argv_obstack) / sizeof (void *) - 1;
argv = XOBFINISH (&argv_obstack, const char **);
- decode_cmdline_options_to_array (argc, (const char **)argv,
- lang_mask,
+ decode_cmdline_options_to_array (argc, (const char **)argv, CL_DRIVER,
decoded_options, decoded_options_count);
obstack_free (&argv_obstack, NULL);
}
@@ -1008,8 +1006,7 @@ find_and_merge_options (int fd, off_t file_offset, const char *prefix,
{
struct cl_decoded_option *f2decoded_options;
unsigned int f2decoded_options_count;
- get_options_from_collect_gcc_options (collect_gcc,
- fopts, CL_LANG_ALL,
+ get_options_from_collect_gcc_options (collect_gcc, fopts,
&f2decoded_options,
&f2decoded_options_count);
if (!fdecoded_options)
@@ -1150,7 +1147,6 @@ run_gcc (unsigned argc, char *argv[])
fatal_error (input_location,
"environment variable COLLECT_GCC_OPTIONS must be set");
get_options_from_collect_gcc_options (collect_gcc, collect_gcc_options,
- CL_LANG_ALL,
&decoded_options,
&decoded_options_count);
diff --git a/gcc/tree.c b/gcc/tree.c
index 73102c4e75b..b82d73c8517 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5514,8 +5514,7 @@ free_lang_data_in_type (tree type, struct free_lang_data_d *fld)
free_lang_data_in_binfo (TYPE_BINFO (type));
/* We need to preserve link to bases and virtual table for all
polymorphic types to make devirtualization machinery working. */
- if (!BINFO_VTABLE (TYPE_BINFO (type))
- || !flag_devirtualize)
+ if (!BINFO_VTABLE (TYPE_BINFO (type)))
TYPE_BINFO (type) = NULL;
}
}