diff --git a/hal/include/HAL/handles/DigitalHandleResource.h b/hal/include/HAL/handles/DigitalHandleResource.h index 7cc70bc573..49d2469396 100644 --- a/hal/include/HAL/handles/DigitalHandleResource.h +++ b/hal/include/HAL/handles/DigitalHandleResource.h @@ -71,7 +71,7 @@ THandle DigitalHandleResource::Allocate( return HAL_kInvalidHandle; } m_structures[index] = std::make_shared(); - return (THandle)hal::createHandle(index, enumValue); + return static_cast(hal::createHandle(index, enumValue)); } template diff --git a/hal/include/HAL/handles/HandlesInternal.h b/hal/include/HAL/handles/HandlesInternal.h index ec95c9dbf8..11618b102f 100644 --- a/hal/include/HAL/handles/HandlesInternal.h +++ b/hal/include/HAL/handles/HandlesInternal.h @@ -51,7 +51,7 @@ static inline int16_t getHandleIndex(HAL_Handle handle) { } static inline HAL_HandleEnum getHandleType(HAL_Handle handle) { // mask first 8 bits and cast to enum - return (HAL_HandleEnum)((handle >> 24) & 0xff); + return static_cast((handle >> 24) & 0xff); } static inline bool isHandleType(HAL_Handle handle, HAL_HandleEnum handleType) { return handleType == getHandleType(handle); diff --git a/hal/include/HAL/handles/IndexedHandleResource.h b/hal/include/HAL/handles/IndexedHandleResource.h index 29a7061b01..341dc8422c 100644 --- a/hal/include/HAL/handles/IndexedHandleResource.h +++ b/hal/include/HAL/handles/IndexedHandleResource.h @@ -75,7 +75,7 @@ THandle IndexedHandleResource::Allocate( return HAL_kInvalidHandle; } m_structures[index] = std::make_shared(); - return (THandle)hal::createHandle(index, enumValue); + return static_cast(hal::createHandle(index, enumValue)); } template ::Allocate( // and allocate it. std::lock_guard sync(m_handleMutexes[i]); m_structures[i] = toSet; - return (THandle)createHandle(i, enumValue); + return static_cast(createHandle(i, enumValue)); } } return HAL_kInvalidHandle; diff --git a/hal/include/HAL/handles/LimitedHandleResource.h b/hal/include/HAL/handles/LimitedHandleResource.h index 44a468be2a..c8d9f46ac0 100644 --- a/hal/include/HAL/handles/LimitedHandleResource.h +++ b/hal/include/HAL/handles/LimitedHandleResource.h @@ -69,7 +69,7 @@ THandle LimitedHandleResource::Allocate() { // and allocate it. std::lock_guard sync(m_handleMutexes[i]); m_structures[i] = std::make_shared(); - return (THandle)createHandle(i, enumValue); + return static_cast(createHandle(i, enumValue)); } } return HAL_kInvalidHandle; diff --git a/hal/include/HAL/handles/UnlimitedHandleResource.h b/hal/include/HAL/handles/UnlimitedHandleResource.h index a765a89c5a..e1d5c13e8c 100644 --- a/hal/include/HAL/handles/UnlimitedHandleResource.h +++ b/hal/include/HAL/handles/UnlimitedHandleResource.h @@ -57,13 +57,13 @@ THandle UnlimitedHandleResource::Allocate( for (i = 0; i < m_structures.size(); i++) { if (m_structures[i] == nullptr) { m_structures[i] = structure; - return (THandle)createHandle(i, enumValue); + return static_cast(createHandle(i, enumValue)); } } if (i >= INT16_MAX) return HAL_kInvalidHandle; m_structures.push_back(structure); - return (THandle)createHandle(static_cast(i), enumValue); + return static_cast(createHandle(static_cast(i), enumValue)); } template diff --git a/wpilibc/athena/src/AnalogTriggerOutput.cpp b/wpilibc/athena/src/AnalogTriggerOutput.cpp index d3d1f59af3..fa49751494 100644 --- a/wpilibc/athena/src/AnalogTriggerOutput.cpp +++ b/wpilibc/athena/src/AnalogTriggerOutput.cpp @@ -45,7 +45,8 @@ AnalogTriggerOutput::~AnalogTriggerOutput() { bool AnalogTriggerOutput::Get() const { int32_t status = 0; bool result = HAL_GetAnalogTriggerOutput( - m_trigger.m_trigger, (HAL_AnalogTriggerType)m_outputType, &status); + m_trigger.m_trigger, static_cast(m_outputType), + &status); wpi_setErrorWithContext(status, HAL_GetErrorMessage(status)); return result; } diff --git a/wpilibc/athena/src/CameraServer.cpp b/wpilibc/athena/src/CameraServer.cpp index bbafe58fb5..1377250bf8 100644 --- a/wpilibc/athena/src/CameraServer.cpp +++ b/wpilibc/athena/src/CameraServer.cpp @@ -175,7 +175,7 @@ void CameraServer::Serve() { address.sin_addr.s_addr = htonl(INADDR_ANY); address.sin_port = htons(kPort); - if (bind(sock, (struct sockaddr*)&address, sizeof(address)) == -1) + if (bind(sock, reinterpret_cast(&address), sizeof(address)) == -1) wpi_setErrnoError(); if (listen(sock, 10) == -1) wpi_setErrnoError(); @@ -183,8 +183,8 @@ void CameraServer::Serve() { while (true) { socklen_t clientAddressLen = sizeof(clientAddress); - int conn = - accept(sock, (struct sockaddr*)&clientAddress, &clientAddressLen); + int conn = accept(sock, reinterpret_cast(&clientAddress), + &clientAddressLen); if (conn == -1) { wpi_setErrnoError(); continue; diff --git a/wpilibc/athena/src/InterruptableSensorBase.cpp b/wpilibc/athena/src/InterruptableSensorBase.cpp index 22d2c2ca81..b2772d89ec 100644 --- a/wpilibc/athena/src/InterruptableSensorBase.cpp +++ b/wpilibc/athena/src/InterruptableSensorBase.cpp @@ -30,9 +30,10 @@ void InterruptableSensorBase::RequestInterrupts( if (StatusIsFatal()) return; // if allocate failed, out of interrupts int32_t status = 0; - HAL_RequestInterrupts(m_interrupt, GetPortHandleForRouting(), - (HAL_AnalogTriggerType)GetAnalogTriggerTypeForRouting(), - &status); + HAL_RequestInterrupts( + m_interrupt, GetPortHandleForRouting(), + static_cast(GetAnalogTriggerTypeForRouting()), + &status); SetUpSourceEdge(true, false); HAL_AttachInterruptHandler(m_interrupt, handler, param, &status); wpi_setErrorWithContext(status, HAL_GetErrorMessage(status)); @@ -53,9 +54,10 @@ void InterruptableSensorBase::RequestInterrupts() { if (StatusIsFatal()) return; // if allocate failed, out of interrupts int32_t status = 0; - HAL_RequestInterrupts(m_interrupt, GetPortHandleForRouting(), - (HAL_AnalogTriggerType)GetAnalogTriggerTypeForRouting(), - &status); + HAL_RequestInterrupts( + m_interrupt, GetPortHandleForRouting(), + static_cast(GetAnalogTriggerTypeForRouting()), + &status); wpi_setErrorWithContext(status, HAL_GetErrorMessage(status)); SetUpSourceEdge(true, false); } diff --git a/wpilibc/athena/src/Task.cpp b/wpilibc/athena/src/Task.cpp index 817e10b82a..84f01ec094 100644 --- a/wpilibc/athena/src/Task.cpp +++ b/wpilibc/athena/src/Task.cpp @@ -51,8 +51,8 @@ std::thread::native_handle_type Task::native_handle() { * @return true on success. */ bool Task::Verify() { - TASK id = (TASK)m_thread.native_handle(); - return HAL_VerifyTaskID(id) == OK; + auto id = m_thread.native_handle(); + return HAL_VerifyTaskID(&id) == OK; } /** diff --git a/wpilibj/src/athena/cpp/lib/DigitalGlitchFilterJNI.cpp b/wpilibj/src/athena/cpp/lib/DigitalGlitchFilterJNI.cpp index 997eda490f..92cb31b309 100644 --- a/wpilibj/src/athena/cpp/lib/DigitalGlitchFilterJNI.cpp +++ b/wpilibj/src/athena/cpp/lib/DigitalGlitchFilterJNI.cpp @@ -20,7 +20,8 @@ Java_edu_wpi_first_wpilibj_hal_DigitalGlitchFilterJNI_setFilterSelect( JNIEnv* env, jclass, jint id, jint filter_index) { int32_t status = 0; - HAL_SetFilterSelect((HAL_DigitalHandle)id, filter_index, &status); + HAL_SetFilterSelect(static_cast(id), filter_index, + &status); CheckStatus(env, status); } @@ -33,7 +34,8 @@ Java_edu_wpi_first_wpilibj_hal_DigitalGlitchFilterJNI_getFilterSelect( JNIEnv* env, jclass, jint id) { int32_t status = 0; - jint result = HAL_GetFilterSelect((HAL_DigitalHandle)id, &status); + jint result = + HAL_GetFilterSelect(static_cast(id), &status); CheckStatus(env, status); return result; } diff --git a/wpilibj/src/athena/cpp/lib/HALUtil.cpp b/wpilibj/src/athena/cpp/lib/HALUtil.cpp index e21b82c201..059f25b7af 100644 --- a/wpilibj/src/athena/cpp/lib/HALUtil.cpp +++ b/wpilibj/src/athena/cpp/lib/HALUtil.cpp @@ -67,7 +67,8 @@ static void GetStackTrace(JNIEnv *env, std::string &res, std::string &func) { // call getStackTrace jobjectArray stackTrace = - (jobjectArray)env->CallObjectMethod(throwable, getStackTraceId); + static_cast(env->CallObjectMethod(throwable, + getStackTraceId)); if (!stackTrace) return; @@ -87,7 +88,8 @@ static void GetStackTrace(JNIEnv *env, std::string &res, std::string &func) { // call to string on the object jstring stackElementString = - (jstring)env->CallObjectMethod(curStackTraceElement, toStringId); + static_cast(env->CallObjectMethod(curStackTraceElement, + toStringId)); if (!stackElementString) { env->DeleteLocalRef(stackTrace); @@ -236,8 +238,10 @@ void ThrowBoundaryException(JNIEnv *env, double value, double lower, env->GetMethodID(boundaryExCls, "", "(Ljava/lang/String;)V"); jobject msg = - env->CallStaticObjectMethod(boundaryExCls, getMessage, (jdouble)value, - (jdouble)lower, (jdouble)upper); + env->CallStaticObjectMethod(boundaryExCls, getMessage, + static_cast(value), + static_cast(lower), + static_cast(upper)); jobject ex = env->NewObject(boundaryExCls, constructor, msg); env->Throw(static_cast(ex)); } diff --git a/wpilibj/src/athena/cpp/lib/InterruptJNI.cpp b/wpilibj/src/athena/cpp/lib/InterruptJNI.cpp index eb02d4eea3..84b6afa8fc 100644 --- a/wpilibj/src/athena/cpp/lib/InterruptJNI.cpp +++ b/wpilibj/src/athena/cpp/lib/InterruptJNI.cpp @@ -81,7 +81,8 @@ void InterruptThreadJNI::Main() { args.version = JNI_VERSION_1_2; args.name = const_cast("Interrupt"); args.group = nullptr; - jint rs = jvm->AttachCurrentThreadAsDaemon((void**)&env, &args); + jint rs = jvm->AttachCurrentThreadAsDaemon(reinterpret_cast(&env), + &args); if (rs != JNI_OK) return; std::unique_lock lock(m_mutex); @@ -95,7 +96,7 @@ void InterruptThreadJNI::Main() { uint32_t mask = m_mask; jobject param = m_param; lock.unlock(); // don't hold mutex during callback execution - env->CallVoidMethod(func, mid, (jint)mask, param); + env->CallVoidMethod(func, mid, static_cast(mask), param); if (env->ExceptionCheck()) { env->ExceptionDescribe(); env->ExceptionClear(); @@ -111,7 +112,7 @@ void InterruptThreadJNI::Main() { } void interruptHandler(uint32_t mask, void* param) { - ((InterruptJNI*)param)->Notify(mask); + static_cast(param)->Notify(mask); } extern "C" { diff --git a/wpilibj/src/athena/cpp/lib/NIVisionJNI.cpp b/wpilibj/src/athena/cpp/lib/NIVisionJNI.cpp index fc3d2e6171..68e7747c30 100644 --- a/wpilibj/src/athena/cpp/lib/NIVisionJNI.cpp +++ b/wpilibj/src/athena/cpp/lib/NIVisionJNI.cpp @@ -17,7 +17,7 @@ static void throwJavaException(JNIEnv *env) { jclass je = env->FindClass("com/ni/vision/VisionException"); int err = imaqGetLastError(); const char* err_text = getErrorText(err); - char* full_err_msg = (char*)malloc(30+strlen(err_text)); + char* full_err_msg = static_cast(malloc(30+strlen(err_text))); sprintf(full_err_msg, "imaqError: %d: %s", err, err_text); env->ThrowNew(je, full_err_msg); free(full_err_msg); @@ -27,7 +27,7 @@ static void throwJavaException(JNIEnv *env) { static void dxthrowJavaException(JNIEnv *env, IMAQdxError err) { jclass je = env->FindClass("com/ni/vision/VisionException"); const char* err_text = getErrorText(err); - char* full_err_msg = (char*)malloc(30+strlen(err_text)); + char* full_err_msg = static_cast(malloc(30+strlen(err_text))); sprintf(full_err_msg, "IMAQdxError: %d: %s", err, err_text); env->ThrowNew(je, full_err_msg); free(full_err_msg); diff --git a/wpilibj/src/athena/cpp/lib/NotifierJNI.cpp b/wpilibj/src/athena/cpp/lib/NotifierJNI.cpp index 420d02f7f2..bc7070f80f 100644 --- a/wpilibj/src/athena/cpp/lib/NotifierJNI.cpp +++ b/wpilibj/src/athena/cpp/lib/NotifierJNI.cpp @@ -79,7 +79,8 @@ void NotifierThreadJNI::Main() { args.version = JNI_VERSION_1_2; args.name = const_cast("Notifier"); args.group = nullptr; - jint rs = jvm->AttachCurrentThreadAsDaemon((void **)&env, &args); + jint rs = + jvm->AttachCurrentThreadAsDaemon(reinterpret_cast(&env), &args); if (rs != JNI_OK) return; std::unique_lock lock(m_mutex); @@ -92,7 +93,7 @@ void NotifierThreadJNI::Main() { jmethodID mid = m_mid; uint64_t currentTime = m_currentTime; lock.unlock(); // don't hold mutex during callback execution - env->CallVoidMethod(func, mid, (jlong)currentTime); + env->CallVoidMethod(func, mid, static_cast(currentTime)); if (env->ExceptionCheck()) { env->ExceptionDescribe(); env->ExceptionClear(); diff --git a/wpilibj/src/athena/cpp/nivision/gen_java.py b/wpilibj/src/athena/cpp/nivision/gen_java.py index f598ae3b6e..0c6c510b0d 100644 --- a/wpilibj/src/athena/cpp/nivision/gen_java.py +++ b/wpilibj/src/athena/cpp/nivision/gen_java.py @@ -1169,7 +1169,7 @@ static void throwJavaException(JNIEnv *env) {{ jclass je = env->FindClass("{packagepath}/VisionException"); int err = imaqGetLastError(); const char* err_text = getErrorText(err); - char* full_err_msg = (char*)malloc(30+strlen(err_text)); + char* full_err_msg = static_cast(malloc(30+strlen(err_text))); sprintf(full_err_msg, "imaqError: %d: %s", err, err_text); env->ThrowNew(je, full_err_msg); free(full_err_msg); @@ -1179,7 +1179,7 @@ static void throwJavaException(JNIEnv *env) {{ static void dxthrowJavaException(JNIEnv *env, IMAQdxError err) {{ jclass je = env->FindClass("{packagepath}/VisionException"); const char* err_text = getErrorText(err); - char* full_err_msg = (char*)malloc(30+strlen(err_text)); + char* full_err_msg = static_cast(malloc(30+strlen(err_text))); sprintf(full_err_msg, "IMAQdxError: %d: %s", err, err_text); env->ThrowNew(je, full_err_msg); free(full_err_msg);