Repository navigation
Commit 8876f18
authored
marzer.tomlplusplus: no SSE2 path under the MSVC ABI (revision 2) (#575)
* marzer.tomlplusplus: the module unit builds toml++ without its SSE2 path (revision 2)
<emmintrin.h> defines its intrinsics static inline. Under the MSVC ABI clang
gives such a function the same mangled name in every module whose global
module fragment includes the header, so a unit that imports both std (MSVC's
library includes the intrinsics) and tomlplusplus fails with "definition with
same mangled name '?_mm_movemask_epi8@@...'". toml++ used SSE2 only to skip
ASCII faster; with TOML_ENABLE_SIMD 0 the scalar path parses the same
documents and the module includes no intrinsics header.
* marzer.tomlplusplus: turn SSE2 off under the MSVC ABI only (_MSC_VER)
The collision is an MSVC-ABI one; Linux, macOS and MinGW keep toml++'s SSE2
path.1 parent 203c41b commit 8876f18
1 file changed
Lines changed: 16 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
| 56 | + | |
| 57 | + | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| |||
64 | 65 | | |
65 | 66 | | |
66 | 67 | | |
67 | | - | |
| 68 | + | |
| 69 | + | |
68 | 70 | | |
69 | 71 | | |
70 | 72 | | |
| |||
75 | 77 | | |
76 | 78 | | |
77 | 79 | | |
78 | | - | |
| 80 | + | |
| 81 | + | |
79 | 82 | | |
80 | 83 | | |
81 | 84 | | |
| |||
122 | 125 | | |
123 | 126 | | |
124 | 127 | | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
125 | 138 | | |
126 | 139 | | |
127 | 140 | | |
| |||
0 commit comments