GCC 4.9 does not support some corner cases of C++11 syntax. In this case
when it is presented with default nulptr initialization of function
pointers it gets confused with 'pure virtual' initialization:
error: invalid pure specifier (only '= 0' is allowed) before ';' token
{
MEMPROXY_CLASS(squidaio_ctrl_t);
public:
+ squidaio_ctrl_t() : done_handler(NULL), free_func(NULL) {}
+
squidaio_ctrl_t *next = nullptr;
int fd = 0;
int operation = 0;
- AIOCB *done_handler = nullptr;
+ AIOCB *done_handler;
void *done_handler_data = nullptr;
squidaio_result_t result;
int len = 0;
char *bufp = nullptr;
- FREE *free_func = nullptr;
+ FREE *free_func;
dlink_node node;
};