Merge "Move tee(1) to toybox."
diff --git a/android/config.go b/android/config.go
index abb07ce..54c9da8 100644
--- a/android/config.go
+++ b/android/config.go
@@ -581,6 +581,10 @@
 	return Bool(c.productVariables.Debuggable)
 }
 
+func (c *config) Eng() bool {
+	return Bool(c.productVariables.Eng)
+}
+
 func (c *config) DevicePrefer32BitApps() bool {
 	return Bool(c.productVariables.DevicePrefer32BitApps)
 }
diff --git a/cc/config/clang.go b/cc/config/clang.go
index 89e567d..0f22034 100644
--- a/cc/config/clang.go
+++ b/cc/config/clang.go
@@ -185,6 +185,9 @@
 		"-Wno-c++98-compat-extra-semi",
 
 		// Disable this warning until we can fix all instances where it fails.
+		"-Wno-self-assign-overloaded",
+
+		// Disable this warning until we can fix all instances where it fails.
 		"-Wno-constant-logical-operand",
 
 		// Disable this warning because we don't care about behavior with older compilers.
diff --git a/cc/config/global.go b/cc/config/global.go
index 8fd5914..ef9ac80 100644
--- a/cc/config/global.go
+++ b/cc/config/global.go
@@ -114,7 +114,7 @@
 	}
 
 	CStdVersion               = "gnu99"
-	CppStdVersion             = "gnu++14"
+	CppStdVersion             = "gnu++17"
 	ExperimentalCStdVersion   = "gnu11"
 	ExperimentalCppStdVersion = "gnu++2a"
 
diff --git a/cc/stl.go b/cc/stl.go
index 9dc8107..4870870 100644
--- a/cc/stl.go
+++ b/cc/stl.go
@@ -251,7 +251,7 @@
 		android.Linux:  []string{"-lgcc_s", "-lgcc", "-lc", "-lgcc_s", "-lgcc"},
 		android.Darwin: []string{"-lc", "-lSystem"},
 		android.Windows: []string{"-Wl,--start-group", "-lmingw32", "-lgcc", "-lgcc_eh",
-			"-lmoldname", "-lmingwex", "-lmsvcr110", "-lmsvcrt", "-lpthread",
+			"-lmoldname", "-lmingwex", "-lmsvcrt", "-lucrt", "-lpthread",
 			"-ladvapi32", "-lshell32", "-luser32", "-lkernel32", "-lpsapi",
 			"-Wl,--end-group"},
 	}
diff --git a/java/dex.go b/java/dex.go
index 5cec325..a6d486a 100644
--- a/java/dex.go
+++ b/java/dex.go
@@ -160,6 +160,11 @@
 	// TODO(ccross): if this is an instrumentation test of an obfuscated app, use the
 	// dictionary of the app and move the app from libraryjars to injars.
 
+	// Don't strip out debug information for eng builds.
+	if ctx.Config().Eng() {
+		r8Flags = append(r8Flags, "--debug")
+	}
+
 	return r8Flags, r8Deps
 }