xiangaodielian / bullet

Automatically exported from code.google.com/p/bullet
Other
0 stars 0 forks source link

Faulty bit length in BulletMultiThreaded Win64 #717

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Compile with VC8 or VC10 64 bit, the compiler warns about possible loss of 
data. Most warnings could be resolved by explicit casting, but some are indeed 
pointer truncation.

Observed in 2.81/trunk in Windows.

This is a problem of Win64 only (or any other LLP64 architecture) caused by 
defining uint64_t to be a 32 bit integer (unsigned long int).

The problem is solved by the attached patch. The patches of the CMakeList.txt 
files are not strictly necessary, but are needed in order to make the IDE show 
the correct code paths. In addition, they remove a build warning concerning MS 
x64 compilers not understanding the arch:sse option (MSVC x64 is always 
arch:sse).

Original issue reported on code.google.com by falk.roh...@gmail.com on 3 Jun 2013 at 11:03

Attachments:

GoogleCodeExporter commented 9 years ago
I could also provide patches for many of the aforementioned compiler warnings, 
but I don't know if that sort of contribution is even welcome.

Original comment by falk.roh...@gmail.com on 3 Jun 2013 at 11:06

GoogleCodeExporter commented 9 years ago
Thanks, I'll have a look at it before next release.

Original comment by erwin.coumans on 4 Jun 2013 at 9:53

GoogleCodeExporter commented 9 years ago
applied in latest trunk:
https://code.google.com/p/bullet/source/detail?r=2656

Patches that remove warnings are welcome, just don't mix any other 
functionality in it :-)

Original comment by erwin.coumans on 10 Sep 2013 at 9:28