Skip to content

Commit b96082e

Browse files
authored
Refine demangler setting and execinfo use (#1445)
* Combine current and previous approaches finding execinfo.h * Roll micro version and date
1 parent bbbc018 commit b96082e

File tree

4 files changed

+38
-12
lines changed

4 files changed

+38
-12
lines changed

ChangeLog

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
2026-01-12 Dirk Eddelbuettel <edd@debian.org>
2+
3+
* DESCRIPTION (Version, Date): Roll micro version and date
4+
* inst/include/Rcpp/config.h: Idem
5+
6+
* inst/include/Rcpp/exceptions_impl.h: Combine previous and current
7+
methods enabling when 'execinfo.h' is found on selected platforms
8+
19
2026-01-08 Dirk Eddelbuettel <edd@debian.org>
210

311
* DESCRIPTION (Date, Version): Release 1.1.1

DESCRIPTION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Package: Rcpp
22
Title: Seamless R and C++ Integration
3-
Version: 1.1.1
4-
Date: 2026-01-07
3+
Version: 1.1.1.1
4+
Date: 2026-01-12
55
Authors@R: c(person("Dirk", "Eddelbuettel", role = c("aut", "cre"), email = "edd@debian.org",
66
comment = c(ORCID = "0000-0001-6419-907X")),
77
person("Romain", "Francois", role = "aut",

inst/include/Rcpp/config.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
#define RCPP_VERSION_STRING "1.1.1"
3232

3333
// the current source snapshot (using four components, if a fifth is used in DESCRIPTION we ignore it)
34-
#define RCPP_DEV_VERSION RcppDevVersion(1,1,1,0)
35-
#define RCPP_DEV_VERSION_STRING "1.1.1.0"
34+
#define RCPP_DEV_VERSION RcppDevVersion(1,1,1,1)
35+
#define RCPP_DEV_VERSION_STRING "1.1.1.1"
3636

3737
#endif

inst/include/Rcpp/exceptions_impl.h

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//
33
// Copyright (C) 2012 - 2019 Dirk Eddelbuettel and Romain Francois
44
// Copyright (C) 2020 - 2024 Dirk Eddelbuettel, Romain Francois, and Joshua N. Pritikin
5-
// Copyright (C) 2025 Dirk Eddelbuettel, Romain Francois, Joshua N. Pritikin, and Iñaki Ucar
5+
// Copyright (C) 2025 - 2026 Dirk Eddelbuettel, Romain Francois, Joshua N. Pritikin, and Iñaki Ucar
66
//
77
// This file is part of Rcpp.
88
//
@@ -23,15 +23,33 @@
2323
#define Rcpp__exceptions_impl__h
2424

2525
// enable demangler on platforms where execinfo.h is present
26+
// and that are not actively blacklisted
2627
#ifndef RCPP_DEMANGLER_ENABLED
27-
# define RCPP_DEMANGLER_ENABLED 0
28-
# if defined __has_include
29-
# if __has_include (<execinfo.h>)
30-
# include <execinfo.h>
31-
# undef RCPP_DEMANGLER_ENABLED
32-
# define RCPP_DEMANGLER_ENABLED 1
28+
// set a fallback default
29+
#define RCPP_DEMANGLER_ENABLED 0
30+
# if defined(_WIN32) || \
31+
defined(__FreeBSD__) || \
32+
defined(__NetBSD__) || \
33+
defined(__OpenBSD__) || \
34+
defined(__DragonFly__) || \
35+
defined(__CYGWIN__) || \
36+
defined(__sun) || \
37+
defined(_AIX) || \
38+
defined(__MUSL__) || \
39+
defined(__HAIKU__) || \
40+
defined(__ANDROID__)
41+
// nothing to do here so just redefining
42+
# undef RCPP_DEMANGLER_ENABLED
43+
# define RCPP_DEMANGLER_ENABLED 0
44+
# elif defined __has_include
45+
// if we can test for headers
46+
# if __has_include (<execinfo.h>)
47+
// if we have the header, include and use it
48+
# include <execinfo.h>
49+
# undef RCPP_DEMANGLER_ENABLED
50+
# define RCPP_DEMANGLER_ENABLED 1
51+
# endif
3352
# endif
34-
# endif
3553
#endif
3654

3755
namespace Rcpp {

0 commit comments

Comments
 (0)