⛏️ index : buildtools.git

author Adrien Destugues <pulkomandy@pulkomandy.tk> 2014-01-17 9:56:41.0 +01:00:00
committer Adrien Destugues <pulkomandy@pulkomandy.tk> 2014-01-17 10:02:13.0 +01:00:00
commit
9bfca2f40f0857932e8bc66b6d1fdae94acf8d9c [patch]
tree
5dd85ac203ab33d696162e19f79f4ab8e5c9aec0
parent
61265967746b20064b5f6b6ed50622201ceac298
download
9bfca2f40f0857932e8bc66b6d1fdae94acf8d9c.tar.gz

Fix prototype for atomic_add

bastring declares the prototype for atomic_add, as it can't rely on
haiku-specific headers. Have this declaration match the modified
prototype from Scheduler branch merge.

Matches commit 73ad2473e7874b3702cf5b0fdf4c81b747812ed9 on Haiku side.

Diff

 legacy/gcc/libstdc++/std/bastring.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/legacy/gcc/libstdc++/std/bastring.h b/legacy/gcc/libstdc++/std/bastring.h
index a9c844d..c60e4d7 100644
--- a/legacy/gcc/libstdc++/std/bastring.h
+++ b/legacy/gcc/libstdc++/std/bastring.h
@@ -66,7 +66,7 @@
#endif

#ifdef __HAIKU__
extern "C" __haiku_int32 atomic_add(volatile __haiku_int32* value,
extern "C" __haiku_int32 atomic_add(__haiku_int32* value,
	__haiku_int32 addvalue);
#endif	/* __HAIKU__ */

@@ -82,7 +82,7 @@
    charT* data () { return reinterpret_cast<charT *>(this + 1); }
    charT& operator[] (size_t s) { return data () [s]; }
#ifdef __HAIKU__
    charT* grab () { if (selfish) return clone (); atomic_add((volatile __haiku_int32*) &ref, 1); return data (); }
    charT* grab () { if (selfish) return clone (); atomic_add((__haiku_int32*) &ref, 1); return data (); }
    void release() { if (atomic_add((__haiku_int32*) &ref, -1) == 1) delete this; }
#else
    charT* grab () { if (selfish) return clone (); ++ref; return data (); }