Handle -fdiagnostics-color in lto
2016-02-08 Tom de Vries <tom@codesourcery.com>
PR lto/69707
* common.opt (fdiagnostics-color=): Remove Driver flag.
* lto-wrapper.c (merge_and_complain, append_compiler_options): Handle
OPT_fdiagnostics_color_.
* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
---
gcc/common.opt | 2 +-
gcc/lto-wrapper.c | 2 ++
.../libgomp.oacc-c-c++-common/parallel-dims-2.c | 19 +++++++++++++++++++
3 files changed, 22 insertions(+), 1 deletion(-)
@@ -1153,7 +1153,7 @@ Common Alias(fdiagnostics-color=,always,never)
;
fdiagnostics-color=
-Driver Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO)
+Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO)
-fdiagnostics-color=[never|always|auto] Colorize diagnostics.
; Required for these enum values.
@@ -232,6 +232,7 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
break;
/* Fallthru. */
+ case OPT_fdiagnostics_color_:
case OPT_fdiagnostics_show_caret:
case OPT_fdiagnostics_show_option:
case OPT_fdiagnostics_show_location_:
@@ -497,6 +498,7 @@ append_compiler_options (obstack *argv_obstack, struct cl_decoded_option *opts,
on any CL_TARGET flag and a few selected others. */
switch (option->opt_index)
{
+ case OPT_fdiagnostics_color_:
case OPT_fdiagnostics_show_caret:
case OPT_fdiagnostics_show_option:
case OPT_fdiagnostics_show_location_:
new file mode 100644
@@ -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;
+}
+