diff --git a/headers/private/userlandfs/private/Port.h b/headers/private/userlandfs/private/Port.h index c72099b25f..e3d931cf4b 100644 --- a/headers/private/userlandfs/private/Port.h +++ b/headers/private/userlandfs/private/Port.h @@ -5,6 +5,8 @@ #include +class KernelDebug; + namespace UserlandFSUtil { struct PortInfo { @@ -40,7 +42,7 @@ public: status_t Receive(bigtime_t timeout = -1); private: - friend class KernelDebug; + friend class ::KernelDebug; Info fInfo; uint8* fBuffer; diff --git a/headers/private/userlandfs/private/RequestPort.h b/headers/private/userlandfs/private/RequestPort.h index 3bbe299085..e31ffc3e84 100644 --- a/headers/private/userlandfs/private/RequestPort.h +++ b/headers/private/userlandfs/private/RequestPort.h @@ -41,7 +41,7 @@ private: void _PopAllocator(); private: - friend class KernelDebug; + friend class ::KernelDebug; struct AllocatorNode; Port fPort; diff --git a/headers/private/userlandfs/shared/HashMap.h b/headers/private/userlandfs/shared/HashMap.h index 1733cffa8f..fbd0dc74c3 100644 --- a/headers/private/userlandfs/shared/HashMap.h +++ b/headers/private/userlandfs/shared/HashMap.h @@ -190,8 +190,8 @@ protected: template class SynchronizedHashMap : public Locker { public: - typedef HashMap::Entry Entry; - typedef HashMap::Iterator Iterator; + typedef typename HashMap::Entry Entry; + typedef typename HashMap::Iterator Iterator; SynchronizedHashMap() : Locker("synchronized hash map") {} ~SynchronizedHashMap() { Lock(); } @@ -420,7 +420,7 @@ HashMap::Size() const // GetIterator template -HashMap::Iterator +typename HashMap::Iterator HashMap::GetIterator() { return Iterator(this); @@ -428,7 +428,7 @@ HashMap::GetIterator() // _FindElement template -HashMap::Element * +typename HashMap::Element * HashMap::_FindElement(const Key& key) const { Element* element = fTable.FindFirst(key.GetHashCode()); diff --git a/headers/private/userlandfs/shared/Vector.h b/headers/private/userlandfs/shared/Vector.h index d7f52a2b90..266d34a09d 100644 --- a/headers/private/userlandfs/shared/Vector.h +++ b/headers/private/userlandfs/shared/Vector.h @@ -382,7 +382,7 @@ _VECTOR_CLASS_NAME::Remove(const Value &value) removed), or Null(), if \a index was out of range. */ _VECTOR_TEMPLATE_LIST -_VECTOR_CLASS_NAME::Iterator +typename _VECTOR_CLASS_NAME::Iterator _VECTOR_CLASS_NAME::Erase(int32 index) { if (index >= 0 && index < fItemCount) { @@ -403,7 +403,7 @@ _VECTOR_CLASS_NAME::Erase(int32 index) (in this case including End()). */ _VECTOR_TEMPLATE_LIST -_VECTOR_CLASS_NAME::Iterator +typename _VECTOR_CLASS_NAME::Iterator _VECTOR_CLASS_NAME::Erase(const Iterator &iterator) { int32 index = _IteratorIndex(iterator); @@ -458,7 +458,7 @@ _VECTOR_CLASS_NAME::MakeEmpty() */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::Iterator +typename _VECTOR_CLASS_NAME::Iterator _VECTOR_CLASS_NAME::Begin() { return Iterator(fItems); @@ -474,7 +474,7 @@ _VECTOR_CLASS_NAME::Begin() */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::ConstIterator +typename _VECTOR_CLASS_NAME::ConstIterator _VECTOR_CLASS_NAME::Begin() const { return ConstIterator(fItems); @@ -490,7 +490,7 @@ _VECTOR_CLASS_NAME::Begin() const */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::Iterator +typename _VECTOR_CLASS_NAME::Iterator _VECTOR_CLASS_NAME::End() { return Iterator(fItems + fItemCount); @@ -506,7 +506,7 @@ _VECTOR_CLASS_NAME::End() */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::ConstIterator +typename _VECTOR_CLASS_NAME::ConstIterator _VECTOR_CLASS_NAME::End() const { return ConstIterator(fItems + fItemCount); @@ -522,7 +522,7 @@ _VECTOR_CLASS_NAME::End() const */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::Iterator +typename _VECTOR_CLASS_NAME::Iterator _VECTOR_CLASS_NAME::Null() { return Iterator(NULL); @@ -538,7 +538,7 @@ _VECTOR_CLASS_NAME::Null() */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::ConstIterator +typename _VECTOR_CLASS_NAME::ConstIterator _VECTOR_CLASS_NAME::Null() const { return ConstIterator(NULL); @@ -551,7 +551,7 @@ _VECTOR_CLASS_NAME::Null() const */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::Iterator +typename _VECTOR_CLASS_NAME::Iterator _VECTOR_CLASS_NAME::IteratorForIndex(int32 index) { if (index >= 0 && index <= fItemCount) @@ -566,7 +566,7 @@ _VECTOR_CLASS_NAME::IteratorForIndex(int32 index) */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::ConstIterator +typename _VECTOR_CLASS_NAME::ConstIterator _VECTOR_CLASS_NAME::IteratorForIndex(int32 index) const { if (index >= 0 && index <= fItemCount) @@ -637,7 +637,7 @@ _VECTOR_CLASS_NAME::IndexOf(const Value &value, int32 start) const */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::Iterator +typename _VECTOR_CLASS_NAME::Iterator _VECTOR_CLASS_NAME::Find(const Value &value) { return Find(value, Begin()); @@ -654,7 +654,7 @@ _VECTOR_CLASS_NAME::Find(const Value &value) invalid. */ _VECTOR_TEMPLATE_LIST -_VECTOR_CLASS_NAME::Iterator +typename _VECTOR_CLASS_NAME::Iterator _VECTOR_CLASS_NAME::Find(const Value &value, const Iterator &start) { int32 index = IndexOf(value, _IteratorIndex(start)); @@ -672,7 +672,7 @@ _VECTOR_CLASS_NAME::Find(const Value &value, const Iterator &start) */ _VECTOR_TEMPLATE_LIST inline -_VECTOR_CLASS_NAME::ConstIterator +typename _VECTOR_CLASS_NAME::ConstIterator _VECTOR_CLASS_NAME::Find(const Value &value) const { return Find(value, Begin()); @@ -689,7 +689,7 @@ _VECTOR_CLASS_NAME::Find(const Value &value) const invalid. */ _VECTOR_TEMPLATE_LIST -_VECTOR_CLASS_NAME::ConstIterator +typename _VECTOR_CLASS_NAME::ConstIterator _VECTOR_CLASS_NAME::Find(const Value &value, const ConstIterator &start) const { int32 index = IndexOf(value, _IteratorIndex(start)); diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile index cc6d842dd2..0588ba819b 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile @@ -4,7 +4,6 @@ local userlandFSTop = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ; local userlandFSIncludes = [ PrivateHeaders userlandfs ] ; -#SubDirSysHdrs [ FDirName $(userlandFSIncludes) legacy ] ; SubDirHdrs [ FDirName $(userlandFSIncludes) private ] ; SubDirHdrs [ FDirName $(userlandFSIncludes) shared ] ; @@ -13,12 +12,6 @@ SEARCH_SOURCE += [ FDirName $(userlandFSTop) shared ] ; DEFINES += DEBUG_APP="\\\"userlandfs\\\"" ; -local kernelC++ ; -if $(OSPLAT) = X86 { - kernelC++ += kernel-cpp.cpp ; - SubDirC++Flags -include [ FDirName $(SUBDIR) kernel-cpp.h ] ; -} - KernelAddon userlandfs : AreaSupport.cpp Debug.cpp @@ -46,7 +39,5 @@ KernelAddon userlandfs UserlandFS.cpp Volume.cpp -# $(kernelC++) - - : $(TARGET_GCC_LIBGCC) + : $(TARGET_GCC_LIBGCC) $(HAIKU_LIBSUPC++) ; diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/RequestPortPool.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/RequestPortPool.cpp index 2bb434795e..d970d22a04 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/RequestPortPool.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/RequestPortPool.cpp @@ -1,9 +1,12 @@ // RequestPortPool.cpp +#include "RequestPortPool.h" + +#include + #include "AutoLocker.h" #include "Debug.h" #include "RequestPort.h" -#include "RequestPortPool.h" typedef AutoLocker PoolLocker; diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Settings.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Settings.cpp index 9e75851373..7f675ad7de 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Settings.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Settings.cpp @@ -2,6 +2,8 @@ #include +#include + #include #include "Debug.h" @@ -9,6 +11,8 @@ #include "IOCtlInfo.h" #include "Settings.h" +using std::nothrow; + static const char *kFSName = "userlandfs"; // IOCtlInfoMap diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/UserlandFS.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/UserlandFS.cpp index aa94da1d3e..03eac5ba0b 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/UserlandFS.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/UserlandFS.cpp @@ -2,7 +2,6 @@ #include -#include "AutoLocker.h" #include "Compatibility.h" #include "Debug.h" #include "DispatcherDefs.h" @@ -12,7 +11,6 @@ #include "Requests.h" #include "UserlandFS.h" -typedef AutoLocker FileSystemLocker; UserlandFS* UserlandFS::sUserlandFS = NULL; diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/UserlandFS.h b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/UserlandFS.h index 1486894030..9a48f96341 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/UserlandFS.h +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/UserlandFS.h @@ -5,6 +5,7 @@ #include +#include "AutoLocker.h" #include "HashMap.h" #include "String.h" @@ -40,6 +41,7 @@ private: private: friend class KernelDebug; typedef SynchronizedHashMap FileSystemMap; + typedef AutoLocker FileSystemLocker; static UserlandFS* sUserlandFS; diff --git a/src/add-ons/kernel/file_systems/userlandfs/private/DispatcherDefs.cpp b/src/add-ons/kernel/file_systems/userlandfs/private/DispatcherDefs.cpp index efeb096c27..13bc42868e 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/private/DispatcherDefs.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/private/DispatcherDefs.cpp @@ -2,5 +2,9 @@ #include "DispatcherDefs.h" +namespace UserlandFSUtil { + const char* kUserlandFSDispatcherPortName = "userland fs dispatcher"; const char* kUserlandFSDispatcherReplyPortName = "userland fs dispatcher reply"; + +} diff --git a/src/add-ons/kernel/file_systems/userlandfs/private/Port.cpp b/src/add-ons/kernel/file_systems/userlandfs/private/Port.cpp index 0dd6136b34..f54dd50f2d 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/private/Port.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/private/Port.cpp @@ -6,6 +6,8 @@ #include "Compatibility.h" #include "Port.h" +using std::nothrow; + // minimal and maximal port size static const int32 kMinPortSize = 1024; // 1 kB static const int32 kMaxPortSize = 64 * 1024; // 64 kB diff --git a/src/add-ons/kernel/file_systems/userlandfs/private/RequestAllocator.cpp b/src/add-ons/kernel/file_systems/userlandfs/private/RequestAllocator.cpp index 8fab1726b8..d0a401fd16 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/private/RequestAllocator.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/private/RequestAllocator.cpp @@ -8,6 +8,8 @@ #include "Port.h" #include "RequestAllocator.h" +using std::nothrow; + // constructor RequestAllocator::RequestAllocator(Port* port) : fError(B_NO_INIT), diff --git a/src/add-ons/kernel/file_systems/userlandfs/private/RequestPort.cpp b/src/add-ons/kernel/file_systems/userlandfs/private/RequestPort.cpp index ed6c55c2b3..8a5f8e4294 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/private/RequestPort.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/private/RequestPort.cpp @@ -8,6 +8,8 @@ #include "RequestHandler.h" #include "RequestPort.h" +using std::nothrow; + // TODO: Limit the stacking of requests? // AllocatorNode diff --git a/src/add-ons/kernel/file_systems/userlandfs/private/userlandfs_ioctl.cpp b/src/add-ons/kernel/file_systems/userlandfs/private/userlandfs_ioctl.cpp index fb13693ac6..ad5c2bfd98 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/private/userlandfs_ioctl.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/private/userlandfs_ioctl.cpp @@ -2,5 +2,9 @@ #include "userlandfs_ioctl.h" +namespace UserlandFSUtil { + const char kUserlandFSIOCtlMagic[USERLAND_IOCTL_MAGIC_LENGTH] = "userlandfs mAGiC666"; + +} diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/BeOSKernelFileSystem.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/BeOSKernelFileSystem.cpp index b861323289..a8c9c1279e 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/BeOSKernelFileSystem.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/BeOSKernelFileSystem.cpp @@ -6,6 +6,8 @@ #include "BeOSKernelVolume.h" +using std::nothrow; + // constructor BeOSKernelFileSystem::BeOSKernelFileSystem(beos_vnode_ops* fsOps) : FileSystem(), diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/FSInfo.h b/src/add-ons/kernel/file_systems/userlandfs/server/FSInfo.h index c74879d95c..710b516bae 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/FSInfo.h +++ b/src/add-ons/kernel/file_systems/userlandfs/server/FSInfo.h @@ -12,6 +12,8 @@ #include "Port.h" #include "String.h" +using std::nothrow; + namespace UserlandFS { // FSInfo diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/RequestThread.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/RequestThread.cpp index ba9a4dbdd9..1e4a486b87 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/RequestThread.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/RequestThread.cpp @@ -8,6 +8,8 @@ #include "ServerDefs.h" #include "UserlandRequestHandler.h" +using std::nothrow; + static const int32 sTLSVariable = tls_allocate(); // constructor diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/ServerDefs.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/ServerDefs.cpp index 907b42078b..1fbcbdcfce 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/ServerDefs.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/ServerDefs.cpp @@ -28,7 +28,8 @@ ServerSettings::ShallEnterDebugger() const } // the global settings -ServerSettings gServerSettings; +ServerSettings UserlandFS::gServerSettings; -const char* kUserlandFSDispatcherClipboardName = "userland fs dispatcher"; +const char* UserlandFS::kUserlandFSDispatcherClipboardName + = "userland fs dispatcher";