2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-25 09:00:35 +08:00

Handle -fdiagnostics-color in lto

2016-02-09  Tom de Vries  <tom@codesourcery.com>

	PR lto/69707
	* lto-wrapper.c (append_diag_options): New function.
	(compile_offload_image): Call append_diag_options.

	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.

From-SVN: r233237
This commit is contained in:
Tom de Vries 2016-02-09 07:04:08 +00:00 committed by Tom de Vries
parent 806a4ad8fe
commit 34df756cd8
4 changed files with 61 additions and 0 deletions
gcc
libgomp
ChangeLog
testsuite/libgomp.oacc-c-c++-common

@ -1,3 +1,9 @@
2016-02-09 Tom de Vries <tom@codesourcery.com>
PR lto/69707
* lto-wrapper.c (append_diag_options): New function.
(compile_offload_image): Call append_diag_options.
2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
PR other/69722

@ -540,6 +540,36 @@ append_compiler_options (obstack *argv_obstack, struct cl_decoded_option *opts,
}
}
/* Append diag options in OPTS with length COUNT to ARGV_OBSTACK. */
static void
append_diag_options (obstack *argv_obstack, struct cl_decoded_option *opts,
unsigned int count)
{
/* Append compiler driver arguments as far as they were merged. */
for (unsigned int j = 1; j < count; ++j)
{
struct cl_decoded_option *option = &opts[j];
switch (option->opt_index)
{
case OPT_fdiagnostics_color_:
case OPT_fdiagnostics_show_caret:
case OPT_fdiagnostics_show_option:
case OPT_fdiagnostics_show_location_:
case OPT_fshow_column:
break;
default:
continue;
}
/* Pass the option on. */
for (unsigned int i = 0; i < option->canonical_option_num_elements; ++i)
obstack_ptr_grow (argv_obstack, option->canonical_option[i]);
}
}
/* Append linker options OPTS to ARGV_OBSTACK. */
static void
@ -721,6 +751,7 @@ compile_offload_image (const char *target, const char *compiler_path,
/* Append options from offload_lto sections. */
append_compiler_options (&argv_obstack, compiler_opts,
compiler_opt_count);
append_diag_options (&argv_obstack, linker_opts, linker_opt_count);
/* Append options specified by -foffload last. In case of conflicting
options we expect offload compiler to choose the latest. */

@ -1,3 +1,8 @@
2016-02-09 Tom de Vries <tom@codesourcery.com>
PR lto/69707
* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
2016-02-02 Alexander Monakov <amonakov@ispras.ru>
* testsuite/libgomp.c/target-31.c: Fix testcase.

@ -0,0 +1,19 @@
/* { dg-do run { target { openacc_nvidia_accel_selected && lto } } } */
/* { dg-additional-options "-flto -fno-use-linker-plugin" } */
/* Worker and vector size checks. Picked an outrageously large
value. */
int main ()
{
#pragma acc parallel num_workers (2<<20) /* { dg-error "using num_workers" } */
{
}
#pragma acc parallel vector_length (2<<20) /* { dg-error "using vector_length" } */
{
}
return 0;
}