You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
make CCEH_MSB works. But not LSB. The issue is caused by inconsistent definition and initialization of dir in class CCEH. In CCEH.h and MSB.cpp, dir is defined as Directory* dir. While in CCEH_MSB.cpp, dir is supposed to be defined as Directory dir.
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
The text was updated successfully, but these errors were encountered: