/tmp/cc2M6EGp.s:23: Error: the optional immediate offset can only be 0 at operand 2 -- `ldxr w3,[x29,28]' /tmp/cc2M6EGp.s:26: Error: the optional immediate offset can only be 0 at operand 3 -- `stxr w2,w1,[x29,28]'
Tried with: gcc-linaro 4.8 (Aarch64) 4.8-2014.02 14.02 (http://www.linaro.org/downloads/)
Created attachment 227276 [details] proposed fix
Attachment 227276 [details] did not pass style-queue: ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:165: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:165: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:165: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:165: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 10 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
This refactor is also ok. I think all of these patches can be landed, if nobody has an objection.
Comment on attachment 227276 [details] proposed fix Since the new constraints are incorrect and are just there to appease gcc, I would put them behind some #if's and keep the original code around. My recollection is that not using +m in a cas can also lead to code gen bugs in some compilers because the "memory" constraint isn't enough to make them see what's going on.
Created attachment 227731 [details] proposed patch v2 I put the changes between GCC guards.
Attachment 227731 [details] did not pass style-queue: ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:126: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:126: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:126: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:126: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:126: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:125: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:126: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:126: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:179: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:180: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:179: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:180: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:179: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:180: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:179: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:180: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Atomics.h:180: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 22 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 227731 [details] proposed patch v2 Clearing flags on attachment: 227731 Committed r166234: <http://trac.webkit.org/changeset/166234>
All reviewed patches have been landed. Closing bug.
The correct constraint is "Q".