mbedtls: Disable documentation warning as error with clang

There are shortcomings with doxygen info which clang-15+ flags, dont
treat them as errors

Remove unused variable

Fixes
library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable]

Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/third_party/openthread/repo/third_party/mbedtls/repo/library/bignum.c
+++ b/third_party/openthread/repo/third_party/mbedtls/repo/library/bignum.c
@@ -1544,7 +1544,7 @@ __attribute__ ((noinline))
 #endif
 void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b )
 {
-    mbedtls_mpi_uint c = 0, t = 0;
+    mbedtls_mpi_uint c = 0;
 
 #if defined(MULADDC_HUIT)
     for( ; i >= 8; i -= 8 )
@@ -1595,8 +1595,6 @@ void mpi_mul_hlp( size_t i, mbedtls_mpi_
     }
 #endif /* MULADDC_HUIT */
 
-    t++;
-
     do {
         *d += c; c = ( *d < c ); d++;
     }
--- a/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt
+++ b/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt
@@ -192,7 +192,7 @@ if(CMAKE_COMPILER_IS_GNU)
 endif(CMAKE_COMPILER_IS_GNU)
 
 if(CMAKE_COMPILER_IS_CLANG)
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wno-error=documentation")
     set(CMAKE_C_FLAGS_RELEASE     "-O2")
     set(CMAKE_C_FLAGS_DEBUG       "-O0 -g3")
     set(CMAKE_C_FLAGS_COVERAGE    "-O0 -g3 --coverage")
