userlandfs: use std::bitset for FSCapabilitiesgcc 13 is confused by the custom bitset implementation, so use the C++standard one instead.However, this results in including the C++ <string> heade
userlandfs: use std::bitset for FSCapabilitiesgcc 13 is confused by the custom bitset implementation, so use the C++standard one instead.However, this results in including the C++ <string> header in kernelcode. This doesn't work for gcc2, because of two problems:- That header includes a declaration of atomic_add that doesn't matchthe one in SupportsDefs.h (which can in some cases replace the functionwith a #define for an inline version). Adjust the header to use thebe a problem because it creates a risk of circular inclusions.Standard C++ headers shouldn't depend on BeAPI ones.- It also leads to the inclusion of iostream which defined lock andunlock functions in the global namespace. We don't want these, and theyare not part of the C++ standard, so just remove them.Ideally we could use std::hash for the GetHashCode implementation, butthat doesn't work because it depends on an helper function that's inlibstdc++, and we can't link that from kernel add-ons.Change-Id: Iee07280beb4dddf7a9b6160e37f3b816e4de89aeReviewed-on: https://review.haiku-os.org/c/haiku/+/6663Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
show more ...
build fix.* can't use min here, this header is not supposed to #include <algorithm>.
Add another missing string::compare method* Makes our gcc2 slightly more C++98 compliant...
Add a <limits> header for gcc2.Hacked from the gcc4 version. There may be wrong values returned in somecases.Fixes #6701.
Fix std::isnan and friends for gcc2.gcc2 was relying on the c99 functions being there, but they are not inthe std namespace.* Disable the C99 functions and macros in C++ mode* Redefine them as i
Fix std::isnan and friends for gcc2.gcc2 was relying on the c99 functions being there, but they are not inthe std namespace.* Disable the C99 functions and macros in C++ mode* Redefine them as inline functions in cmath in the std namespace.Fixes #7396.
Add the at() method to C++ vectors.* There is no reason not to have this.
Add another mssing string::compare prototype.Matches buildtools change 8b70c20ed25f905e7e217376c9e2f65a8dee6729.
Remove remaining unnecessary 'volatile' qualifiers
Allow use of c_str() on wstring.
Add tan(), tanh(), log10() to std::complexKeep the haiku/ version of the headers in sync with buildtools(see btrev43041)I'm curious: why do we have a copy of these headers in haiku/ tree ?
Fix #7948: add correct prototype for String::compare alongside the wrong onefor BeOS compatibility.git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43023 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added missing clear() method.git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37924 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Introduced new header directory "config", which ATM contains HaikuConfig.h and types.h. The idea is to provide a basic architecture/compiler abstraction by defining types and macros that allow
* Introduced new header directory "config", which ATM contains HaikuConfig.h and types.h. The idea is to provide a basic architecture/compiler abstraction by defining types and macros that allow the posix/ and os/ headers to be mostly architecture/compiler agnostic. * Adjusted the posix/ and os/ headers accordingly.* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI* and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int* types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX macros. Also the B_PRI* and B_SCN* macros are available unconditionally, unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be defined in C++ mode.git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96
Since wchar support now works, the wstring typedef should now also be safe.git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31909 a95241bf-73f2-0310-859d-f6bbb57e9c96
Synced the different definitions of BUFSIZ with the internal one. What a mess...git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31776 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed hack used by BeOS to trick stl allocator into using malloc/free for all allocations, instead we now directly request the use of malloc/free in stl_config.h. This avoids warnings about '
* Removed hack used by BeOS to trick stl allocator into using malloc/free for all allocations, instead we now directly request the use of malloc/free in stl_config.h. This avoids warnings about 'arrays of size 0' when building any stl-code with -pedantic (like e.g. ICU does). Alternatively, we could active pthread-type threading support, but since in some small tests, I have not been able to see any advantage, I've just added a respective comment.git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31609 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Turns out that the "upper" half of the old (gcc2) libio - the C++ classes - keeps its own idea about what a wchar_t is and that was still a short. This of course made the data structure of a st
* Turns out that the "upper" half of the old (gcc2) libio - the C++ classes - keeps its own idea about what a wchar_t is and that was still a short. This of course made the data structure of a streambuf incompatible with the "lower" half - the glibc part - causing (potentially all sorts of) crashes when these classes were used. This should fix the crash of gensyscalls when building haiku natively on a gcc2-haiku.git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31462 a95241bf-73f2-0310-859d-f6bbb57e9c96
[the first commit of this fix was applied to the 32bit-wchar_t-branch instead of trunk]Fixed a bug exposed by changes in the locale kit branch:* the signature of stringbuf::setbuf() wasn't matchin
[the first commit of this fix was applied to the 32bit-wchar_t-branch instead of trunk]Fixed a bug exposed by changes in the locale kit branch:* the signature of stringbuf::setbuf() wasn't matching the one from streambuf, which caused the base version to be hidden instead of overridden - leading to crashes during cleanup of stringstream objectsgit-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31262 a95241bf-73f2-0310-859d-f6bbb57e9c96
Preparations for removing __BEOS__ from the compiler defines.git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28305 a95241bf-73f2-0310-859d-f6bbb57e9c96
GCC 4 fix.git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15494 a95241bf-73f2-0310-859d-f6bbb57e9c96
commented out hypot prototype : it conflicts with glibc signature when building libstdc++ which uses glibc headerszooey agreed when discussing this (and we hope this don't break anything)git-svn-
commented out hypot prototype : it conflicts with glibc signature when building libstdc++ which uses glibc headerszooey agreed when discussing this (and we hope this don't break anything)git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11660 a95241bf-73f2-0310-859d-f6bbb57e9c96
- added implementation of stdc++ for haiku- this differs slightly from the one that lives in buildtools/gcc as it has been "ported" to the newer libio that haiku uses as part of its own libroot
- added implementation of stdc++ for haiku- this differs slightly from the one that lives in buildtools/gcc as it has been "ported" to the newer libio that haiku uses as part of its own librootgit-svn-id: file:///srv/svn/repos/haiku/trunk/current@9906 a95241bf-73f2-0310-859d-f6bbb57e9c96