[Bug]: "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" on fedora:rawhide
- Dominant language
- C++
- Stars
- 39.5k
- Forks
- 10.9k
- Avg merge
- 6d 13h
- Merged PRs (30d)
- 1
Description
### Describe the issue
On latest fedora:rawhide, both with clang++ (19.1.6) or g++ (15.0.1), in implicit mode or explicit -std=c++17, including gtest.h emits:
```
/usr/bin/../lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/ciso646:46:4: warning: " is deprecated in C++17, use to detect implementation-specific macros"
46 | # warning " is deprecated in C++17, use to detect implementation-specific macros"
| ^
```
workaround: use explicit -std=c++20
### Steps to reproduce the problem
docker run --rm -it fedora:rawhide
install gtest 1.15.2 in it
include gtest.h
### What version of GoogleTest are you using?
1.15.2
### What operating system and version are you using?
```
# cat /etc/redhat-release
Fedora release 41 (Rawhide)
```
### What compiler and version are you using?
clang++ (19.1.6) or g++ (15.0.1)
### What build system are you using?
all
### Additional context
_No response_
Contributor guide
Research direction
Reproduce the warning with the provided Fedora Rawhide Docker steps using GoogleTest 1.15.2 and both listed compilers. Start by inspecting the includes used by gtest.h and determine which include triggers the deprecated warning; done means the warning is absent when compiling in C++17 mode while existing tests still pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100