clang.py: detect flang-new (#43815)
If a flang-new exists, which is rather unlikely, it probably means the user wants it as a fortran compiler.
This commit is contained in:
		@@ -38,10 +38,10 @@ class Clang(Compiler):
 | 
			
		||||
    cxx_names = ["clang++"]
 | 
			
		||||
 | 
			
		||||
    # Subclasses use possible names of Fortran 77 compiler
 | 
			
		||||
    f77_names = ["flang"]
 | 
			
		||||
    f77_names = ["flang-new", "flang"]
 | 
			
		||||
 | 
			
		||||
    # Subclasses use possible names of Fortran 90 compiler
 | 
			
		||||
    fc_names = ["flang"]
 | 
			
		||||
    fc_names = ["flang-new", "flang"]
 | 
			
		||||
 | 
			
		||||
    version_argument = "--version"
 | 
			
		||||
 | 
			
		||||
@@ -171,10 +171,11 @@ def extract_version_from_output(cls, output):
 | 
			
		||||
 | 
			
		||||
        match = re.search(
 | 
			
		||||
            # Normal clang compiler versions are left as-is
 | 
			
		||||
            r"clang version ([^ )\n]+)-svn[~.\w\d-]*|"
 | 
			
		||||
            r"(?:clang|flang-new) version ([^ )\n]+)-svn[~.\w\d-]*|"
 | 
			
		||||
            # Don't include hyphenated patch numbers in the version
 | 
			
		||||
            # (see https://github.com/spack/spack/pull/14365 for details)
 | 
			
		||||
            r"clang version ([^ )\n]+?)-[~.\w\d-]*|" r"clang version ([^ )\n]+)",
 | 
			
		||||
            r"(?:clang|flang-new) version ([^ )\n]+?)-[~.\w\d-]*|"
 | 
			
		||||
            r"(?:clang|flang-new) version ([^ )\n]+)",
 | 
			
		||||
            output,
 | 
			
		||||
        )
 | 
			
		||||
        if match:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user