Index: flang/lib/Frontend/CompilerInstance.cpp =================================================================== --- flang/lib/Frontend/CompilerInstance.cpp +++ flang/lib/Frontend/CompilerInstance.cpp @@ -186,5 +186,6 @@ } else { diags->setClient(new TextDiagnosticPrinter(llvm::errs(), opts)); } + diags->setShowColors(true); return diags; } Index: flang/lib/Frontend/TextDiagnosticPrinter.cpp =================================================================== --- flang/lib/Frontend/TextDiagnosticPrinter.cpp +++ flang/lib/Frontend/TextDiagnosticPrinter.cpp @@ -46,14 +46,16 @@ // We only emit diagnostics in contexts that lack valid source locations. assert(!info.getLocation().isValid() && - "Diagnostics with valid source location are not supported"); + "Diagnostics with valid source location are not supported"); - Fortran::frontend::TextDiagnostic::printDiagnosticLevel(os, level, - diagOpts->ShowColors); + clang::DiagnosticsEngine &diagsRef = + const_cast(*info.getDiags()); + Fortran::frontend::TextDiagnostic::printDiagnosticLevel( + os, level, diagsRef.getShowColors()); Fortran::frontend::TextDiagnostic::printDiagnosticMessage( os, /*IsSupplemental=*/level == clang::DiagnosticsEngine::Note, - diagMessageStream.str(), diagOpts->ShowColors); + diagMessageStream.str(), diagsRef.getShowColors()); os.flush(); return; Index: flang/test/Driver/driver-help-hidden.f90 =================================================================== --- flang/test/Driver/driver-help-hidden.f90 +++ flang/test/Driver/driver-help-hidden.f90 @@ -72,11 +72,11 @@ !------------------------------------------------------------- ! EXPECTED OUTPUT FOR FLANG DRIVER (flang-new) !------------------------------------------------------------- -! ERROR-FLANG: error: unknown argument '-help-hidden'; did you mean '--help-hidden'? +! ERROR-FLANG: error: {{.*}}unknown argument '-help-hidden'; did you mean '--help-hidden'? !------------------------------------------------------------- ! EXPECTED OUTPUT FOR FLANG FRONTEND DRIVER (flang-new -fc1) !------------------------------------------------------------- ! Frontend driver -help-hidden is not supported -! ERROR-FLANG-FC1: error: unknown argument: '{{.*}}' +! ERROR-FLANG-FC1: error: {{.*}}unknown argument: '{{.*}}' Index: flang/test/Driver/driver-help.f90 =================================================================== --- flang/test/Driver/driver-help.f90 +++ flang/test/Driver/driver-help.f90 @@ -147,4 +147,4 @@ !--------------- ! EXPECTED ERROR !--------------- -! ERROR: error: unknown argument '-helps'; did you mean '-help' +! ERROR: error: {{.*}}unknown argument '-helps'; did you mean '-help' Index: flang/test/Driver/driver-version.f90 =================================================================== --- flang/test/Driver/driver-version.f90 +++ flang/test/Driver/driver-version.f90 @@ -19,4 +19,4 @@ ! VERSION-FC1: LLVM version -! ERROR-FC1: error: unknown argument '--version'; did you mean '-version'? +! ERROR-FC1: error: {{.*}}unknown argument '--version'; did you mean '-version'? Index: flang/test/Driver/dump-all-bad.f90 =================================================================== --- flang/test/Driver/dump-all-bad.f90 +++ flang/test/Driver/dump-all-bad.f90 @@ -8,7 +8,7 @@ !---------------- ! EXPECTED OUTPUT !---------------- -! CHECK: error: Semantic errors in +! CHECK: error: {{.*}}Semantic errors in ! CHECK: Flang: parse tree dump ! CHECK: Flang: symbols dump Index: flang/test/Driver/get-definition.f90 =================================================================== --- flang/test/Driver/get-definition.f90 +++ flang/test/Driver/get-definition.f90 @@ -18,25 +18,25 @@ ! OK: String range: >m< ! OK-NOT: error -! ERROR-a: error: invalid value 'a' in 'fget-definition' +! ERROR-a: error: {{.*}}invalid value 'a' in 'fget-definition' ! ERROR-a-NOT: String range: >m< -! ERROR-b: error: invalid value 'b' in 'fget-definition' +! ERROR-b: error: {{.*}}invalid value 'b' in 'fget-definition' ! ERROR-b-NOT: String range: >m< -! ERROR-c: error: invalid value 'c' in 'fget-definition' +! ERROR-c: error: {{.*}}invalid value 'c' in 'fget-definition' ! ERROR-c-NOT: String range: >m< -! ERROR-ab: error: invalid value 'a' in 'fget-definition' +! ERROR-ab: error: {{.*}}invalid value 'a' in 'fget-definition' ! ERROR-ab-NOT: String range: >m< -! ERROR-ac: error: invalid value 'a' in 'fget-definition' +! ERROR-ac: error: {{.*}}invalid value 'a' in 'fget-definition' ! ERROR-ac-NOT: String range: >m< -! ERROR-bc: error: invalid value 'b' in 'fget-definition' +! ERROR-bc: error: {{.*}}invalid value 'b' in 'fget-definition' ! ERROR-bc-NOT: String range: >m< -! ERROR-abc: error: invalid value 'a' in 'fget-definition' +! ERROR-abc: error: {{.*}}invalid value 'a' in 'fget-definition' ! ERROR-abc-NOT: String range: >m< !------- Index: flang/test/Driver/init-only.f90 =================================================================== --- flang/test/Driver/init-only.f90 +++ flang/test/Driver/init-only.f90 @@ -2,4 +2,4 @@ ! RUN: %flang_fc1 -init-only 2>&1 | FileCheck %s -! CHECK: warning: Use `-init-only` for testing purposes only +! CHECK: warning: {{.*}}Use `-init-only` for testing purposes only Index: flang/test/Driver/missing-arg.f90 =================================================================== --- flang/test/Driver/missing-arg.f90 +++ flang/test/Driver/missing-arg.f90 @@ -16,4 +16,4 @@ !----------------------- ! EXPECTED OUTPUT !----------------------- -! CHECK: error: argument to '-{{.*}}' is missing (expected 1 value) +! CHECK: error: {{.*}}argument to '-{{.*}}' is missing (expected 1 value) Index: flang/test/Driver/missing-triple.ll =================================================================== --- flang/test/Driver/missing-triple.ll +++ flang/test/Driver/missing-triple.ll @@ -11,7 +11,7 @@ ;---------------- ; EXPECTED OUTPUT ;---------------- -; CHECK: warning: overriding the module target triple with {{.*}} +; CHECK: warning: {{.*}}overriding the module target triple with {{.*}} ;------ ; INPUT Index: flang/test/Driver/multiple-actions-error.f95 =================================================================== --- flang/test/Driver/multiple-actions-error.f95 +++ flang/test/Driver/multiple-actions-error.f95 @@ -3,6 +3,6 @@ ! RUN: not %flang_fc1 -E -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix=ERROR ! RUN: not %flang_fc1 -fsyntax-only -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix=ERROR -! ERROR: error: Only one action option is allowed +! ERROR: error: {{.*}}Only one action option is allowed end progream Index: flang/test/Driver/output-paths.f90 =================================================================== --- flang/test/Driver/output-paths.f90 +++ flang/test/Driver/output-paths.f90 @@ -9,4 +9,4 @@ !----------------------- ! EXPECTED OUTPUT !----------------------- -! OUTPUTFAIL: error: unable to open output file '{{.*}}doesnotexist{{.}}somename': '[[MSG]]' +! OUTPUTFAIL: error: {{.*}}unable to open output file '{{.*}}doesnotexist{{.}}somename': '[[MSG]]' Index: flang/test/Driver/override-triple.ll =================================================================== --- flang/test/Driver/override-triple.ll +++ flang/test/Driver/override-triple.ll @@ -11,7 +11,7 @@ ;---------------- ; EXPECTED OUTPUT ;---------------- -; CHECK: warning: overriding the module target triple with {{.*}} +; CHECK: warning: {{.*}}overriding the module target triple with {{.*}} ;------ ; INPUT Index: flang/test/Driver/plugin-invalid-name.f90 =================================================================== --- flang/test/Driver/plugin-invalid-name.f90 +++ flang/test/Driver/plugin-invalid-name.f90 @@ -4,4 +4,4 @@ ! RUN: not %flang_fc1 -plugin -wrong-name %s 2>&1 | FileCheck %s --check-prefix=ERROR -! ERROR: error: unable to find plugin '-wrong-name' +! ERROR: error: {{.*}}unable to find plugin '-wrong-name' Index: flang/test/Driver/syntax-only.f90 =================================================================== --- flang/test/Driver/syntax-only.f90 +++ flang/test/Driver/syntax-only.f90 @@ -21,7 +21,7 @@ ! EXPECTED OUTPUT !----------------- ! CHECK-NOT: error -! NO_FSYNTAX_ONLY: error: failed to create the output file +! NO_FSYNTAX_ONLY: error: {{.*}}failed to create the output file !------- ! INPUT Index: flang/test/Driver/use-module-error.f90 =================================================================== --- flang/test/Driver/use-module-error.f90 +++ flang/test/Driver/use-module-error.f90 @@ -17,7 +17,7 @@ !----------------------------------------- ! EXPECTED OUTPUT FOR MISSING MODULE FILE !----------------------------------------- -! DOUBLEINCLUDE:error: Only one '-module-dir/-J' option allowed +! DOUBLEINCLUDE: error: {{.*}}Only one '-module-dir/-J' option allowed program too_many_module_dirs end