Allow mapping the diagnostics level of CheckEnumUnboxedDiagnostic

Bug: b/454032950
Change-Id: I0630e78153659643f5f5f93401a4564ca2ebc858
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumDataMap.java b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumDataMap.java
index 7d317eb..91056a0 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumDataMap.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumDataMap.java
@@ -57,7 +57,8 @@
     if (!failed.isEmpty()) {
       CheckEnumUnboxedDiagnostic diagnostic =
           CheckEnumUnboxedDiagnostic.builder().addFailedEnums(failed).build();
-      throw appView.reporter().fatalError(diagnostic);
+      appView.reporter().error(diagnostic);
+      appView.reporter().failIfPendingErrors();
     }
   }
 
diff --git a/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/AGSABenchmarks.java b/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/AGSABenchmarks.java
index 63d9c37..1c9868a 100644
--- a/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/AGSABenchmarks.java
+++ b/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/AGSABenchmarks.java
@@ -5,6 +5,7 @@
 
 import static org.junit.Assume.assumeTrue;
 
+import com.android.tools.r8.DiagnosticsLevel;
 import com.android.tools.r8.R8FullTestBuilder;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.ToolHelper;
@@ -12,6 +13,7 @@
 import com.android.tools.r8.benchmarks.BenchmarkConfig;
 import com.android.tools.r8.benchmarks.appdumps.AbortBenchmarkException;
 import com.android.tools.r8.benchmarks.appdumps.AppDumpBenchmarkBuilder;
+import com.android.tools.r8.errors.CheckEnumUnboxedDiagnostic;
 import com.android.tools.r8.utils.timing.Timing;
 import com.google.common.collect.ImmutableList;
 import java.nio.file.Path;
@@ -59,6 +61,10 @@
             options -> {
               options.getOpenClosedInterfacesOptions().suppressAllOpenInterfaces();
               options.getTestingOptions().dontReportFailingCheckDiscarded = true;
+              options.reporter.addDiagnosticsLevelMapping(
+                  DiagnosticsLevel.ERROR,
+                  CheckEnumUnboxedDiagnostic.class.getTypeName(),
+                  DiagnosticsLevel.WARNING);
             })
         .allowDiagnosticMessages()
         .allowUnusedDontWarnPatterns()