diff options
| author | Michael Kruse <llvm-project@meinersbur.de> | 2021-09-03 14:48:40 -0500 |
|---|---|---|
| committer | Michael Kruse <llvm-project@meinersbur.de> | 2021-09-03 15:44:51 -0500 |
| commit | 84e1258febe1f179e5d4e1914be7b727d2296336 (patch) | |
| tree | 1d1aa326dbdfc7027f72cec002af28221bf98033 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp | |
| parent | 37ce7349f7e95ef19cd6169e70414286b33114cb (diff) | |
[flang] Use CMake to determine endianness.
The preprocessor definitions __BYTE_ORDER__, __ORDER_BIG_ENDIAN__, and
__ORDER_LITTLE_ENDIAN__ are gcc extensions (also supported by clang),
but msvc (and others) do not define them. As a result __BYTE_ORDER__
and __ORDER_BIG_ENDIAN__ both evaluate to 0 by the prepreprocessor,
and __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__, the first `#if` condition
to 1, hence assuming the wrong byte order for x86(_64).
This patch instead uses CMake's TestBigEndian module to determine
target architecture's endianness at configure-time.
Note this also uses the same mechanism for the runtime. If compiling
flang as a cross-compiler, the runtime for the compile-target must be
built separately (Flang does not support the LLVM_ENABLE_RUNTIMES
mechanism yet).
Fixes llvm.org/PR51597
Reviewed By: ijan1, Leporacanthicus
Differential Revision: https://reviews.llvm.org/D109108
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp')
0 files changed, 0 insertions, 0 deletions
