gnucash stable: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sat May 3 19:22:34 EDT 2025


Updated	 via  https://github.com/Gnucash/gnucash/commit/21351264 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3770cb81 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e00eade7 (commit)
	from  https://github.com/Gnucash/gnucash/commit/1e6b5a10 (commit)



commit 213512649a82fccd85795ea70baa928540f3fa70
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat May 3 16:20:02 2025 -0700

    Bug 799582 - Mortgage and Loan Assistant - Compounding Formula
    
    Adds a semi-annual compounding period for Canadians and implements the
    more correct simple-rate formula provided by CDB-Man.

diff --git a/gnucash/gnome/assistant-loan.cpp b/gnucash/gnome/assistant-loan.cpp
index 7f7d8f2d83..0765945b67 100644
--- a/gnucash/gnome/assistant-loan.cpp
+++ b/gnucash/gnome/assistant-loan.cpp
@@ -169,6 +169,7 @@ typedef enum
     GNC_IRATE_APR_WEEKLY,
     GNC_IRATE_APR_MONTHLY,
     GNC_IRATE_APR_QUARTERLY,
+    GNC_IRATE_APR_SEMIANNUALLY,
     GNC_IRATE_APR_ANNUALLY
 } IRateType;
 
@@ -367,7 +368,7 @@ static void loan_rev_hash_free_date_keys( gpointer key, gpointer val, gpointer u
 static void loan_get_pmt_formula( LoanAssistantData *ldd, GString *gstr );
 static void loan_get_ppmt_formula( LoanAssistantData *ldd, GString *gstr );
 static void loan_get_ipmt_formula( LoanAssistantData *ldd, GString *gstr );
-static float loan_apr_to_simple_formula (float rate, float compounding_periods);
+static float loan_apr_to_simple_formula (float rate, float pmt_periods, float comp_periods);
 
 static void loan_create_sxes( LoanAssistantData *ldd );
 static void loan_create_sx_from_tcSX( LoanAssistantData *ldd, toCreateSX *tcSX );
@@ -2307,14 +2308,23 @@ loan_rev_update_view( LoanAssistantData *ldd, GDate *start, GDate *end )
 
 /************************* Worker functions *****************************/
 
-/* convert APR rate to simple rate based on formula r=q((1+i)^(1/q)-1) (r=interest rate, i=apr, q=compounding periods) */
+/* From https://bugs.gnucash.org/show_bug.cgi?id=799582#c0:
+ * INPUTS
+ * n = number of payments per year (pmt_periods)
+ * i = stated annual interest rate
+ * m = number of compounding periods per year (comp_periods)
+ *
+ * OUTPUT
+ * r = effective interest rate per payment
+ * r = { [ 1 + (i / m) ] ^ (m / n) } - 1
+ */
 
-gfloat loan_apr_to_simple_formula (gfloat rate, gfloat compounding_periods)
+gfloat loan_apr_to_simple_formula (gfloat rate, gfloat pmt_periods, gfloat comp_periods)
 {
     /* float percent_to_frac; - redundant */
     gfloat simple_rate;
     /* percent_to_frac= compounding_periods/100; - redundant */
-    simple_rate = compounding_periods * ((pow((1 + rate), (1 / compounding_periods))) - 1);
+    simple_rate = pow(1 + (rate / comp_periods), comp_periods / pmt_periods) - 1;
     return (simple_rate);
 }
 
@@ -2403,19 +2413,22 @@ loan_get_formula_internal( LoanAssistantData *ldd, GString *gstr, const gchar *t
         period_rate = pass_thru_rate;
         break;
     case GNC_IRATE_APR_DAILY:
-        period_rate = loan_apr_to_simple_formula (pass_thru_rate, 365);
+        period_rate = loan_apr_to_simple_formula (pass_thru_rate, periods, 365);
         break;
     case GNC_IRATE_APR_WEEKLY:
-        period_rate = loan_apr_to_simple_formula (pass_thru_rate, 52);
+        period_rate = loan_apr_to_simple_formula (pass_thru_rate, periods, 52);
         break;
     case GNC_IRATE_APR_MONTHLY:
-        period_rate = loan_apr_to_simple_formula (pass_thru_rate, 12);
+        period_rate = loan_apr_to_simple_formula (pass_thru_rate, periods, 12);
         break;
     case GNC_IRATE_APR_QUARTERLY:
-        period_rate = loan_apr_to_simple_formula (pass_thru_rate, 4);
+        period_rate = loan_apr_to_simple_formula (pass_thru_rate, periods, 4);
+        break;
+    case GNC_IRATE_APR_SEMIANNUALLY:
+        period_rate = loan_apr_to_simple_formula (pass_thru_rate, periods, 2);
         break;
     case GNC_IRATE_APR_ANNUALLY:
-        period_rate = loan_apr_to_simple_formula (pass_thru_rate, 1);
+        period_rate = loan_apr_to_simple_formula (pass_thru_rate, periods, 1);
         break;
     default:
         period_rate = ldd->ld.interestRate / 100;
diff --git a/gnucash/gtkbuilder/assistant-loan.glade b/gnucash/gtkbuilder/assistant-loan.glade
index 8200496930..7024abce8a 100644
--- a/gnucash/gtkbuilder/assistant-loan.glade
+++ b/gnucash/gtkbuilder/assistant-loan.glade
@@ -57,6 +57,9 @@
       <row>
         <col id="0" translatable="yes">APR (Compounded Quarterly)</col>
       </row>
+      <row>
+        <col id="0" translatable="yes">APR (Compounded Semi-annually)</col>
+      </row>
       <row>
         <col id="0" translatable="yes">APR (Compounded Annually)</col>
       </row>

commit 3770cb8131089ea7f1a9bab479c30266c550fd1b
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat May 3 15:01:49 2025 -0700

    Wrap include of gtest.h and gmock.h with a warning-silencing pragma.
    
    See https://github.com/google/googletest/issues/4701
    The warnings cause the Arch Linux CI to fail because of -Werror.

diff --git a/gnucash/gnome-utils/test/test-autoclear.cpp b/gnucash/gnome-utils/test/test-autoclear.cpp
index 4bf6c25890..bd42895f2e 100644
--- a/gnucash/gnome-utils/test/test-autoclear.cpp
+++ b/gnucash/gnome-utils/test/test-autoclear.cpp
@@ -29,7 +29,11 @@
 #include <cstdint>
 #include <Account.h>
 #include <Split.h>
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 
 static const int64_t DENOM = 100; //< Denominator is always 100 for simplicity.
 
diff --git a/gnucash/gnome/test/gtest-assistant-stock-transaction.cpp b/gnucash/gnome/test/gtest-assistant-stock-transaction.cpp
index 3758ccba32..7f7a065b56 100644
--- a/gnucash/gnome/test/gtest-assistant-stock-transaction.cpp
+++ b/gnucash/gnome/test/gtest-assistant-stock-transaction.cpp
@@ -30,7 +30,11 @@
 #include <Split.h>
 #include <gnc-numeric.hpp>
 #include <gnc-datetime.hpp>
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 extern "C"
 {
 #include <gnc-pricedb-p.h>
diff --git a/gnucash/import-export/csv-exp/test/test-csv-export-helpers.cpp b/gnucash/import-export/csv-exp/test/test-csv-export-helpers.cpp
index 1cafe5a8b3..2999622417 100644
--- a/gnucash/import-export/csv-exp/test/test-csv-export-helpers.cpp
+++ b/gnucash/import-export/csv-exp/test/test-csv-export-helpers.cpp
@@ -21,7 +21,11 @@
 
 // #include "config.h"
 #include "csv-export-helpers.hpp"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 
 #include <sstream>
 
diff --git a/gnucash/import-export/csv-imp/test/gtest-gnc-imp-props-tx.cpp b/gnucash/import-export/csv-imp/test/gtest-gnc-imp-props-tx.cpp
index 7b1979f141..b1ac596473 100644
--- a/gnucash/import-export/csv-imp/test/gtest-gnc-imp-props-tx.cpp
+++ b/gnucash/import-export/csv-imp/test/gtest-gnc-imp-props-tx.cpp
@@ -22,7 +22,11 @@
  * Boston, MA  02110-1301,  USA       gnu at gnu.org                   *
 \********************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 
 #include <config.h>
 
diff --git a/gnucash/import-export/csv-imp/test/test-tokenizer.cpp b/gnucash/import-export/csv-imp/test/test-tokenizer.cpp
index 161f3fd0c4..b51cf9a10c 100644
--- a/gnucash/import-export/csv-imp/test/test-tokenizer.cpp
+++ b/gnucash/import-export/csv-imp/test/test-tokenizer.cpp
@@ -28,7 +28,11 @@
 #include "../gnc-tokenizer.hpp"
 #include "../gnc-tokenizer-csv.hpp"
 #include "../gnc-tokenizer-fw.hpp"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <iostream>
 #include <fstream>      // fstream
 
diff --git a/gnucash/import-export/csv-imp/test/test-tx-import.cpp b/gnucash/import-export/csv-imp/test/test-tx-import.cpp
index 41cedc6b2f..f5109140a5 100644
--- a/gnucash/import-export/csv-imp/test/test-tx-import.cpp
+++ b/gnucash/import-export/csv-imp/test/test-tx-import.cpp
@@ -26,7 +26,11 @@
 #include "../gnc-tokenizer.hpp"
 #include "../gnc-tokenizer-csv.hpp"
 #include "../gnc-tokenizer-fw.hpp"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <iostream>
 #include <fstream>      // fstream
 
diff --git a/gnucash/import-export/test/gtest-import-account-matcher.cpp b/gnucash/import-export/test/gtest-import-account-matcher.cpp
index ac15696368..9381c66502 100644
--- a/gnucash/import-export/test/gtest-import-account-matcher.cpp
+++ b/gnucash/import-export/test/gtest-import-account-matcher.cpp
@@ -22,7 +22,11 @@
  *                                                                  *
  *******************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <config.h>
 #include <import-account-matcher.h>
 #include <gnc-session.h>
diff --git a/gnucash/import-export/test/gtest-import-backend.cpp b/gnucash/import-export/test/gtest-import-backend.cpp
index 554c011142..9a055b0f6d 100644
--- a/gnucash/import-export/test/gtest-import-backend.cpp
+++ b/gnucash/import-export/test/gtest-import-backend.cpp
@@ -22,7 +22,11 @@
 \********************************************************************/
 
 #include <gtk/gtk.h>
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <gmock/gmock.h>
 
 #include <config.h>
diff --git a/libgnucash/app-utils/mocks/gmock-gnc-prefs.h b/libgnucash/app-utils/mocks/gmock-gnc-prefs.h
index 2ea6abb516..c719864cb7 100644
--- a/libgnucash/app-utils/mocks/gmock-gnc-prefs.h
+++ b/libgnucash/app-utils/mocks/gmock-gnc-prefs.h
@@ -1,7 +1,11 @@
 #ifndef GMOCK_GNC_PREFS_H
 #define GMOCK_GNC_PREFS_H
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gmock/gmock.h>
+#pragma GCC diagnostic pop
+
 
 #include <gnc-prefs.h>
 
diff --git a/libgnucash/app-utils/test/gtest-gnc-quotes.cpp b/libgnucash/app-utils/test/gtest-gnc-quotes.cpp
index 87f23fc3a5..08b79c96b8 100644
--- a/libgnucash/app-utils/test/gtest-gnc-quotes.cpp
+++ b/libgnucash/app-utils/test/gtest-gnc-quotes.cpp
@@ -38,8 +38,10 @@ gnc_default_currency(void)
     return gnc_commodity_table_lookup(table, GNC_COMMODITY_NS_CURRENCY, "USD");
 }
 }
-
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
 #include "../gnc-quotes.cpp"
 
 class GncMockQuoteSource final : public GncQuoteSource
diff --git a/libgnucash/backend/xml/test/gtest-load-save-files.cpp b/libgnucash/backend/xml/test/gtest-load-save-files.cpp
index d978d54f11..0602487f3a 100644
--- a/libgnucash/backend/xml/test/gtest-load-save-files.cpp
+++ b/libgnucash/backend/xml/test/gtest-load-save-files.cpp
@@ -41,7 +41,10 @@
 #include <gnc-engine.h>
 #include <gnc-prefs.h>
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
 #include <unittest-support.h>
 
 #include "../gnc-backend-xml.h"
diff --git a/libgnucash/core-utils/test/gtest-path-utilities.cpp b/libgnucash/core-utils/test/gtest-path-utilities.cpp
index 7ca81abec3..a1af874572 100644
--- a/libgnucash/core-utils/test/gtest-path-utilities.cpp
+++ b/libgnucash/core-utils/test/gtest-path-utilities.cpp
@@ -6,7 +6,10 @@
 #include <binreloc.h>
 #include <gnc-filepath-utils.h>
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
 
 
 /* Variant of EXPECT_STREQ that calls g_free()
diff --git a/libgnucash/engine/mocks/fake-qofquery.h b/libgnucash/engine/mocks/fake-qofquery.h
index 69f418e1e6..9a0f3d823a 100644
--- a/libgnucash/engine/mocks/fake-qofquery.h
+++ b/libgnucash/engine/mocks/fake-qofquery.h
@@ -7,7 +7,11 @@
 #ifndef FAKE_QOFQUERY_H
 #define FAKE_QOFQUERY_H
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gmock/gmock.h>
+#pragma GCC diagnostic pop
+
 
 #include <qofquery.h>
 
diff --git a/libgnucash/engine/mocks/gmock-Account.h b/libgnucash/engine/mocks/gmock-Account.h
index a5cc8f006c..50de9dd2fa 100644
--- a/libgnucash/engine/mocks/gmock-Account.h
+++ b/libgnucash/engine/mocks/gmock-Account.h
@@ -1,7 +1,11 @@
 #ifndef GMOCK_ACCOUNT_H
 #define GMOCK_ACCOUNT_H
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gmock/gmock.h>
+#pragma GCC diagnostic pop
+
 
 #include <Account.h>
 #include <Account.hpp>
diff --git a/libgnucash/engine/mocks/gmock-Split.h b/libgnucash/engine/mocks/gmock-Split.h
index 0fe7eb24e4..fc69dd0eef 100644
--- a/libgnucash/engine/mocks/gmock-Split.h
+++ b/libgnucash/engine/mocks/gmock-Split.h
@@ -1,7 +1,11 @@
 #ifndef GMOCK_SPLIT_H
 #define GMOCK_SPLIT_H
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gmock/gmock.h>
+#pragma GCC diagnostic pop
+
 
 #include <Split.h>
 #include <SplitP.hpp>
diff --git a/libgnucash/engine/mocks/gmock-Transaction.h b/libgnucash/engine/mocks/gmock-Transaction.h
index 804307186b..8fbfc4f865 100644
--- a/libgnucash/engine/mocks/gmock-Transaction.h
+++ b/libgnucash/engine/mocks/gmock-Transaction.h
@@ -1,7 +1,11 @@
 #ifndef GMOCK_TRANSACTION_H
 #define GMOCK_TRANSACTION_H
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gmock/gmock.h>
+#pragma GCC diagnostic pop
+
 
 #include <Transaction.h>
 #include <TransactionP.hpp>
diff --git a/libgnucash/engine/mocks/gmock-qofbook.h b/libgnucash/engine/mocks/gmock-qofbook.h
index 7001697afc..3662877b2d 100644
--- a/libgnucash/engine/mocks/gmock-qofbook.h
+++ b/libgnucash/engine/mocks/gmock-qofbook.h
@@ -1,7 +1,11 @@
 #ifndef GMOCK_QOFBOOK_H
 #define GMOCK_QOFBOOK_H
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gmock/gmock.h>
+#pragma GCC diagnostic pop
+
 
 #include <qofbook.h>
 #include <qofbook-p.h>
diff --git a/libgnucash/engine/mocks/gmock-qofinstance.cpp b/libgnucash/engine/mocks/gmock-qofinstance.cpp
index 542684e20b..790ac1bed6 100644
--- a/libgnucash/engine/mocks/gmock-qofinstance.cpp
+++ b/libgnucash/engine/mocks/gmock-qofinstance.cpp
@@ -1,6 +1,10 @@
 #include <glib.h>
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gmock/gmock.h>
+#pragma GCC diagnostic pop
+
 
 #include <qofinstance.h>
 #include <qofinstance-p.h>
diff --git a/libgnucash/engine/test/gtest-gnc-datetime.cpp b/libgnucash/engine/test/gtest-gnc-datetime.cpp
index b1d0efaf4c..5123b098d9 100644
--- a/libgnucash/engine/test/gtest-gnc-datetime.cpp
+++ b/libgnucash/engine/test/gtest-gnc-datetime.cpp
@@ -24,7 +24,10 @@
 
 #include "../gnc-datetime.hpp"
 #include "../gnc-date.h"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
 
 /* Backdoor to enable unittests to temporarily override the timezone: */
 class TimeZoneProvider;
diff --git a/libgnucash/engine/test/gtest-gnc-euro.cpp b/libgnucash/engine/test/gtest-gnc-euro.cpp
index e9a6c90163..3e1d867cf3 100644
--- a/libgnucash/engine/test/gtest-gnc-euro.cpp
+++ b/libgnucash/engine/test/gtest-gnc-euro.cpp
@@ -20,7 +20,11 @@
  * Boston, MA  02110-1301,  USA       gnu at gnu.org                   *
 \********************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include "../gnc-numeric.hpp"
 #include <config.h>
 #include "../gnc-euro.h"
diff --git a/libgnucash/engine/test/gtest-gnc-int128.cpp b/libgnucash/engine/test/gtest-gnc-int128.cpp
index 34a7200b69..1589176621 100644
--- a/libgnucash/engine/test/gtest-gnc-int128.cpp
+++ b/libgnucash/engine/test/gtest-gnc-int128.cpp
@@ -21,7 +21,11 @@
  *                                                                  *
  *******************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <cstdint>
 #include "../gnc-int128.hpp"
 
diff --git a/libgnucash/engine/test/gtest-gnc-numeric.cpp b/libgnucash/engine/test/gtest-gnc-numeric.cpp
index aca62033c7..4341b723a1 100644
--- a/libgnucash/engine/test/gtest-gnc-numeric.cpp
+++ b/libgnucash/engine/test/gtest-gnc-numeric.cpp
@@ -20,7 +20,11 @@
  * Boston, MA  02110-1301,  USA       gnu at gnu.org                   *
 \********************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <cstdint>
 #include "../gnc-numeric.hpp"
 #include "../gnc-rational.hpp"
diff --git a/libgnucash/engine/test/gtest-gnc-option.cpp b/libgnucash/engine/test/gtest-gnc-option.cpp
index 2a8dd380f4..b7f8391344 100644
--- a/libgnucash/engine/test/gtest-gnc-option.cpp
+++ b/libgnucash/engine/test/gtest-gnc-option.cpp
@@ -21,7 +21,11 @@
  *                                                                  *
  *******************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include "gnc-option.hpp"
 #include "gnc-option-impl.hpp"
 #include "gnc-option-ui.hpp"
diff --git a/libgnucash/engine/test/gtest-gnc-optiondb.cpp b/libgnucash/engine/test/gtest-gnc-optiondb.cpp
index 7ee6957de8..f28d49a2fa 100644
--- a/libgnucash/engine/test/gtest-gnc-optiondb.cpp
+++ b/libgnucash/engine/test/gtest-gnc-optiondb.cpp
@@ -21,7 +21,11 @@
  *                                                                  *
  *******************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include "gnc-optiondb.hpp"
 #include "gnc-optiondb-impl.hpp"
 #include "gnc-option-ui.hpp"
diff --git a/libgnucash/engine/test/gtest-gnc-rational.cpp b/libgnucash/engine/test/gtest-gnc-rational.cpp
index c3200ce1e1..a3432cb771 100644
--- a/libgnucash/engine/test/gtest-gnc-rational.cpp
+++ b/libgnucash/engine/test/gtest-gnc-rational.cpp
@@ -21,7 +21,11 @@
  *                                                                  *
  *******************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <random>
 #include <cstdint>
 #include "../gnc-rational.hpp"
diff --git a/libgnucash/engine/test/gtest-gnc-timezone.cpp b/libgnucash/engine/test/gtest-gnc-timezone.cpp
index 096950e25f..2566e6e693 100644
--- a/libgnucash/engine/test/gtest-gnc-timezone.cpp
+++ b/libgnucash/engine/test/gtest-gnc-timezone.cpp
@@ -1,3 +1,4 @@
+
 /********************************************************************
  * Gtest-gnc-int128.cpp -- unit tests for the GncInt128 class       *
  * Copyright (C) 2014 John Ralls <jralls at ceridwen.us>               *
@@ -21,7 +22,11 @@
  *                                                                  *
  *******************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <string>
 #include "../gnc-timezone.hpp"
 
diff --git a/libgnucash/engine/test/gtest-import-map.cpp b/libgnucash/engine/test/gtest-import-map.cpp
index c5bc31699e..d891f8b722 100644
--- a/libgnucash/engine/test/gtest-import-map.cpp
+++ b/libgnucash/engine/test/gtest-import-map.cpp
@@ -26,7 +26,11 @@
 
 #include <qofinstance-p.h>
 #include <kvp-frame.hpp>
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <string>
 #include <cstdint>
 
diff --git a/libgnucash/engine/test/gtest-qofevent.cpp b/libgnucash/engine/test/gtest-qofevent.cpp
index 3ddffdf2cb..bc0a7d3743 100644
--- a/libgnucash/engine/test/gtest-qofevent.cpp
+++ b/libgnucash/engine/test/gtest-qofevent.cpp
@@ -27,7 +27,11 @@
 #include "../test-core/test-engine-stuff.h"
 #include "../qofevent.h"
 #include "../qofevent-p.h"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 
 static void
 easy_handler (QofInstance *ent,  QofEventId event_type,
diff --git a/libgnucash/engine/test/gtest-qofquerycore.cpp b/libgnucash/engine/test/gtest-qofquerycore.cpp
index d428b9725a..77dab5740c 100644
--- a/libgnucash/engine/test/gtest-qofquerycore.cpp
+++ b/libgnucash/engine/test/gtest-qofquerycore.cpp
@@ -27,7 +27,11 @@
 #include "../test-core/test-engine-stuff.h"
 #include "../qofquerycore.h"
 #include "../qofquerycore-p.h"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 
 
 class QofQueryCoreTest : public ::testing::Test {
diff --git a/libgnucash/engine/test/test-gnc-guid.cpp b/libgnucash/engine/test/test-gnc-guid.cpp
index f31d3b99b2..d957888f20 100644
--- a/libgnucash/engine/test/test-gnc-guid.cpp
+++ b/libgnucash/engine/test/test-gnc-guid.cpp
@@ -29,7 +29,11 @@
 #include <iomanip>
 #include <string>
 #include <iostream>
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 
 TEST (GncGUID, creation)
 {
diff --git a/libgnucash/engine/test/test-kvp-frame.cpp b/libgnucash/engine/test/test-kvp-frame.cpp
index 7ef40db9af..736c1ea75e 100644
--- a/libgnucash/engine/test/test-kvp-frame.cpp
+++ b/libgnucash/engine/test/test-kvp-frame.cpp
@@ -25,7 +25,11 @@
 #include <guid.hpp>
 #include "../kvp-value.hpp"
 #include "../kvp-frame.hpp"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include <algorithm>
 #include <cstdint>
 
diff --git a/libgnucash/engine/test/test-kvp-value.cpp b/libgnucash/engine/test/test-kvp-value.cpp
index 4d9d6c0d18..4b714de470 100644
--- a/libgnucash/engine/test/test-kvp-value.cpp
+++ b/libgnucash/engine/test/test-kvp-value.cpp
@@ -29,7 +29,11 @@
 #include "../gnc-date.h"
 #include <memory>
 #include <cstdint>
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 
 TEST (KvpValueTest, Equality)
 {
diff --git a/libgnucash/engine/test/test-qofsession.cpp b/libgnucash/engine/test/test-qofsession.cpp
index 9e57485adf..62f4179c9b 100644
--- a/libgnucash/engine/test/test-qofsession.cpp
+++ b/libgnucash/engine/test/test-qofsession.cpp
@@ -22,7 +22,11 @@
  * Boston, MA  02110-1301,  USA       gnu at gnu.org                   *
  ********************************************************************/
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcpp"
 #include <gtest/gtest.h>
+#pragma GCC diagnostic pop
+
 #include "../guid.hpp"
 #include <qofsession.hpp>
 #include <qof-backend.hpp>

commit e00eade735c4fa5bb6670fd223445913f7524286
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat May 3 14:58:20 2025 -0700

    Change boost version for boost::process changes to 1.86.0
    
    That introduced a deprecation warning when including the unversioned
    boost::process headers. The warning breaks the Arch Linux CI because
    of -Werror.

diff --git a/libgnucash/app-utils/gnc-quotes.cpp b/libgnucash/app-utils/gnc-quotes.cpp
index fcc67cc782..e3a87f38f5 100644
--- a/libgnucash/app-utils/gnc-quotes.cpp
+++ b/libgnucash/app-utils/gnc-quotes.cpp
@@ -37,7 +37,7 @@
 #include <boost/algorithm/string.hpp>
 #include <boost/filesystem.hpp>
 #include <boost/version.hpp>
-#if BOOST_VERSION < 108800
+#if BOOST_VERSION < 108600
 #include <boost/process.hpp>
 #ifdef BOOST_WINDOWS_API
 #include <boost/process/windows.hpp>



Summary of changes:
 gnucash/gnome-utils/test/test-autoclear.cpp        |  4 +++
 gnucash/gnome/assistant-loan.cpp                   | 31 +++++++++++++++-------
 .../test/gtest-assistant-stock-transaction.cpp     |  4 +++
 gnucash/gtkbuilder/assistant-loan.glade            |  3 +++
 .../csv-exp/test/test-csv-export-helpers.cpp       |  4 +++
 .../csv-imp/test/gtest-gnc-imp-props-tx.cpp        |  4 +++
 .../import-export/csv-imp/test/test-tokenizer.cpp  |  4 +++
 .../import-export/csv-imp/test/test-tx-import.cpp  |  4 +++
 .../test/gtest-import-account-matcher.cpp          |  4 +++
 .../import-export/test/gtest-import-backend.cpp    |  4 +++
 libgnucash/app-utils/gnc-quotes.cpp                |  2 +-
 libgnucash/app-utils/mocks/gmock-gnc-prefs.h       |  4 +++
 libgnucash/app-utils/test/gtest-gnc-quotes.cpp     |  4 ++-
 .../backend/xml/test/gtest-load-save-files.cpp     |  3 +++
 .../core-utils/test/gtest-path-utilities.cpp       |  3 +++
 libgnucash/engine/mocks/fake-qofquery.h            |  4 +++
 libgnucash/engine/mocks/gmock-Account.h            |  4 +++
 libgnucash/engine/mocks/gmock-Split.h              |  4 +++
 libgnucash/engine/mocks/gmock-Transaction.h        |  4 +++
 libgnucash/engine/mocks/gmock-qofbook.h            |  4 +++
 libgnucash/engine/mocks/gmock-qofinstance.cpp      |  4 +++
 libgnucash/engine/test/gtest-gnc-datetime.cpp      |  3 +++
 libgnucash/engine/test/gtest-gnc-euro.cpp          |  4 +++
 libgnucash/engine/test/gtest-gnc-int128.cpp        |  4 +++
 libgnucash/engine/test/gtest-gnc-numeric.cpp       |  4 +++
 libgnucash/engine/test/gtest-gnc-option.cpp        |  4 +++
 libgnucash/engine/test/gtest-gnc-optiondb.cpp      |  4 +++
 libgnucash/engine/test/gtest-gnc-rational.cpp      |  4 +++
 libgnucash/engine/test/gtest-gnc-timezone.cpp      |  5 ++++
 libgnucash/engine/test/gtest-import-map.cpp        |  4 +++
 libgnucash/engine/test/gtest-qofevent.cpp          |  4 +++
 libgnucash/engine/test/gtest-qofquerycore.cpp      |  4 +++
 libgnucash/engine/test/test-gnc-guid.cpp           |  4 +++
 libgnucash/engine/test/test-kvp-frame.cpp          |  4 +++
 libgnucash/engine/test/test-kvp-value.cpp          |  4 +++
 libgnucash/engine/test/test-qofsession.cpp         |  4 +++
 36 files changed, 155 insertions(+), 11 deletions(-)



More information about the gnucash-changes mailing list