easybuild.toolchains.compiler.clang module

Support for Clang as toolchain compiler.

author:Dmitri Gribenko (National Technical University of Ukraine “KPI”)
class easybuild.toolchains.compiler.clang.Clang(*args, **kwargs)

Bases: easybuild.tools.toolchain.compiler.Compiler

Clang compiler class

COMPILER_CC = 'clang'
COMPILER_CXX = 'clang++'
COMPILER_C_UNIQUE_FLAGS = []
COMPILER_FAMILY = 'Clang'
COMPILER_GENERIC_OPTION = {('x86_64', 'AMD'): 'march=x86-64 -mtune=generic', ('x86_64', 'Intel'): 'march=x86-64 -mtune=generic'}
COMPILER_MODULE_NAME = ['Clang']
COMPILER_OPTIMAL_ARCHITECTURE_OPTION = {('x86_64', 'AMD'): 'march=native', ('x86_64', 'Intel'): 'march=native', ('POWER', 'POWER little-endian'): 'mcpu=native', ('POWER', 'POWER'): 'mcpu=native'}
COMPILER_UNIQUE_OPTION_MAP = {'precise': ['fno-unsafe-math-optimizations'], 'strict': ['fno-fast-math'], 'unroll': 'funroll-loops', 'veryloose': ['ffast-math'], 'defaultprec': [], 'optarch': 'march=native', 'loose': ['ffast-math', 'fno-unsafe-math-optimizations'], 'basic-block-vectorize': ['fslp-vectorize'], 'loop-vectorize': ['fvectorize']}
COMPILER_UNIQUE_OPTS = {'basic-block-vectorize': (False, 'Basic block vectorization'), 'loop-vectorize': (False, 'Loop vectorization')}
LIB_MATH = ['m']
LIB_MULTITHREAD = ['pthread']