nanomsg/nanomsg — pull request #350 by tatsujin1 (2014-12-16 09:43:35+00:00)
Title: tweaks for build snags in HP-UX (aCC)

It's mostly (hopefully) harmless casts and missing (unreachable) returns.

But, in `protocols/pubsub/trie.c`, `nn_node_child()` and bottom of `nn_node_dump()`, there's an alignment problem that I guess could be very bad:
```
"src/protocols/pubsub/trie.c", line 115: warning #4232-D: conversion from
"struct nn_trie_node *" to a more strictly aligned type
"struct nn_trie_node **" may cause misaligned access
nn_node_dump (((struct nn_trie_node**) (self + 1)) [i], indent + 1);
^
"src/protocols/pubsub/trie.c", line 176: warning #4232-D: conversion from
"struct nn_trie_node *" to a more strictly aligned type
"struct nn_trie_node **" may cause misaligned access
return ((struct nn_trie_node**) (self + 1)) + index;
^
```
As I'm not sure how to fix this, I inserted a `(void *)` cast which shut the warning up, but the problem still exists, of course.

Also, the test cases `ipc_shutdown` and `tcp_shutdown` fail with "Broken pipe" signal.
If I understand the test code correctly this is kind of its purpose, i.e. sending on a socket that's shutting down?
Is it just a question of capturing the signal so the test doesn't fail, perchance? Any idea how I might go about that?