[haiku-commits] haiku: hrev51652 - src/system/kernel/vm src/kits/package/hpkg/v1 src/add-ons/kernel/file_systems/packagefs/indices headers/os/package/hpkg/v1 headers/os/package/hpkg

  • From: waddlesplash@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 3 Dec 2017 05:30:21 +0100 (CET)

hrev51652 adds 4 changesets to branch 'master'
old head: e33d3563dcef25354fb8f352183d3c493624b8b5
new head: 9c292427ec56e8dc9d3c702b6cc666888158ad54
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=9c292427ec56+%5Ee33d3563dcef

----------------------------------------------------------------------------

bf77c15232b2: kernel/vm: Correct virtual function declarations.
  
  The base VMCache class changed to the generic_ types with their
  introduction in in *2011* (435c43f5912b109e7d5cf682865d2061e62fad8c),
  but these classes were never properly adapted. These functions should not
  be called here (they panic() -- but the base class only returns B_ERROR,
  so that is a difference at least.)
  
  Found by Clang's -Woverloaded-virtual.

7c234361eb70: Fix more class/struct mixups.

47bedf160120: PackageDataInlineReader: Do not use fData before it has been set.
  
  Spotted by Clang.

9c292427ec56: configure: Remove totally useless --enable-multiuser switch.
  
  It's not used anywhere in the build system at all.

                              [ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]

----------------------------------------------------------------------------

15 files changed, 32 insertions(+), 36 deletions(-)
configure                                                |  4 ----
headers/os/interface/MenuField.h                         |  2 +-
headers/os/package/hpkg/PackageContentHandler.h          |  4 ++--
headers/os/package/hpkg/v1/PackageContentHandler.h       |  4 ++--
headers/private/kernel/vm/VMCache.h                      |  2 +-
.../kernel/file_systems/cdda/kernel_interface.cpp        |  2 +-
src/add-ons/kernel/file_systems/nfs4/FileInfo.h          |  2 +-
.../file_systems/packagefs/indices/AttributeIndexer.h    |  2 +-
.../kernel/file_systems/packagefs/indices/NameIndex.h    |  2 +-
src/kits/package/hpkg/PackageDataReader.cpp              |  2 +-
src/kits/package/hpkg/v1/PackageDataReaderV1.cpp         |  2 +-
src/system/kernel/vm/VMAnonymousNoSwapCache.cpp          |  8 ++++----
src/system/kernel/vm/VMAnonymousNoSwapCache.h            | 12 ++++++------
src/system/kernel/vm/VMDeviceCache.cpp                   |  8 ++++----
src/system/kernel/vm/VMDeviceCache.h                     | 12 ++++++------

############################################################################

Commit:      bf77c15232b2dbc93fca01ca95a0fcdf955ce600
URL:         http://cgit.haiku-os.org/haiku/commit/?id=bf77c15232b2
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sun Dec  3 02:42:50 2017 UTC

kernel/vm: Correct virtual function declarations.

The base VMCache class changed to the generic_ types with their
introduction in in *2011* (435c43f5912b109e7d5cf682865d2061e62fad8c),
but these classes were never properly adapted. These functions should not
be called here (they panic() -- but the base class only returns B_ERROR,
so that is a difference at least.)

Found by Clang's -Woverloaded-virtual.

----------------------------------------------------------------------------

diff --git a/headers/private/kernel/vm/VMCache.h 
b/headers/private/kernel/vm/VMCache.h
index b373c7f..46bedf8 100644
--- a/headers/private/kernel/vm/VMCache.h
+++ b/headers/private/kernel/vm/VMCache.h
@@ -147,7 +147,7 @@ public:
        virtual bool                            HasPage(off_t offset);
 
        virtual status_t                        Read(off_t offset, const 
generic_io_vec *vecs,
-                                                                       size_t 
count,uint32 flags,
+                                                                       size_t 
count, uint32 flags,
                                                                        
generic_size_t *_numBytes);
        virtual status_t                        Write(off_t offset, const 
generic_io_vec *vecs,
                                                                        size_t 
count, uint32 flags,
diff --git a/src/system/kernel/vm/VMAnonymousNoSwapCache.cpp 
b/src/system/kernel/vm/VMAnonymousNoSwapCache.cpp
index 1de023a..cd91d5a 100644
--- a/src/system/kernel/vm/VMAnonymousNoSwapCache.cpp
+++ b/src/system/kernel/vm/VMAnonymousNoSwapCache.cpp
@@ -100,8 +100,8 @@ VMAnonymousNoSwapCache::HasPage(off_t offset)
 
 
 status_t
-VMAnonymousNoSwapCache::Read(off_t offset, const iovec* vecs, size_t count,
-       uint32 flags, size_t* _numBytes)
+VMAnonymousNoSwapCache::Read(off_t offset, const generic_io_vec* vecs, size_t 
count,
+       uint32 flags, generic_size_t* _numBytes)
 {
        panic("anonymous_store: read called. Invalid!\n");
        return B_ERROR;
@@ -109,8 +109,8 @@ VMAnonymousNoSwapCache::Read(off_t offset, const iovec* 
vecs, size_t count,
 
 
 status_t
-VMAnonymousNoSwapCache::Write(off_t offset, const iovec* vecs, size_t count,
-       uint32 flags, size_t* _numBytes)
+VMAnonymousNoSwapCache::Write(off_t offset, const generic_io_vec* vecs, size_t 
count,
+       uint32 flags, generic_size_t* _numBytes)
 {
        // no place to write, this will cause the page daemon to skip this store
        return B_ERROR;
diff --git a/src/system/kernel/vm/VMAnonymousNoSwapCache.h 
b/src/system/kernel/vm/VMAnonymousNoSwapCache.h
index c9250ed..7f51e35 100644
--- a/src/system/kernel/vm/VMAnonymousNoSwapCache.h
+++ b/src/system/kernel/vm/VMAnonymousNoSwapCache.h
@@ -27,12 +27,12 @@ public:
 
        virtual int32                           GuardSize()     { return 
fGuardedSize; }
 
-       virtual status_t                        Read(off_t offset, const iovec* 
vecs,
-                                                                       size_t 
count, uint32 flags,
-                                                                       size_t* 
_numBytes);
-       virtual status_t                        Write(off_t offset, const 
iovec* vecs,
-                                                                       size_t 
count, uint32 flags,
-                                                                       size_t* 
_numBytes);
+       virtual status_t                        Read(off_t offset, const 
generic_io_vec *vecs,
+                                                                        size_t 
count,uint32 flags,
+                                                                        
generic_size_t *_numBytes);
+       virtual status_t                        Write(off_t offset, const 
generic_io_vec *vecs,
+                                                                         
size_t count, uint32 flags,
+                                                                         
generic_size_t *_numBytes);
 
        virtual status_t                        Fault(struct VMAddressSpace* 
aspace,
                                                                        off_t 
offset);
diff --git a/src/system/kernel/vm/VMDeviceCache.cpp 
b/src/system/kernel/vm/VMDeviceCache.cpp
index f9aa4c9..d94bf72 100644
--- a/src/system/kernel/vm/VMDeviceCache.cpp
+++ b/src/system/kernel/vm/VMDeviceCache.cpp
@@ -21,8 +21,8 @@ VMDeviceCache::Init(addr_t baseAddress, uint32 
allocationFlags)
 
 
 status_t
-VMDeviceCache::Read(off_t offset, const iovec* vecs, size_t count,
-       uint32 flags, size_t* _numBytes)
+VMDeviceCache::Read(off_t offset, const generic_io_vec *vecs, size_t count,
+       uint32 flags, generic_size_t *_numBytes)
 {
        panic("device_store: read called. Invalid!\n");
        return B_ERROR;
@@ -30,8 +30,8 @@ VMDeviceCache::Read(off_t offset, const iovec* vecs, size_t 
count,
 
 
 status_t
-VMDeviceCache::Write(off_t offset, const iovec* vecs, size_t count,
-       uint32 flags, size_t* _numBytes)
+VMDeviceCache::Write(off_t offset, const generic_io_vec* vecs, size_t count,
+       uint32 flags, generic_size_t* _numBytes)
 {
        // no place to write, this will cause the page daemon to skip this store
        return B_OK;
diff --git a/src/system/kernel/vm/VMDeviceCache.h 
b/src/system/kernel/vm/VMDeviceCache.h
index 310024f..a1998ca 100644
--- a/src/system/kernel/vm/VMDeviceCache.h
+++ b/src/system/kernel/vm/VMDeviceCache.h
@@ -18,12 +18,12 @@ public:
                        status_t                        Init(addr_t baseAddress,
                                                                        uint32 
allocationFlags);
 
-       virtual status_t                        Read(off_t offset, const iovec* 
vecs,
-                                                                       size_t 
count, uint32 flags,
-                                                                       size_t* 
_numBytes);
-       virtual status_t                        Write(off_t offset, const 
iovec* vecs,
-                                                                       size_t 
count, uint32 flags,
-                                                                       size_t* 
_numBytes);
+       virtual status_t                        Read(off_t offset, const 
generic_io_vec *vecs,
+                                                                        size_t 
count, uint32 flags,
+                                                                        
generic_size_t *_numBytes);
+       virtual status_t                        Write(off_t offset, const 
generic_io_vec *vecs,
+                                                                         
size_t count, uint32 flags,
+                                                                         
generic_size_t *_numBytes);
 
 protected:
        virtual void                            DeleteObject();

############################################################################

Commit:      7c234361eb70458273aba20f16643d7514536f1c
URL:         http://cgit.haiku-os.org/haiku/commit/?id=7c234361eb70
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sun Dec  3 03:24:06 2017 UTC

Fix more class/struct mixups.

----------------------------------------------------------------------------

diff --git a/headers/os/interface/MenuField.h b/headers/os/interface/MenuField.h
index 770e74e..fac2aec 100644
--- a/headers/os/interface/MenuField.h
+++ b/headers/os/interface/MenuField.h
@@ -111,7 +111,7 @@ private:
        friend class _BMCMenuBar_;
        friend class LabelLayoutItem;
        friend class MenuBarLayoutItem;
-       friend class LayoutData;
+       friend struct LayoutData;
 
                                                                
BMenuField(const char* name,
                                                                        const 
char* label, BMenu* menu,
diff --git a/headers/os/package/hpkg/PackageContentHandler.h 
b/headers/os/package/hpkg/PackageContentHandler.h
index b09992b..2a0b6cb 100644
--- a/headers/os/package/hpkg/PackageContentHandler.h
+++ b/headers/os/package/hpkg/PackageContentHandler.h
@@ -16,10 +16,10 @@ namespace BPackageKit {
 namespace BHPKG {
 
 
-class BPackageAttributeValue;
+struct BPackageAttributeValue;
 class BPackageEntry;
 class BPackageEntryAttribute;
-class BPackageInfoAttributeValue;
+struct BPackageInfoAttributeValue;
 
 
 class BLowLevelPackageContentHandler {
diff --git a/headers/os/package/hpkg/v1/PackageContentHandler.h 
b/headers/os/package/hpkg/v1/PackageContentHandler.h
index 6b46771..1d70027 100644
--- a/headers/os/package/hpkg/v1/PackageContentHandler.h
+++ b/headers/os/package/hpkg/v1/PackageContentHandler.h
@@ -16,13 +16,13 @@ namespace BPackageKit {
 namespace BHPKG {
 
 
-class BPackageInfoAttributeValue;
+struct BPackageInfoAttributeValue;
 
 
 namespace V1 {
 
 
-class BPackageAttributeValue;
+struct BPackageAttributeValue;
 class BPackageEntry;
 class BPackageEntryAttribute;
 
diff --git a/src/add-ons/kernel/file_systems/cdda/kernel_interface.cpp 
b/src/add-ons/kernel/file_systems/cdda/kernel_interface.cpp
index 2bfad46..e43c803 100644
--- a/src/add-ons/kernel/file_systems/cdda/kernel_interface.cpp
+++ b/src/add-ons/kernel/file_systems/cdda/kernel_interface.cpp
@@ -1508,7 +1508,7 @@ cdda_mount(fs_volume* fsVolume, const char* device, 
uint32 flags,
 static status_t
 cdda_unmount(fs_volume* _volume)
 {
-       struct Volume* volume = (struct Volume*)_volume->private_volume;
+       Volume* volume = (Volume*)_volume->private_volume;
 
        TRACE(("cdda_unmount: entry fs = %p\n", _volume));
        delete volume;
diff --git a/src/add-ons/kernel/file_systems/nfs4/FileInfo.h 
b/src/add-ons/kernel/file_systems/nfs4/FileInfo.h
index d985748..ca41768 100644
--- a/src/add-ons/kernel/file_systems/nfs4/FileInfo.h
+++ b/src/add-ons/kernel/file_systems/nfs4/FileInfo.h
@@ -34,7 +34,7 @@ struct FileHandle {
        inline  bool            operator<(const FileHandle& handle) const;
 };
 
-class InodeNames;
+struct InodeNames;
 
 struct InodeName : public SinglyLinkedListLinkImpl<InodeName> {
                                InodeName(InodeNames* parent, const char* name);
diff --git 
a/src/add-ons/kernel/file_systems/packagefs/indices/AttributeIndexer.h 
b/src/add-ons/kernel/file_systems/packagefs/indices/AttributeIndexer.h
index ccd5dbc..614c7f2 100644
--- a/src/add-ons/kernel/file_systems/packagefs/indices/AttributeIndexer.h
+++ b/src/add-ons/kernel/file_systems/packagefs/indices/AttributeIndexer.h
@@ -12,7 +12,7 @@
 
 
 class AttributeIndex;
-class AttributeIndexTreeValue;
+struct AttributeIndexTreeValue;
 class IndexedAttributeOwner;
 
 
diff --git a/src/add-ons/kernel/file_systems/packagefs/indices/NameIndex.h 
b/src/add-ons/kernel/file_systems/packagefs/indices/NameIndex.h
index 7676637..021ff16 100644
--- a/src/add-ons/kernel/file_systems/packagefs/indices/NameIndex.h
+++ b/src/add-ons/kernel/file_systems/packagefs/indices/NameIndex.h
@@ -38,7 +38,7 @@ private:
                        struct IteratorPolicy;
                        struct Iterator;
 
-                       friend class IteratorPolicy;
+                       friend struct IteratorPolicy;
 
                        void                            
_UpdateLiveQueries(Node* entry,
                                                                        const 
char* oldName, const char* newName);

############################################################################

Commit:      47bedf16012092c1a0e3f640ae671939486576bc
URL:         http://cgit.haiku-os.org/haiku/commit/?id=47bedf160120
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sun Dec  3 03:24:55 2017 UTC

PackageDataInlineReader: Do not use fData before it has been set.

Spotted by Clang.

----------------------------------------------------------------------------

diff --git a/src/kits/package/hpkg/PackageDataReader.cpp 
b/src/kits/package/hpkg/PackageDataReader.cpp
index d87993b..45d7a76 100644
--- a/src/kits/package/hpkg/PackageDataReader.cpp
+++ b/src/kits/package/hpkg/PackageDataReader.cpp
@@ -80,7 +80,7 @@ class PackageDataInlineReader : public BBufferDataReader {
 public:
        PackageDataInlineReader(const BPackageData& data)
                :
-               BBufferDataReader(fData.InlineData(), data.Size()),
+               BBufferDataReader(data.InlineData(), data.Size()),
                fData(data)
        {
        }
diff --git a/src/kits/package/hpkg/v1/PackageDataReaderV1.cpp 
b/src/kits/package/hpkg/v1/PackageDataReaderV1.cpp
index b9cc58a..8b21446 100644
--- a/src/kits/package/hpkg/v1/PackageDataReaderV1.cpp
+++ b/src/kits/package/hpkg/v1/PackageDataReaderV1.cpp
@@ -403,7 +403,7 @@ class PackageDataInlineReader : public BBufferDataReader {
 public:
        PackageDataInlineReader(const BPackageData& data)
                :
-               BBufferDataReader(fData.InlineData(), data.UncompressedSize()),
+               BBufferDataReader(data.InlineData(), data.UncompressedSize()),
                fData(data)
        {
        }

############################################################################

Revision:    hrev51652
Commit:      9c292427ec56e8dc9d3c702b6cc666888158ad54
URL:         http://cgit.haiku-os.org/haiku/commit/?id=9c292427ec56
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sun Dec  3 04:27:09 2017 UTC

configure: Remove totally useless --enable-multiuser switch.

It's not used anywhere in the build system at all.

----------------------------------------------------------------------------

diff --git a/configure b/configure
index 8b27911..6b9a2fd 100755
--- a/configure
+++ b/configure
@@ -51,7 +51,6 @@ options:
                               official -- the official Haiku distribution.
                               compatible -- a Haiku Compatible (tm) distro.
                               default -- any other distro (default value).
-  --enable-multiuser          Enable experimental multiuser support.
   --help                      Prints out this help.
   --host-only                 Configure for building tools for the build host
                               only. Haiku cannot be built when configured like
@@ -442,7 +441,6 @@ HOST_GCC_MACHINE=`$CC -dumpmachine`
 HAIKU_INCLUDE_PATENTED_CODE=0
 HAIKU_INCLUDE_SOURCES=0
 HAIKU_INCLUDE_3RDPARTY=0
-HAIKU_ENABLE_MULTIUSER=0
 HAIKU_DISTRO_COMPATIBILITY=default
 TARGET_PLATFORM=haiku
 HAIKU_USE_GCC_PIPE=0
@@ -591,7 +589,6 @@ while [ $# -gt 0 ] ; do
                        esac
                        shift 2
                        ;;
-               --enable-multiuser)     HAIKU_ENABLE_MULTIUSER=1; shift 1;;
                --host-only)    HAIKU_HOST_BUILD_ONLY=1; shift 1;;
                --include-patented-code)        HAIKU_INCLUDE_PATENTED_CODE=1; 
shift 1;;
                --include-sources)      HAIKU_INCLUDE_SOURCES=1; shift 1;;
@@ -877,7 +874,6 @@ HOST_PLATFORM                               ?= 
"${HOST_PLATFORM}" ;
 HAIKU_INCLUDE_PATENTED_CODE                    ?= 
"${HAIKU_INCLUDE_PATENTED_CODE}" ;
 HAIKU_INCLUDE_SOURCES                          ?= "${HAIKU_INCLUDE_SOURCES}" ;
 HAIKU_INCLUDE_3RDPARTY                         ?= "${HAIKU_INCLUDE_3RDPARTY}" ;
-HAIKU_ENABLE_MULTIUSER                         ?= "${HAIKU_ENABLE_MULTIUSER}" ;
 HAIKU_DISTRO_COMPATIBILITY                     ?= 
"${HAIKU_DISTRO_COMPATIBILITY}" ;
 HAIKU_USE_GCC_PIPE                                     ?= 
"${HAIKU_USE_GCC_PIPE}" ;
 HAIKU_HOST_USE_32BIT                           ?= "${HAIKU_HOST_USE_32BIT}" ;


Other related posts:

  • » [haiku-commits] haiku: hrev51652 - src/system/kernel/vm src/kits/package/hpkg/v1 src/add-ons/kernel/file_systems/packagefs/indices headers/os/package/hpkg/v1 headers/os/package/hpkg - waddlesplash