Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix and avoid including algorithms header for ROOT/CLING #1087

Merged
merged 4 commits into from
Jan 25, 2024

Conversation

sethrj
Copy link
Member

@sethrj sethrj commented Jan 22, 2024

If ROOT touches Algorithms, it fails to compile due to missing __sincospi which is included by an apple header. This both removes the inclusion of ArrayUtils in Types and fixes the macros so that __sincospi is assumed not to exist when using ROOT.

/Users/seth/Code/celeritas-temp/src/corecel/math/Algorithms.hh:533:1: error: no member named '__sin>
CELER_WRAP_MATH_FLOAT_DBL_PTR_2(__, sincospi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/seth/Code/celeritas-temp/src/corecel/math/Algorithms.hh:395:18: note: expanded from macro 'C>
        return ::PREFIX##FUNC##f(value, a, b);                               \
               ~~^
<scratch space>:206:1: note: expanded from here
__sincospif
^
In file included from input_line_9:3:
In file included from /Users/seth/Code/celeritas-temp/src/celeritas/io/ImportData.hh:25:
In file included from /Users/seth/Code/celeritas-temp/src/corecel/math/ArrayUtils.hh:17:
/Users/seth/Code/celeritas-temp/src/corecel/math/Algorithms.hh:533:1: error: no member named '__sin>
CELER_WRAP_MATH_FLOAT_DBL_PTR_2(__, sincospi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/seth/Code/celeritas-temp/src/corecel/math/Algorithms.hh:399:18: note: expanded from macro 'C>
        return ::PREFIX##FUNC(value, a, b);                                  \
               ~~^
<scratch space>:207:1: note: expanded from here
__sincospi
^
Error: /opt/spack/var/spack/environments/celeritas/.spack-env/view/bin/rootcling: compilation failu>

If ROOT touches it, it dies (missing sincospi)

```
/Users/seth/Code/celeritas-temp/src/corecel/math/Algorithms.hh:533:1: error: no member named '__sincospif' in the global namespace
CELER_WRAP_MATH_FLOAT_DBL_PTR_2(__, sincospi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/seth/Code/celeritas-temp/src/corecel/math/Algorithms.hh:395:18: note: expanded from macro 'CELER_WRAP_MATH_FLOAT_DBL_PTR_2'
        return ::PREFIX##FUNC##f(value, a, b);                               \
               ~~^
<scratch space>:206:1: note: expanded from here
__sincospif
^
In file included from input_line_9:3:
In file included from /Users/seth/Code/celeritas-temp/src/celeritas/io/ImportData.hh:25:
In file included from /Users/seth/Code/celeritas-temp/src/corecel/math/ArrayUtils.hh:17:
/Users/seth/Code/celeritas-temp/src/corecel/math/Algorithms.hh:533:1: error: no member named '__sincospi' in the global namespace
CELER_WRAP_MATH_FLOAT_DBL_PTR_2(__, sincospi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/seth/Code/celeritas-temp/src/corecel/math/Algorithms.hh:399:18: note: expanded from macro 'CELER_WRAP_MATH_FLOAT_DBL_PTR_2'
        return ::PREFIX##FUNC(value, a, b);                                  \
               ~~^
<scratch space>:207:1: note: expanded from here
__sincospi
^
Error: /opt/spack/var/spack/environments/celeritas/.spack-env/view/bin/rootcling: compilation failure (/Users/seth/Code/celeritas-temp/build-clhep/lib/libceleritas0cc6355a49_dictUmbrella.h)
```
@sethrj sethrj added core Software engineering infrastructure minor Minor internal changes or fixes (including CI updates) labels Jan 22, 2024
Copy link
Contributor

@pcanal pcanal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes actually looks like improvement even-though the work-around issue is technically in bug in Cling: root-project/root#14442

@sethrj sethrj merged commit 5339583 into celeritas-project:develop Jan 25, 2024
20 checks passed
@sethrj sethrj deleted the cling-sincospi branch January 25, 2024 17:10
sethrj added a commit to sethrj/celeritas that referenced this pull request Feb 5, 2024
…roject#1087)

* Don't include ArrayUtils in Types
* Don't rely on apple functions when using ROOT
* IWYU for celeritas::forward
sethrj added a commit that referenced this pull request Feb 15, 2024
* Don't include ArrayUtils in Types
* Don't rely on apple functions when using ROOT
* IWYU for celeritas::forward
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Software engineering infrastructure minor Minor internal changes or fixes (including CI updates)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants