config.suffixes = ['.c', '.cpp', '.h', '.m', '.mm', '.S', '.s', '.f90', '.F90', '.f95',
                   '.cu', '.rs', '.cl', '.clcpp', '.hip']
config.substitutions = list(config.substitutions)
config.substitutions.insert(0,
    ('%clang_cc1',
     """*** Do not use 'clang -cc1' in Driver tests. ***""") )

# Remove harmful environmental variables for clang Driver tests.
# Some might be useful for other tests so they are only removed here.
driver_overwrite_env_vars = ['MACOSX_DEPLOYMENT_TARGET',
                             'IPHONEOS_DEPLOYMENT_TARGET',
                             'SDKROOT', 'CCC_OVERRIDE_OPTIONS',
                             'CC_PRINT_OPTIONS', 'CC_PRINT_HEADERS',
                             'CC_LOG_DIAGNOSTICS', 'CC_PRINT_PROC_STAT']

for name in driver_overwrite_env_vars:
  if name in config.environment:
    del config.environment[name]
