Alex, On 07/22/2014 09:33 AM, Alex Peshkoff wrote: > On 07/22/14 17:23, Dimitry Sibiryakov wrote: >> 22.07.2014 15:12, Alex Peshkoff wrote: >>> OK, but if we want to take into an account systems with 64-bit int the >>> only solution is artificial types? Like FB_SIZE_T? >> Yes, but definitely not "like FB_SIZE_T". >> I would say that if there is no standard type that describe the purpose >> of the type >> (like size_t for all size parameters), > It was said many times - size_t is very good thing, but we often do not > support such sizes internally. Please do not suggest to add such support > right now - or we will delay fb3 release more and more.
I would say that adding such support properly is bordering to impossible, and is unreasonable for the time being. I can give you some examples where using size_t is not supported: - Win32 API (DWORD for sizes) - standard C library - e.g. "printf" - (int for sizes) - ICU library (int32_t type from C/C++ standard for sizes) - libtommath (int for sizes) - Firebird's own new API (unsigned int for sizes) :-) Shall I continue? In short, smart people who understand integers use signed 32-bit integer in their interfaces. Not so smart people use unsigned 32-bit integers. IMO, Size_t is evil data type for interfaces. Somebody, who tried to import such interface into platform neutral language will understand me. I don't know if any of you here have experience with JNA, but we have quite a bit of it. And this is just an example, there are languages besides Java. Non-pointer types that change size from one implementation to another are very difficult to work with. I think that we may disregard platforms where "int" is not 32-bit entity for now. Such platforms are uncommon and will likely fade away over time. And if facing need to port to such platform, change interfaces to use int32_t or uint32_t types from C/C++ standard. Re warnings: I absolutely cannot work with an unclean build. I am doing serious surgery on the Firebird code to implement "holy grail" of GC. :-) And I need every help from the compiler I can get, as warnings often point to real problems in the code. Thanks, Nikolay ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel