Example #1
0
def clang_cl_args(target=CLANG_CL_TARGETS[0],
                  error_limit=0):
    """
    Get the Clang args to compile OpenCL.

    :return: Array of args.
    """
    libclc_include = fs.path(cfg.libclc(), 'generic', 'include')
    shim = smith.package_path(fs.path('share', 'include', 'opencl-shim.h'))

    # List of clang warnings to disable.
    disabled_warnings = [
        'ignored-pragmas',
        'implicit-function-declaration',
        'incompatible-library-redeclaration',
        'macro-redefined',
    ]

    return [
        '-I' + libclc_include,
        '-include', shim,
        '-target', target,
        '-ferror-limit={}'.format(error_limit),
        '-xcl'
    ] + ['-Wno-{}'.format(x) for x in disabled_warnings]
Example #2
0
def extra_args(use_shim=False):
    args = []
    if use_shim:
        args += [
            "-DSMITH_FEATURES",
            "-include",
            smith.package_path(fs.path('share', 'include', 'opencl-shim.h'))]
    return args