google / google/googletest

[Bug]: "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" on fedora:rawhide

Open
#4,701 5 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.