mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
Bug#13030056 62533: UNITTEST/MYSYS/MY_ATOMIC-T.C DOES NOT
COMPILE ON MACOSX LION The problem was that on optimized builds, the wrong code was generated for my_atomic_add64 if a variable argument was optimized away as a constant. This patch fixes the problem by making the variable volatile. Another workaround is to specify architecture explicitly using e.g. CFLAGS/CXXFLAGS= "-m64". No test case added.
This commit is contained in:
parent
0bc430286e
commit
b91f134ae1
1 changed files with 8 additions and 1 deletions
|
@ -164,7 +164,14 @@ void do_tests()
|
|||
test_concurrently("my_atomic_cas32", test_atomic_cas, THREADS, CYCLES);
|
||||
|
||||
{
|
||||
int64 b=0x1000200030004000LL;
|
||||
/*
|
||||
If b is not volatile, the wrong assembly code is generated on OSX Lion
|
||||
as the variable is optimized away as a constant.
|
||||
See Bug#62533 / Bug#13030056.
|
||||
Another workaround is to specify architecture explicitly using e.g.
|
||||
CFLAGS/CXXFLAGS= "-m64".
|
||||
*/
|
||||
volatile int64 b=0x1000200030004000LL;
|
||||
a64=0;
|
||||
my_atomic_add64(&a64, b);
|
||||
ok(a64==b, "add64");
|
||||
|
|
Loading…
Reference in a new issue