 |
Changeset 4334
- Timestamp:
- 02/25/09 03:20:14
(3 years ago)
- Author:
- larsivi
- Message:
Apply workaround for GDC bug 2688 (PPC64 memcpy issue), refs #1494, thanks afb.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r4179 |
r4334 |
|
| 22 | 22 | version (Posix) |
|---|
| 23 | 23 | private import tango.stdc.posix.fcntl; |
|---|
| | 24 | |
|---|
| | 25 | version (GNU) { |
|---|
| | 26 | version (PPC64) { |
|---|
| | 27 | extern (C) void memcpy(void*, void*, size_t); |
|---|
| | 28 | version = PPC64_MEMCPY; /* Workaround for GDC bugzilla entry 2688 */ |
|---|
| | 29 | } |
|---|
| | 30 | } |
|---|
| 24 | 31 | |
|---|
| 25 | 32 | /****************************************************************************** |
|---|
| … | … | |
| 118 | 125 | |
|---|
| 119 | 126 | ++depth; |
|---|
| 120 | | current = tmp; |
|---|
| | 127 | version (PPC64_MEMCPY) { memcpy(¤t, &tmp, Header.sizeof); } else { current = tmp; } |
|---|
| 121 | 128 | insert = insert + tmp.size + tmp.sizeof; |
|---|
| 122 | 129 | conduit.seek (insert); |
|---|
| … | … | |
| 217 | 224 | // update refs |
|---|
| 218 | 225 | insert = insert + chunk.sizeof + chunk.size; |
|---|
| 219 | | current = chunk; |
|---|
| | 226 | version (PPC64_MEMCPY) { memcpy(¤t, &chunk, Header.sizeof); } else { current = chunk; } |
|---|
| 220 | 227 | ++depth; |
|---|
| 221 | 228 | |
|---|
| … | … | |
| 257 | 264 | conduit.error ("queue file is corrupt"); |
|---|
| 258 | 265 | else |
|---|
| 259 | | current = zero; |
|---|
| | 266 | version (PPC64_MEMCPY) { memcpy(¤t, &zero, Header.sizeof); } else { current = zero; } |
|---|
| 260 | 267 | |
|---|
| 261 | 268 | // leave file position at insert-point |
|---|
Download in other formats:
|
 |
 |
|
 |
Copyright © 2006-2012 Tango. All Rights Reserved. | Page Width:
Static or
Dynamic