Merge branch 'master' of git.concurrencykit.org:ck

ck_pring
Samy Al Bahra 13 years ago
commit 2015f0f5d4

@ -66,7 +66,6 @@ distribution: clean
rm -f include/ck_md.h rm -f include/ck_md.h
rm -f build/regressions.build rm -f build/regressions.build
rm -f build/ck.build rm -f build/ck.build
rm -f build/ck.spec
rm -f build/ck.pc rm -f build/ck.pc
rm -f Makefile rm -f Makefile
rm -f doc/Makefile rm -f doc/Makefile

@ -53,12 +53,12 @@ rm -rf $RPM_BUILD_ROOT
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/libck.so
%{_libdir}/libck.so.@VERSION@ %{_libdir}/libck.so.@VERSION@
%{_libdir}/libck.so.@VERSION_MAJOR@ %{_libdir}/libck.so.@VERSION_MAJOR@
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libck.so
%{_includedir}/%{name}/*.h %{_includedir}/%{name}/*.h
%{_includedir}/%{name}/*/*.h %{_includedir}/%{name}/*/*.h
%{_includedir}/%{name}/*/*/*.h %{_includedir}/%{name}/*/*/*.h

@ -45,4 +45,8 @@
#define CK_CC_PAD(x) union { char pad[x]; } #define CK_CC_PAD(x) union { char pad[x]; }
#ifndef CK_CC_ALIASED
#define CK_CC_ALIASED
#endif
#endif /* _CK_CC_H */ #endif /* _CK_CC_H */

@ -40,7 +40,7 @@ typedef struct ck_stack_entry ck_stack_entry_t;
struct ck_stack { struct ck_stack {
struct ck_stack_entry *head; struct ck_stack_entry *head;
char *generation CK_CC_PACKED; char *generation CK_CC_PACKED;
}; } CK_CC_ALIASED;
typedef struct ck_stack ck_stack_t; typedef struct ck_stack ck_stack_t;
#define CK_STACK_INITIALIZER { NULL, NULL } #define CK_STACK_INITIALIZER { NULL, NULL }

@ -75,4 +75,11 @@
#pragma GCC poison malloc free #pragma GCC poison malloc free
#endif #endif
/*
* Some compilers are overly strict regarding aliasing semantics.
* Unfortunately, in many cases it makes more sense to pay aliasing
* cost rather than overly expensive register spillage.
*/
#define CK_CC_ALIASED __attribute__((__may_alias__))
#endif /* _CK_GCC_CC_H */ #endif /* _CK_GCC_CC_H */

Loading…
Cancel
Save