diff options
| -rw-r--r-- | doc/ScintillaDoc.html | 7 | ||||
| -rw-r--r-- | src/CellBuffer.cxx | 3 | ||||
| -rw-r--r-- | src/RunStyles.cxx | 2 |
3 files changed, 10 insertions, 2 deletions
diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html index 5c92043cc..82829a947 100644 --- a/doc/ScintillaDoc.html +++ b/doc/ScintillaDoc.html @@ -10529,6 +10529,13 @@ EM_SETTARGETDEVICE <td align="left"><code>DISABLE_D2D</code></td> <td>(Win32) Build Scintilla without Direct2D/DirectWrite.</td> </tr> + + <tr> + <td align="left"><code>PTRDIFF_DOESNT_ALIAS_INT</code></td> + <td>Define if <code>ptrdiff_t*</code> does not alias <code>int*</code>. + This is detected automatically, but the check may be unreliable. + Try to define this symbol in case of errors about undefined symbols.</td> + </tr> </tbody> </table> diff --git a/src/CellBuffer.cxx b/src/CellBuffer.cxx index 04486d4c6..3e9deb934 100644 --- a/src/CellBuffer.cxx +++ b/src/CellBuffer.cxx @@ -21,6 +21,7 @@ #include <optional> #include <algorithm> #include <memory> +#include <type_traits> #include "ScintillaTypes.h" @@ -215,7 +216,7 @@ public: } void InsertLines(Sci::Line line, const Sci::Position *positions, size_t lines, bool lineStart) override { const POS lineAsPos = pos_cast(line); - if constexpr (sizeof(Sci::Position) == sizeof(POS)) { + if constexpr (std::is_convertible_v<Sci::Position *, POS *>) { starts.InsertPartitions(lineAsPos, positions, lines); } else { starts.InsertPartitionsWithCast(lineAsPos, positions, lines); diff --git a/src/RunStyles.cxx b/src/RunStyles.cxx index 848670ba9..bca45c889 100644 --- a/src/RunStyles.cxx +++ b/src/RunStyles.cxx @@ -321,7 +321,7 @@ void RunStyles<DISTANCE, STYLE>::Check() const { template class Scintilla::Internal::RunStyles<int, int>; template class Scintilla::Internal::RunStyles<int, char>; -#if (PTRDIFF_MAX != INT_MAX) || defined(__HAIKU__) +#if (PTRDIFF_MAX != INT_MAX) || defined(__HAIKU__) || defined(PTRDIFF_DOESNT_ALIAS_INT) template class Scintilla::Internal::RunStyles<ptrdiff_t, int>; template class Scintilla::Internal::RunStyles<ptrdiff_t, char>; #endif |
