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

Wrong CGG expansion of BOOST_ATTRIBUTE_NODISCARD when in -std=c++98 mode #336

Closed
joaquintides opened this issue May 10, 2020 · 4 comments · Fixed by #398
Closed

Wrong CGG expansion of BOOST_ATTRIBUTE_NODISCARD when in -std=c++98 mode #336

joaquintides opened this issue May 10, 2020 · 4 comments · Fixed by #398

Comments

@joaquintides
Copy link
Member

For GCC>7.0 and C++03 mode (-std=c++98), BOOST_ATTRIBUTE_NODISCARD wrongly expands to [[nodiscard]] (it should expand to nothing).

joaquintides added a commit to boostorg/multi_index that referenced this issue May 10, 2020
@jzmaddock
Copy link
Collaborator

Apologies for the long delay!

This appears to be deliberate - [[nodiscard]] appears to be accepted by gcc without warning or error in all std modes.

Can you explain what issue this is causing?

@joaquintides
Copy link
Member Author

No apologies needed :-)

I see otherwise: https://godbolt.org/z/P4dnd4T8q

jzmaddock added a commit that referenced this issue Aug 19, 2021
It's not supported on functions pre-c++11 even if __has_cpp_attribute indicates it is supported.
Also update test case.
Fixes #336.
@jzmaddock
Copy link
Collaborator

Confirmed, works on classes but not functions.
See #398.

@joaquintides
Copy link
Member Author

joaquintides commented Aug 19, 2021

Perfect, thank you! Will keep an eye to this so that I can drop my workaround when your fix gets to master.

sstsai added a commit to sstsai/sonda that referenced this issue Dec 15, 2021
e108255ff Merge branch 'develop'
fc4e48a91 Merge pull request #411 from boostorg/msvc_2022
0c21be040 Correct two phase lookup config for msvc-14.3.
77df5deb6 Configuration update for msvc-2022.
ad40eb581 Merge pull request #410 from sdarwin/meta
e12a9c522 Update metadata
0b62f7d5a Merge branch 'develop'
037a9b4d2 Merge pull request #409 from boostorg/vs2022_ci
1aa177da0 Change VS cxxstd=20 to cxxstd=latest
64bf41929 Add Visual Studio 2022 runner.
57f06834e Merge pull request #405 from ohhmm/develop
528db2c58 Merge pull request #408 from boostorg/atomic_macros
7cc7f9400 Update for present, but broken <concepts> on latest MacOS clang.
35c4a13e6 Print out <atomic> macros.
b12d44fc7 Disable __int128 on CUDA device code.
1e5f50939 Add first nvcc github action. (#407)
2fdfd43e2 Fix for clang CUDA generation, fixes boostorg/config#297
f34bcff86 Add VC143 toolset
8f05b6457 Merge branch 'develop'
85292621e Add emscripten testing and support. (#403)
0d95a7405 Merge pull request #398 from boostorg/issue336
163599973 Update nodiscard attribute: It's not supported on functions pre-c++11 even if __has_cpp_attribute indicates it is supported. Also update test case. Fixes boostorg/config#336.
fac8ba93c Merge pull request #397 from boostorg/codecvt
88866861d MSVC update that handled deprecation of <codecvt> and availability of <stop_token>. See also boostorg/config#391.
f1b2746fb Merge pull request #395 from boostorg/mclow-patch-3
8df65862c Fix typo
01f00de73 Bump version to 1.78.0
47614564e Merge pull request #393 from boostorg/issue392
76d4eaf4b Patch for noinline attribute on the HIP compiler. Fixes boostorg/config#392.
c3de80c2e Merge pull request #387 from boostorg/issue382
a8bdf6ae2 Merge pull request #388 from boostorg/gcc4-4-fixes
42cff9687 Try and fix gcc-4.4 -fno-rtti failure.
73557f776 Correct boost_no_ctype_functions.ipp for C++20. See boostorg/config#382.
cfc6545ce Merge pull request #385 from boostorg/pr/boost-clang-version
eb3a0a98a Merge pull request #380 from xantares/mingw_tls
b80c25f47 Print __apple_build_version__ in config_info
8595667b3 Fix spelling of __APPLE__
a5b2dbdcf Merge pull request #384 from boostorg/pr/detail-workaround-guard
f1b4a51ce Merge pull request #383 from boostorg/pr/clang-major-workaround
098ca4a3c Document BOOST_CLANG_VERSION
0148ea5ea Print BOOST_CLANG, BOOST_CLANG_VERSION in config_info
1e63c7729 Define BOOST_CLANG_VERSION_WORKAROUND_GUARD
f6fdfb929 Define BOOST_CLANG_VERSION
e52aa5865 Update detail/workaround.hpp include guard
9e8099384 Define __clang_major___WORKAROUND_GUARD
98c3ac815 Allow thread_local on mingw with gcc>=11

git-subtree-dir: extern/boost/config
git-subtree-split: e108255ffb5d2557ed3398b3fc575a2e9fd434cc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants