Skip to content

Building error #5

Description

@yige-hu

OS: Ubuntu 18.04.3 LTS, with linux-5.1.0+ kernel
g++ version: g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

CCEH$ make ALL_CCEH
g++ -std=c++17 -I./ -lrt -lpthread -O3 -c -o src/CCEH_MSB.o src/CCEH_MSB.cpp -DINPLACE
In file included from src/CCEH_MSB.cpp:9:0:
./src/CCEH.h: In static member function 'static void* Segment::operator new(size_t)':
./src/CCEH.h:33:19: warning: ignoring return value of 'int posix_memalign(void**, size_t, size_t)', declared with attribute warn_unused_result [-Wunused-result]
     posix_memalign(&ret, 64, size);
     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
g++ -std=c++17 -I./ -lrt -lpthread -O3 -c -o src/CCEH_MSB_CoW.o src/CCEH_MSB.cpp
In file included from src/CCEH_MSB.cpp:9:0:
./src/CCEH.h: In static member function 'static void* Segment::operator new(size_t)':
./src/CCEH.h:33:19: warning: ignoring return value of 'int posix_memalign(void**, size_t, size_t)', declared with attribute warn_unused_result [-Wunused-result]
     posix_memalign(&ret, 64, size);
     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
g++ -std=c++17 -I./ -lrt -lpthread -O3 -c -o src/CCEH_LSB.o src/CCEH_LSB.cpp -DINPLACE
src/CCEH_LSB.cpp: In constructor 'CCEH::CCEH()':
src/CCEH_LSB.cpp:131:25: error: invalid conversion from 'int' to 'Directory*' [-fpermissive]
 : dir{1}, global_depth{0}
                         ^
src/CCEH_LSB.cpp:133:32: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (unsigned i = 0; i < dir.capacity; ++i) {
                                ^~~~~~~~
src/CCEH_LSB.cpp:134:9: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     dir._[i] = new Segment(global_depth);
         ^
src/CCEH_LSB.cpp:135:9: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     dir._[i]->pattern = i;
         ^
src/CCEH_LSB.cpp: In constructor 'CCEH::CCEH(size_t)':
src/CCEH_LSB.cpp:140:64: error: invalid conversion from 'size_t {aka long unsigned int}' to 'Directory*' [-fpermissive]
 : dir{initCap}, global_depth{static_cast<size_t>(log2(initCap))}
                                                                ^
src/CCEH_LSB.cpp:142:32: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (unsigned i = 0; i < dir.capacity; ++i) {
                                ^~~~~~~~
src/CCEH_LSB.cpp:143:9: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     dir._[i] = new Segment(global_depth);
         ^
src/CCEH_LSB.cpp:144:9: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     dir._[i]->pattern = i;
         ^
src/CCEH_LSB.cpp: In member function 'virtual void CCEH::Insert(Key_t&, Value_t)':
src/CCEH_LSB.cpp:183:28: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto x = (key_hash % dir.capacity);
                            ^~~~~~~~
src/CCEH_LSB.cpp:184:21: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto target = dir._[x];
                     ^
src/CCEH_LSB.cpp:201:17: error: request for member 'Acquire' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     while (!dir.Acquire()) {
                 ^~~~~~~
src/CCEH_LSB.cpp:205:27: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
       x = (key_hash % dir.capacity);
                           ^~~~~~~~
src/CCEH_LSB.cpp:207:15: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
       if (dir._[x]->local_depth-1 < global_depth) {  // normal split
               ^
src/CCEH_LSB.cpp:211:13: error: request for member 'LSBUpdate' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         dir.LSBUpdate(s[0]->local_depth, global_depth, dir.capacity, x, s);
             ^~~~~~~~~
src/CCEH_LSB.cpp:211:60: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         dir.LSBUpdate(s[0]->local_depth, global_depth, dir.capacity, x, s);
                                                            ^~~~~~~~
src/CCEH_LSB.cpp:213:22: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         auto d = dir._;
                      ^
src/CCEH_LSB.cpp:214:38: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         auto _dir = new Segment*[dir.capacity*2];
                                      ^~~~~~~~
src/CCEH_LSB.cpp:215:46: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         memcpy(_dir, d, sizeof(Segment*)*dir.capacity);
                                              ^~~~~~~~
src/CCEH_LSB.cpp:216:25: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         memcpy(_dir+dir.capacity, d, sizeof(Segment*)*dir.capacity);
                         ^~~~~~~~
src/CCEH_LSB.cpp:216:59: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         memcpy(_dir+dir.capacity, d, sizeof(Segment*)*dir.capacity);
                                                           ^~~~~~~~
src/CCEH_LSB.cpp:218:20: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         _dir[x+dir.capacity] = s[1];
                    ^~~~~~~~
src/CCEH_LSB.cpp:219:29: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         clflush((char*)&dir._[0], sizeof(Segment*)*dir.capacity);
                             ^
src/CCEH_LSB.cpp:219:56: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         clflush((char*)&dir._[0], sizeof(Segment*)*dir.capacity);
                                                        ^~~~~~~~
src/CCEH_LSB.cpp:220:13: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         dir._ = _dir;
             ^
src/CCEH_LSB.cpp:221:29: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         clflush((char*)&dir._, sizeof(void*));
                             ^
src/CCEH_LSB.cpp:222:13: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         dir.capacity *= 2;
             ^~~~~~~~
src/CCEH_LSB.cpp:223:29: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         clflush((char*)&dir.capacity, sizeof(size_t));
                             ^~~~~~~~
src/CCEH_LSB.cpp:226:16: error: type '<type error>' argument given to 'delete', expected pointer
         delete d;
                ^
src/CCEH_LSB.cpp:233:17: error: request for member 'Release' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     while (!dir.Release()) {
                 ^~~~~~~
src/CCEH_LSB.cpp:241:25: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     clflush((char*)&dir._[x]->_[y], 64);
                         ^
src/CCEH_LSB.cpp: In member function 'virtual bool CCEH::InsertOnly(Key_t&, Value_t)':
src/CCEH_LSB.cpp:248:28: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto x = (key_hash % dir.capacity);
                            ^~~~~~~~
src/CCEH_LSB.cpp:251:18: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto ret = dir._[x]->Insert(key, value, y, key_hash);
                  ^
src/CCEH_LSB.cpp:253:25: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     clflush((char*)&dir._[x]->_[y], 64);
                         ^
src/CCEH_LSB.cpp: In member function 'virtual const char* CCEH::Get(Key_t&)':
src/CCEH_LSB.cpp:267:27: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   const size_t mask = dir.capacity-1;
                           ^~~~~~~~
src/CCEH_LSB.cpp:271:19: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto dir_ = dir._[x];
                   ^
src/CCEH_LSB.cpp:274:19: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto sema = dir._[x]->sema;
                   ^
In file included from ./src/CCEH.h:8:0,
                 from src/CCEH_LSB.cpp:9:
src/CCEH_LSB.cpp:275:20: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   while (!CAS(&dir._[x]->sema, &sema, sema+1)) {
                    ^
./src/hash.h:4:56: note: in definition of macro 'CAS'
 #define CAS(_p, _u, _v)  (__atomic_compare_exchange_n (_p, _u, _v, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE))
                                                        ^~
src/CCEH_LSB.cpp:276:16: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     sema = dir._[x]->sema;
                ^
src/CCEH_LSB.cpp:284:18: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
       sema = dir._[x]->sema;
                  ^
In file included from ./src/CCEH.h:8:0,
                 from src/CCEH_LSB.cpp:9:
src/CCEH_LSB.cpp:285:24: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
       while (!CAS(&dir._[x]->sema, &sema, sema-1)) {
                        ^
./src/hash.h:4:56: note: in definition of macro 'CAS'
 #define CAS(_p, _u, _v)  (__atomic_compare_exchange_n (_p, _u, _v, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE))
                                                        ^~
src/CCEH_LSB.cpp:286:20: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         sema = dir._[x]->sema;
                    ^
src/CCEH_LSB.cpp:294:14: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   sema = dir._[x]->sema;
              ^
In file included from ./src/CCEH.h:8:0,
                 from src/CCEH_LSB.cpp:9:
src/CCEH_LSB.cpp:295:20: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   while (!CAS(&dir._[x]->sema, &sema, sema-1)) {
                    ^
./src/hash.h:4:56: note: in definition of macro 'CAS'
 #define CAS(_p, _u, _v)  (__atomic_compare_exchange_n (_p, _u, _v, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE))
                                                        ^~
src/CCEH_LSB.cpp:296:16: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     sema = dir._[x]->sema;
                ^
src/CCEH_LSB.cpp: In member function 'virtual double CCEH::Utilization()':
src/CCEH_LSB.cpp:305:30: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (size_t i = 0; i < dir.capacity; ++i) {
                              ^~~~~~~~
src/CCEH_LSB.cpp:306:13: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     set[dir._[i]] = true;
             ^
src/CCEH_LSB.cpp: In member function 'virtual size_t CCEH::Capacity()':
src/CCEH_LSB.cpp:318:30: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (size_t i = 0; i < dir.capacity; ++i) {
                              ^~~~~~~~
src/CCEH_LSB.cpp:319:13: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     set[dir._[i]] = true;
             ^
src/CCEH_LSB.cpp: In member function 'const char* CCEH::FindAnyway(Key_t&)':
src/CCEH_LSB.cpp:341:30: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (size_t i = 0; i < dir.capacity; ++i) {
                              ^~~~~~~~
src/CCEH_LSB.cpp:343:16: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
        if (dir._[i]->_[j].key == key) {
                ^
src/CCEH_LSB.cpp:348:21: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
          return dir._[i]->_[j].value;
                     ^
In file included from src/CCEH_LSB.cpp:9:0:
./src/CCEH.h: In static member function 'static void* Segment::operator new(size_t)':
./src/CCEH.h:33:19: warning: ignoring return value of 'int posix_memalign(void**, size_t, size_t)', declared with attribute warn_unused_result [-Wunused-result]
     posix_memalign(&ret, 64, size);
     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
Makefile:13: recipe for target 'CCEH_LSB' failed
make: *** [CCEH_LSB] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions