mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-04 13:10:15 +00:00
Merge
This commit is contained in:
commit
48432daecc
@ -1586,12 +1586,13 @@ class ThreadLocal {
|
||||
GTEST_API_ size_t GetThreadCount();
|
||||
|
||||
// Passing non-POD classes through ellipsis (...) crashes the ARM
|
||||
// compiler and generates a warning in Sun Studio. The Nokia Symbian
|
||||
// compiler and generates a warning in Sun Studio before 12u4. The Nokia Symbian
|
||||
// and the IBM XL C/C++ compiler try to instantiate a copy constructor
|
||||
// for objects passed through ellipsis (...), failing for uncopyable
|
||||
// objects. We define this to ensure that only POD is passed through
|
||||
// ellipsis on these systems.
|
||||
#if defined(__SYMBIAN32__) || defined(__IBMCPP__) || defined(__SUNPRO_CC)
|
||||
#if defined(__SYMBIAN32__) || defined(__IBMCPP__) || \
|
||||
(defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5130)
|
||||
// We lose support for NULL detection where the compiler doesn't like
|
||||
// passing non-POD classes through ellipsis (...).
|
||||
# define GTEST_ELLIPSIS_NEEDS_POD_ 1
|
||||
|
||||
@ -28,6 +28,9 @@ import java.util.regex.Pattern;
|
||||
public class Platform {
|
||||
public static final String vmName = System.getProperty("java.vm.name");
|
||||
public static final String vmInfo = System.getProperty("java.vm.info");
|
||||
private static final String osVersion = System.getProperty("os.version");
|
||||
private static int osVersionMajor = -1;
|
||||
private static int osVersionMinor = -1;
|
||||
private static final String osName = System.getProperty("os.name");
|
||||
private static final String dataModel = System.getProperty("sun.arch.data.model");
|
||||
private static final String vmVersion = System.getProperty("java.vm.version");
|
||||
@ -112,6 +115,35 @@ public class Platform {
|
||||
return osName;
|
||||
}
|
||||
|
||||
// Os version support.
|
||||
private static void init_version() {
|
||||
try {
|
||||
final String[] tokens = osVersion.split("\\.");
|
||||
if (tokens.length > 0) {
|
||||
osVersionMajor = Integer.parseInt(tokens[0]);
|
||||
if (tokens.length > 1) {
|
||||
osVersionMinor = Integer.parseInt(tokens[1]);
|
||||
}
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
osVersionMajor = osVersionMinor = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Returns major version number from os.version system property.
|
||||
// E.g. 5 on Solaris 10 and 3 on SLES 11.3 (for the linux kernel version).
|
||||
public static int getOsVersionMajor() {
|
||||
if (osVersionMajor == -1) init_version();
|
||||
return osVersionMajor;
|
||||
}
|
||||
|
||||
// Returns minor version number from os.version system property.
|
||||
// E.g. 10 on Solaris 10 and 0 on SLES 11.3 (for the linux kernel version).
|
||||
public static int getOsVersionMinor() {
|
||||
if (osVersionMinor == -1) init_version();
|
||||
return osVersionMinor;
|
||||
}
|
||||
|
||||
public static boolean isDebugBuild() {
|
||||
return (jdkDebug.toLowerCase().contains("debug"));
|
||||
}
|
||||
|
||||
@ -28,14 +28,22 @@ import java.util.function.BooleanSupplier;
|
||||
public class AndPredicate implements BooleanSupplier {
|
||||
private final BooleanSupplier a;
|
||||
private final BooleanSupplier b;
|
||||
private final BooleanSupplier c;
|
||||
|
||||
public AndPredicate(BooleanSupplier a, BooleanSupplier b) {
|
||||
this.a = a;
|
||||
this.b = b;
|
||||
this.c = () -> true; // Boolean.TRUE::booleanValue
|
||||
}
|
||||
|
||||
public AndPredicate(BooleanSupplier a, BooleanSupplier b, BooleanSupplier c) {
|
||||
this.a = a;
|
||||
this.b = b;
|
||||
this.c = c;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getAsBoolean() {
|
||||
return a.getAsBoolean() && b.getAsBoolean();
|
||||
return a.getAsBoolean() && b.getAsBoolean() && c.getAsBoolean();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user