-
Notifications
You must be signed in to change notification settings - Fork 10.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make C++ compile and run under gcc-4.4 #6863
Conversation
Remove range-based fors
Do not make explicit comparisons against nullptr; only use implicit typecast to bool
Dealing with this has raised another issue, documented in #6866 |
Fixes #6866 |
Remaining issue: build projects still has all the C++ boringssl tests included. We need to remove this for this case since we are bypassing boringssl for gcc-4.4 |
Yeah, about that. clang-format dockerfile is currently broken because it depends on http://llvm.org/apt , which is temporarily down . |
I'd offer to send you a PR against this, but I rebooted my machine: someone On Fri, Jun 10, 2016 at 4:24 PM Vijay Pai notifications@github.com wrote:
|
The remaining issue here is that the C++ tests pull in the boringssl tests even if we're not (and can't) use boringssl. Any ideas how to deactivate those? |
Working on providing a mechanism to disable the tests we don't want. |
Fixes #6861 |
Current status: need to separate out boringssl test libs from privatelibs_cxx in Makefile which is one of the dependences for building C++ tests . Will require changes to makefile generation or templates. |
Now we've got a protobuf issue. Need to see how g++4.4 handles friend templates as that seems to be the problem |
a map to 2 vectors. Additional minor changes needed (e.g., override->GRPC_OVERRIDE, nullptr->grpc::nullptr)
My PR to protobuf (protocolbuffers/protobuf#1692) was merged, so this should build just fine if we pull down the newest protobuf. @nicolasnoble - would appreciate any advice on packaging, etc. implications. |
heh, it seems you are going to have to fight clang-format on this one...
|
Just drop the initial paamayim nekudotayim; it's cleaner. Dropping the reference from global namespace and starting with grpc. Made other change requested by clang-format as well. |
Our third_party/protobuf has been bumped to the version with gcc4.4 fixes: #6952 |
@@ -56,7 +56,7 @@ class ProtoServerReflectionPlugin : public ::grpc::ServerBuilderPlugin { | |||
bool has_sync_methods() const GRPC_OVERRIDE; | |||
|
|||
private: | |||
std::shared_ptr<::grpc::ProtoServerReflection> reflection_service_; | |||
std::shared_ptr< ::grpc::ProtoServerReflection> reflection_service_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
very interesting that clang-format doesn't undo this change... would we still want to s/ ::grpc/grpc/?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably for consistency, as they've been removed from the other places as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
LGTM, just one nit comment regarding s/ ::grpc/grpc/ |
Confirming that all tests pass when running gcc4.4 manually through docker |
Fixes #1928
Basic concepts are as follows
A separate PR adds relevant documentation for C++ development information (#6865)