This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug treelang/41639] New: synchronisation primitives take unsigned as input and output values.
- From: "chrbr at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Oct 2009 07:06:17 -0000
- Subject: [Bug treelang/41639] New: synchronisation primitives take unsigned as input and output values.
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Current implementation of the synchronization builtins in gcc (from
http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/lin/compiler_c/intref_cls/common/intref_itanium_synchro_prim.htm)
describe <type> as unsigned. although it is stated as "<type> is either a
32-bit or 64-bit integer"
consequently, testsuite tests such as sync-2.c:
if (__sync_sub_and_fetch(AI+13, 12) != (char)-12)
abort ();
might fail. (unless the target/runtime dependant primitive implementation
artificially change the return type).
--
Summary: synchronisation primitives take unsigned as input and
output values.
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: trivial
Priority: P3
Component: treelang
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: chrbr at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41639