Jonas Devlieghere 2238dcc393
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python
code. Reformatting is done with `black` (23.1.0).

If you end up having problems merging this commit because you have made
changes to a python file, the best way to handle that is to run `git
checkout --ours <yourfile>` and then reformat it with black.

RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style

Differential revision: https://reviews.llvm.org/D151460
2023-05-25 12:54:09 -07:00

29 lines
919 B
Python

from __future__ import absolute_import
from __future__ import print_function
# System modules
import os
import re
GMODULES_SUPPORT_MAP = {}
GMODULES_HELP_REGEX = re.compile(r"\s-gmodules\s")
def is_compiler_clang_with_gmodules(compiler_path):
# Before computing the result, check if we already have it cached.
if compiler_path in GMODULES_SUPPORT_MAP:
return GMODULES_SUPPORT_MAP[compiler_path]
def _gmodules_supported_internal():
compiler = os.path.basename(compiler_path)
if "clang" not in compiler:
return False
else:
# Check the compiler help for the -gmodules option.
clang_help = os.popen("%s --help" % compiler_path).read()
return GMODULES_HELP_REGEX.search(clang_help, re.DOTALL) is not None
GMODULES_SUPPORT_MAP[compiler_path] = _gmodules_supported_internal()
return GMODULES_SUPPORT_MAP[compiler_path]