-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Subject: Porting Envoy to C++17 #11570
Conversation
@stedsome I see you have this as draft. Let me know when you are ready for a review /wait |
Thanks. It is currently blocked on fixing windows CI. |
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to |
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Without a chance to review the specific submission, appreciate your efforts! Are you familiar with PR #9654? This subject interests @sunjayBhatia and I, and @lizan as well, so it would be great to make progress and perhaps coordinate some resources to accomplishing this rev 17 bump. |
Yes, this is something I am aware of and prior to starting this, we have
talked with lizan and asked for his permission to pick up the work.
…On Fri, Jun 26, 2020 at 4:39 PM William A. Rowe Jr. < ***@***.***> wrote:
Without a chance to review the specific submission, appreciate your
efforts! Are you familiar with PR #9654
<#9654>? This subject interests
@sunjayBhatia <https://github.com/sunjayBhatia> and I, and @lizan
<https://github.com/lizan> as well, so it would be great to make progress
and perhaps coordinate some resources to accomplishing this rev 17 bump.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#11570 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHAYQQRTYN3CVRERTNHGJSDRYUBQVANCNFSM4N4MQHJQ>
.
|
Signed-off-by: Yifan Yang <needyyang@google.com>
.bazelrc
Outdated
@@ -19,6 +19,7 @@ build --action_env=BAZEL_LINKOPTS=-lm | |||
build --host_javabase=@bazel_tools//tools/jdk:remote_jdk11 | |||
build --javabase=@bazel_tools//tools/jdk:remote_jdk11 | |||
build --enable_platform_specific_config | |||
build --cxxopt=-std=c++17 |
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.
build:linux?
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.
Yes
@@ -14,7 +14,7 @@ def envoy_copts(repository, test = False): | |||
"-Wformat", | |||
"-Wformat-security", | |||
"-Wvla", | |||
"-std=c++14", | |||
"-std=c++17", |
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.
I think we can just remove this line if .bazelrc
specify it.
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.
.bazelrc is specifying cxxopt's and not copt's?
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.
This is got rid of. But -std=c++17 is something not applicable to C, so it is in cxxopt rather than copt
bazel/envoy_internal.bzl
Outdated
@@ -25,7 +25,7 @@ def envoy_copts(repository, test = False): | |||
msvc_options = [ | |||
"-WX", | |||
"-Zc:__cplusplus", | |||
"-std:c++14", | |||
"-std:c++17", |
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.
ditto
"statusor.h", | ||
"statusor_internals.h", | ||
], | ||
- copts = ["-std=c++14"], |
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.
same here.
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.
Need to verify that .bazelrc cxxopts propagate to cell-cpp dependency. But eliminating the duplicates would be fantastic.
We expect to also pick up c++17, the msvc / clang-cl syntax is just slightly different, as illustrated in bazel/envoy_internal.bzl
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.
Unfortunately the flag doesn't propagate to cel-cpp dependency.
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
…the windows and macOS build Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
…_iter Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
This reverts commit 711507a. Signed-off-by: Yifan Yang <needyyang@google.com>
This is the PR that does the setup work needed to fix some incompatiblity issue with the current codebase and C++17. This is a part of the draft PR #11570 that intends to port Envoy to C++17, sans all the changes to build configurations. Signed-off-by: Yifan Yang needyyang@google.com
Signed-off-by: Yifan Yang <needyyang@google.com> Signed-off-by: Kevin Baichoo <kbaichoo@google.com>
This is the PR that does the setup work needed to fix some incompatiblity issue with the current codebase and C++17. This is a part of the draft PR envoyproxy#11570 that intends to port Envoy to C++17, sans all the changes to build configurations. Signed-off-by: Yifan Yang needyyang@google.com Signed-off-by: scheler <santosh.cheler@appdynamics.com>
Signed-off-by: Yifan Yang <needyyang@google.com> Signed-off-by: scheler <santosh.cheler@appdynamics.com>
Signed-off-by: Yifan Yang needyyang@google.com
For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Commit Message: This is to continue the process of porting Envoy to C++17. It aims to set the foundation for the improved readability when Envoy codebase can start to utilize a various of features of C++17.
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]