Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
2025-08-14 Dirk Eddelbuettel <edd@debian.org>

* DESCRIPTION (Version, Date): RcppArmadillo 14.6.3-1
* inst/NEWS.Rd: Idem
* configure.ac: Idem
* configure: Idem

* inst/include/armadillo_bits/: Armadillo 14.6.3

2025-08-09 Dirk Eddelbuettel <edd@debian.org>

* DESCRIPTION (Version, Date): RcppArmadillo 14.6.2-1
Expand Down
4 changes: 2 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Package: RcppArmadillo
Type: Package
Title: 'Rcpp' Integration for the 'Armadillo' Templated Linear Algebra Library
Version: 14.6.2-1
Date: 2025-08-08
Version: 14.6.3-1
Date: 2025-08-14
Authors@R: c(person("Dirk", "Eddelbuettel", role = c("aut", "cre"), email = "edd@debian.org",
comment = c(ORCID = "0000-0001-6419-907X")),
person("Romain", "Francois", role = "aut",
Expand Down
18 changes: 9 additions & 9 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.72 for RcppArmadillo 14.6.2-1.
# Generated by GNU Autoconf 2.72 for RcppArmadillo 14.6.3-1.
#
# Report bugs to <edd@debian.org>.
#
Expand Down Expand Up @@ -603,8 +603,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='RcppArmadillo'
PACKAGE_TARNAME='rcpparmadillo'
PACKAGE_VERSION='14.6.2-1'
PACKAGE_STRING='RcppArmadillo 14.6.2-1'
PACKAGE_VERSION='14.6.3-1'
PACKAGE_STRING='RcppArmadillo 14.6.3-1'
PACKAGE_BUGREPORT='edd@debian.org'
PACKAGE_URL=''

Expand Down Expand Up @@ -1222,7 +1222,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
'configure' configures RcppArmadillo 14.6.2-1 to adapt to many kinds of systems.
'configure' configures RcppArmadillo 14.6.3-1 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

Expand Down Expand Up @@ -1284,7 +1284,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of RcppArmadillo 14.6.2-1:";;
short | recursive ) echo "Configuration of RcppArmadillo 14.6.3-1:";;
esac
cat <<\_ACEOF

Expand Down Expand Up @@ -1365,7 +1365,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
RcppArmadillo configure 14.6.2-1
RcppArmadillo configure 14.6.3-1
generated by GNU Autoconf 2.72

Copyright (C) 2023 Free Software Foundation, Inc.
Expand Down Expand Up @@ -1481,7 +1481,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by RcppArmadillo $as_me 14.6.2-1, which was
It was created by RcppArmadillo $as_me 14.6.3-1, which was
generated by GNU Autoconf 2.72. Invocation command line was

$ $0$ac_configure_args_raw
Expand Down Expand Up @@ -3980,7 +3980,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by RcppArmadillo $as_me 14.6.2-1, which was
This file was extended by RcppArmadillo $as_me 14.6.3-1, which was
generated by GNU Autoconf 2.72. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -4035,7 +4035,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
RcppArmadillo config.status 14.6.2-1
RcppArmadillo config.status 14.6.3-1
configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"

Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
AC_PREREQ([2.69])

## Process this file with autoconf to produce a configure script.
AC_INIT([RcppArmadillo],[14.6.2-1],[edd@debian.org])
AC_INIT([RcppArmadillo],[14.6.3-1],[edd@debian.org])

## Set R_HOME, respecting an environment variable if one is set
: ${R_HOME=$(R RHOME)}
Expand Down
9 changes: 9 additions & 0 deletions inst/NEWS.Rd
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@
\newcommand{\ghpr}{\href{https://github.com/RcppCore/RcppArmadillo/pull/#1}{##1}}
\newcommand{\ghit}{\href{https://github.com/RcppCore/RcppArmadillo/issues/#1}{##1}}

\section{Changes in RcppArmadillo version 14.6.3-1 (2025-08-14) (GitHub Only)}{
\itemize{
\item Upgraded to Armadillo release 14.6.3 (Caffe Mocha)
\itemize{
\item Fix OpenMP related crashes in \code{Cube::slice()} on Arm64 CPUs
}
}
}

\section{Changes in RcppArmadillo version 14.6.2-1 (2025-08-08) (GitHub Only)}{
\itemize{
\item Upgraded to Armadillo release 14.6.2 (Caffe Mocha)
Expand Down
6 changes: 3 additions & 3 deletions inst/include/armadillo_bits/Cube_meat.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -615,7 +615,7 @@ Cube<eT>::get_mat_ptr(const uword in_slice) const

#if defined(ARMA_USE_OPENMP)
{
#pragma omp atomic read
#pragma omp atomic read seq_cst
mat_ptr = mat_ptrs[in_slice];
}
#elif defined(ARMA_USE_STD_MUTEX)
Expand All @@ -634,12 +634,12 @@ Cube<eT>::get_mat_ptr(const uword in_slice) const
{
#pragma omp critical (arma_Cube_mat_ptrs)
{
#pragma omp atomic read
#pragma omp atomic read seq_cst
mat_ptr = mat_ptrs[in_slice];

if(mat_ptr == nullptr) { mat_ptr = create_mat_ptr(in_slice); }

#pragma omp atomic write
#pragma omp atomic write seq_cst
mat_ptrs[in_slice] = mat_ptr;
}
}
Expand Down
4 changes: 2 additions & 2 deletions inst/include/armadillo_bits/arma_forward.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ struct state_type
int out;

#if defined(ARMA_USE_OPENMP)
#pragma omp atomic read
#pragma omp atomic read seq_cst
out = state;
#elif defined(ARMA_USE_STD_MUTEX)
out = state.load();
Expand All @@ -328,7 +328,7 @@ struct state_type
operator= (const int in_state)
{
#if defined(ARMA_USE_OPENMP)
#pragma omp atomic write
#pragma omp atomic write seq_cst
state = in_state;
#elif defined(ARMA_USE_STD_MUTEX)
state.store(in_state);
Expand Down
2 changes: 1 addition & 1 deletion inst/include/armadillo_bits/arma_version.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

#define ARMA_VERSION_MAJOR 14
#define ARMA_VERSION_MINOR 6
#define ARMA_VERSION_PATCH 2
#define ARMA_VERSION_PATCH 3
#define ARMA_VERSION_NAME "Caffe Mocha"


Expand Down
12 changes: 6 additions & 6 deletions inst/include/armadillo_bits/compiler_setup.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -394,28 +394,28 @@


#if !defined(ARMA_DONT_USE_OPENMP)
#if (defined(_OPENMP) && (_OPENMP >= 201107))
#if (defined(_OPENMP) && (_OPENMP >= 201307))
#undef ARMA_USE_OPENMP
#define ARMA_USE_OPENMP
#endif
#endif


#if ( defined(ARMA_USE_OPENMP) && (!defined(_OPENMP) || (defined(_OPENMP) && (_OPENMP < 201107))) )
#if ( defined(ARMA_USE_OPENMP) && (!defined(_OPENMP) || (defined(_OPENMP) && (_OPENMP < 201307))) )
// OpenMP 3.0 required for parallelisation of loops with unsigned integers
// OpenMP 3.1 required for atomic read and atomic write
// OpenMP 3.1 required for atomic read/write
// OpenMP 4.0 required for seq_cst memory order clause in atomic read/write
#undef ARMA_USE_OPENMP
#undef ARMA_PRINT_OPENMP_WARNING
#define ARMA_PRINT_OPENMP_WARNING
#endif


#if defined(ARMA_PRINT_OPENMP_WARNING) && !defined(ARMA_DONT_PRINT_OPENMP_WARNING)
#pragma message ("WARNING: use of OpenMP disabled; compiler support for OpenMP 3.1+ not detected")
#pragma message ("WARNING: use of OpenMP disabled; compiler support for OpenMP 4.0+ not detected")

#if (defined(_OPENMP) && (_OPENMP < 201107))
#if (defined(_OPENMP) && (_OPENMP < 201307))
#pragma message ("NOTE: your compiler has an outdated version of OpenMP")
#pragma message ("NOTE: consider upgrading to a better compiler")
#endif
#endif

Expand Down