Skip to content

Commit ffc9bbd

Browse files
authored
CPP-692 - Fix C++98 compiler issues (#428)
1 parent dfb7495 commit ffc9bbd

9 files changed

Lines changed: 52 additions & 36 deletions

gtests/src/unit/mockssandra.hpp

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ class ServerConnection : public RefCounted<ServerConnection> {
208208
STATE_CLOSING,
209209
STATE_ERROR,
210210
STATE_PENDING,
211-
STATE_LISTENING,
211+
STATE_LISTENING
212212
};
213213

214214
Tcp tcp_;
@@ -254,7 +254,7 @@ enum {
254254
QUERY_FLAG_SERIAL_CONSISTENCY = 0x10,
255255
QUERY_FLAG_TIMESTAMP = 0x20,
256256
QUERY_FLAG_NAMES_FOR_VALUES = 0x40,
257-
QUERY_FLAG_KEYSPACE = 0x80,
257+
QUERY_FLAG_KEYSPACE = 0x80
258258
};
259259

260260
enum {
@@ -362,11 +362,16 @@ class Type {
362362
void encode(int protocol_version, String* output) const;
363363

364364
private:
365+
Type()
366+
: type_(-1) { }
367+
365368
Type(int type)
366369
: type_(type) { }
367370

371+
friend class Vector<Type>;
372+
368373
private:
369-
const int type_;
374+
int type_;
370375
String custom_;
371376
Vector<String> names_;
372377
Vector<Type> types_;
@@ -518,7 +523,7 @@ class Row {
518523
: values_(values) { }
519524

520525
private:
521-
const Vector<Value> values_;
526+
Vector<Value> values_;
522527
};
523528

524529
class ResultSet {
@@ -575,6 +580,7 @@ struct Exception : public std::exception {
575580
Exception(int code, const String& message)
576581
: code(code)
577582
, message(message) { }
583+
virtual ~Exception() throw() { }
578584
const int code;
579585
const String message;
580586
};
@@ -1067,7 +1073,7 @@ class TopologyChangeEvent : public Event {
10671073
enum Type {
10681074
NEW_NODE,
10691075
MOVED_NODE,
1070-
REMOVED_NODE,
1076+
REMOVED_NODE
10711077
};
10721078

10731079
TopologyChangeEvent(Type type, const Address& address)
@@ -1153,12 +1159,21 @@ class Cluster {
11531159
: host(host)
11541160
, connection(connection)
11551161
, is_removed(false) { }
1162+
11561163
Server(const Server& server)
11571164
: host(server.host)
11581165
, connection(server.connection)
11591166
, is_removed(server.is_removed.load()) { }
1160-
const Host host;
1161-
const internal::ServerConnection::Ptr connection;
1167+
1168+
Server& operator=(const Server& server) {
1169+
host = server.host;
1170+
connection = server.connection;
1171+
is_removed.store(server.is_removed.load());
1172+
return *this;
1173+
}
1174+
1175+
Host host;
1176+
internal::ServerConnection::Ptr connection;
11621177
cass::Atomic<bool> is_removed;
11631178
};
11641179

gtests/src/unit/tests/test_cluster.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,13 @@ class ClusterUnitTest : public EventLoopTest {
136136
struct Event {
137137
enum Type {
138138
NODE_ADD,
139-
NODE_REMOVE,
139+
NODE_REMOVE
140140
};
141141
Event(Type type, const Address& address)
142142
: type(type)
143143
, address(address) { }
144-
const Type type;
145-
const Address address;
144+
Type type;
145+
Address address;
146146
};
147147
typedef Vector<Event> Events;
148148

gtests/src/unit/tests/test_control_connection.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ class ControlConnectionUnitTest : public LoopTest {
200200
const String& target_name) {
201201
RecordingControlConnectionListener::on_update_schema(type, result,
202202
keyspace_name, target_name);
203-
if (type == SchemaType::COLUMN || type == SchemaType::INDEX) return;
203+
if (type == COLUMN || type == INDEX) return;
204204
if (--remaining_ <= 0) connection_->close();
205205
}
206206

gtests/src/unit/tests/test_copy_on_write.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include "vector.hpp"
2424

2525
TEST(CopyOnWriteUnitTest, Simple) {
26-
cass::Vector<int>* ptr = cass::Memory::allocate<cass::Vector<int>>();
26+
cass::Vector<int>* ptr = cass::Memory::allocate<cass::Vector<int> >();
2727
cass::CopyOnWritePtr<cass::Vector<int> > vec(ptr);
2828

2929
// Only a single reference so no copy should be made

gtests/src/unit/tests/test_future.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,24 +41,24 @@ void start_timer(void* arg) {
4141
}
4242

4343
TEST(FutureUnitTest, Types) {
44-
cass::Future generic(cass::Future::Type::FUTURE_TYPE_GENERIC);
45-
cass::Future session(cass::Future::Type::FUTURE_TYPE_SESSION);
46-
cass::Future response(cass::Future::Type::FUTURE_TYPE_RESPONSE);
44+
cass::Future generic(cass::Future::FUTURE_TYPE_GENERIC);
45+
cass::Future session(cass::Future::FUTURE_TYPE_SESSION);
46+
cass::Future response(cass::Future::FUTURE_TYPE_RESPONSE);
4747

48-
ASSERT_EQ(cass::Future::Type::FUTURE_TYPE_GENERIC, generic.type());
49-
ASSERT_EQ(cass::Future::Type::FUTURE_TYPE_SESSION, session.type());
50-
ASSERT_EQ(cass::Future::Type::FUTURE_TYPE_RESPONSE, response.type());
48+
ASSERT_EQ(cass::Future::FUTURE_TYPE_GENERIC, generic.type());
49+
ASSERT_EQ(cass::Future::FUTURE_TYPE_SESSION, session.type());
50+
ASSERT_EQ(cass::Future::FUTURE_TYPE_RESPONSE, response.type());
5151
}
5252

5353
TEST(FutureUnitTest, Ready) {
54-
cass::Future future(cass::Future::Type::FUTURE_TYPE_GENERIC);
54+
cass::Future future(cass::Future::FUTURE_TYPE_GENERIC);
5555
ASSERT_FALSE(future.ready());
5656
future.set();
5757
ASSERT_TRUE(future.ready());
5858
}
5959

6060
TEST(FutureUnitTest, Wait) {
61-
cass::Future future(cass::Future::Type::FUTURE_TYPE_GENERIC);
61+
cass::Future future(cass::Future::FUTURE_TYPE_GENERIC);
6262
uv_thread_t thread;
6363
ASSERT_EQ(0, uv_thread_create(&thread, start_timer, &future));
6464

@@ -69,7 +69,7 @@ TEST(FutureUnitTest, Wait) {
6969
}
7070

7171
TEST(FutureUnitTest, WaitFor) {
72-
cass::Future future(cass::Future::Type::FUTURE_TYPE_GENERIC);
72+
cass::Future future(cass::Future::FUTURE_TYPE_GENERIC);
7373
uv_thread_t thread;
7474
ASSERT_EQ(0, uv_thread_create(&thread, start_timer, &future));
7575

@@ -85,7 +85,7 @@ TEST(FutureUnitTest, WaitFor) {
8585
}
8686

8787
TEST(FutureUnitTest, Error) {
88-
cass::Future future(cass::Future::Type::FUTURE_TYPE_GENERIC);
88+
cass::Future future(cass::Future::FUTURE_TYPE_GENERIC);
8989
future.set_error(CASS_ERROR_LIB_BAD_PARAMS, "FutureUnitTest error message");
9090
ASSERT_TRUE(future.ready());
9191
ASSERT_TRUE(future.error());
@@ -95,7 +95,7 @@ TEST(FutureUnitTest, Error) {
9595

9696
TEST(FutureUnitTest, Callback) {
9797
bool is_future_callback_called = false;
98-
cass::Future future(cass::Future::Type::FUTURE_TYPE_GENERIC);
98+
cass::Future future(cass::Future::FUTURE_TYPE_GENERIC);
9999
ASSERT_TRUE(future.set_callback(&on_future_callback, &is_future_callback_called));
100100

101101
ASSERT_FALSE(is_future_callback_called);
@@ -105,14 +105,14 @@ TEST(FutureUnitTest, Callback) {
105105
}
106106

107107
TEST(FutureUnitTest, CallbackAlreadyAssigned) {
108-
cass::Future future(cass::Future::Type::FUTURE_TYPE_GENERIC);
108+
cass::Future future(cass::Future::FUTURE_TYPE_GENERIC);
109109
ASSERT_TRUE(future.set_callback(&on_future_callback, NULL));
110110
ASSERT_FALSE(future.set_callback(&on_future_callback, NULL));
111111
}
112112

113113
TEST(FutureUnitTest, CallbackAfterFutureIsSet) {
114114
bool is_future_callback_called = false;
115-
cass::Future future(cass::Future::Type::FUTURE_TYPE_GENERIC);
115+
cass::Future future(cass::Future::FUTURE_TYPE_GENERIC);
116116

117117
ASSERT_FALSE(is_future_callback_called);
118118
future.set();

gtests/src/unit/tests/test_pool.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,11 @@ class PoolUnitTest : public LoopTest {
7676
, public Status<RequestState::Enum> {
7777
public:
7878
RequestStatus(uv_loop_t* loop, int num_nodes = NUM_NODES)
79-
: Status()
80-
, loop_(loop)
79+
: loop_(loop)
8180
, remaining_(num_nodes) { }
8281

8382
virtual void set(RequestState::Enum state) {
84-
Status::set(state);
83+
Status<RequestStatus::Enum>::set(state);
8584
if (--remaining_ == 0) uv_stop(loop_);
8685
}
8786

@@ -176,7 +175,7 @@ class PoolUnitTest : public LoopTest {
176175

177176
private:
178177
virtual void set(ListenerState::Enum state) {
179-
Status::set(state);
178+
Status<ListenerState::Enum>::set(state);
180179
if (--remaining_ == 0) uv_stop(loop_);
181180
}
182181

gtests/src/unit/tests/test_request_processor.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,15 +171,15 @@ class RequestProcessorUnitTest : public EventLoopTest {
171171
future->set_processor(initializer->release_processor());
172172
} else {
173173
switch (initializer->error_code()) {
174-
case RequestProcessorInitializer::RequestProcessorError::REQUEST_PROCESSOR_ERROR_KEYSPACE:
174+
case RequestProcessorInitializer::REQUEST_PROCESSOR_ERROR_KEYSPACE:
175175
future->set_error(CASS_ERROR_LIB_UNABLE_TO_SET_KEYSPACE,
176176
initializer->error_message());
177177
break;
178-
case RequestProcessorInitializer::RequestProcessorError::REQUEST_PROCESSOR_ERROR_NO_HOSTS_AVAILABLE:
178+
case RequestProcessorInitializer::REQUEST_PROCESSOR_ERROR_NO_HOSTS_AVAILABLE:
179179
future->set_error(CASS_ERROR_LIB_NO_HOSTS_AVAILABLE,
180180
"Unable to connect to any contact points");
181181
break;
182-
case RequestProcessorInitializer::RequestProcessorError::REQUEST_PROCESSOR_ERROR_UNABLE_TO_INIT:
182+
case RequestProcessorInitializer::REQUEST_PROCESSOR_ERROR_UNABLE_TO_INIT:
183183
future->set_error(CASS_ERROR_LIB_UNABLE_TO_INIT,
184184
initializer->error_message());
185185
break;

gtests/src/unit/unit.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class Unit : public testing::Test {
4646
START_NODE,
4747
STOP_NODE,
4848
ADD_NODE,
49-
REMOVE_NODE,
49+
REMOVE_NODE
5050
};
5151

5252
/**

src/event_loop.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,12 @@ void EventLoop::on_check(Check *check) {
185185
}
186186

187187
void EventLoop::on_task(Async* async) {
188-
Task* task;
188+
Task* task = NULL;
189189
while (tasks_.dequeue(task)) {
190-
task->run(this);
191-
Memory::deallocate(task);
190+
if (task) {
191+
task->run(this);
192+
Memory::deallocate(task);
193+
}
192194
}
193195

194196
if (is_closing_.load() && tasks_.is_empty()) {

0 commit comments

Comments
 (0)