guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/05: transformations: '--tune' prints supported micro-architectures up


From: guix-commits
Subject: 04/05: transformations: '--tune' prints supported micro-architectures upon error.
Date: Mon, 14 Mar 2022 18:33:08 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 3b80e79f219be5357ccd7d4540ef0688184aa28c
Author: Ludovic Courtès <ludovic.courtes@inria.fr>
AuthorDate: Mon Mar 14 09:39:33 2022 +0100

    transformations: '--tune' prints supported micro-architectures upon error.
    
    * guix/transformations.scm (build-system-with-tuning-compiler): Add
    &fix-hint condition when asked for an unsupported micro-architecture.
---
 guix/transformations.scm | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/guix/transformations.scm b/guix/transformations.scm
index 0976f0d824..a0045e5b27 100644
--- a/guix/transformations.scm
+++ b/guix/transformations.scm
@@ -46,6 +46,7 @@
   #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-26)
   #:use-module (srfi srfi-34)
+  #:use-module (srfi srfi-35)
   #:use-module (srfi srfi-37)
   #:use-module (ice-9 match)
   #:use-module (ice-9 vlist)
@@ -526,10 +527,29 @@ system that builds code for MICRO-ARCHITECTURE; otherwise 
raise an error."
                   micro-architecture)))
         (unless (member micro-architecture
                         (or (assoc-ref lst architecture) '()))
-          (raise (formatted-message
-                  (G_ "compiler ~a does not support micro-architecture ~a")
-                  (package-full-name compiler)
-                  micro-architecture))))
+          (raise
+           (make-compound-condition
+            (formatted-message
+             (G_ "compiler ~a does not support micro-architecture ~a")
+             (package-full-name compiler)
+             micro-architecture)
+            (condition
+             (&fix-hint
+              (hint (match (assoc-ref lst architecture)
+                      (#f (format #f (G_ "Compiler ~a does not support
+micro-architectures of ~a.")
+                                  (package-full-name compiler "@@")
+                                  architecture))
+                      (lst
+                       (format #f (G_ "Compiler ~a supports the following ~a
+micro-architectures:
+
+@quotation
+~a
+@end quotation")
+                               (package-full-name compiler "@@")
+                               architecture
+                               (string-join lst ", ")))))))))))
 
       (bag
         (inherit lowered)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]