diff --git a/src/arbits/output/slbt_ar_output_mapfile.c b/src/arbits/output/slbt_ar_output_mapfile.c
index ab85394..f2c2a9b 100644
--- a/src/arbits/output/slbt_ar_output_mapfile.c
+++ b/src/arbits/output/slbt_ar_output_mapfile.c
@@ -25,7 +25,7 @@ static int slbt_ar_output_mapfile_impl(
 	const char **   symv;
 	const char **   symstrv;
 	regex_t         regctx;
-	regmatch_t      pmatch[2] = {0};
+	regmatch_t      pmatch[2] = {{0,0},{0,0}};
 
 	fsort = !(dctx->cctx->fmtflags & SLBT_OUTPUT_ARCHIVE_NOSORT);
 
diff --git a/src/arbits/output/slbt_ar_output_symbols.c b/src/arbits/output/slbt_ar_output_symbols.c
index 72dd3e0..148e0b1 100644
--- a/src/arbits/output/slbt_ar_output_symbols.c
+++ b/src/arbits/output/slbt_ar_output_symbols.c
@@ -30,7 +30,7 @@ static int slbt_ar_output_symbols_posix(
 	const char **   symv;
 	const char **   symstrv;
 	regex_t         regctx;
-	regmatch_t      pmatch[2] = {0};
+	regmatch_t      pmatch[2] = {{0,0},{0,0}};
 
 	fdout = fdctx->fdout;
 	fsort = !(dctx->cctx->fmtflags & SLBT_OUTPUT_ARCHIVE_NOSORT);