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 compiler warnings for -Wrange-loop-construct #1504

Merged
merged 1 commit into from
Jan 16, 2025
Merged

Conversation

ma8ma
Copy link
Collaborator

@ma8ma ma8ma commented Jan 16, 2025

Fedora 42に投入されるgcc15開発版でcompileすると出る警告を解消します。
man gccによると、-Wrange-loop-construct は -Wall で有効になると書いてありますが、gcc14だとこの警告は出ません。

gcc15開発版のレポート(抜粋)

../src/article/font.cpp:85:25: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const int [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:37:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:53:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:69:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:85:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:101:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:117:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:133:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:149:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]

パッチ作成の際に @mtasaka さんの[修正][1]を参考にしました。
バグ報告とパッチのご提供いただきまして、ありがとうございました。

[1] #1503 (comment)

Closes #1503

Fedora 42に投入されるgcc15開発版でcompileすると出る警告を解消します。
man gccによると、-Wrange-loop-construct は -Wall で有効になると
書いてありますが、gcc14だとこの警告は出ません。

gcc15開発版のレポート(抜粋)
```
../src/article/font.cpp:85:25: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const int [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:37:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:53:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:69:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:85:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:101:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:117:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:133:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
../test/gtest_dbtree_nodetreebase.cpp:149:15: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const char* const [2]’ [-Wrange-loop-construct]
```

パッチ作成の際に @mtasaka さんの修正[1]を参考にしました。
バグ報告とパッチのご提供いただきまして、ありがとうございました。

[1] #1503 (comment)

Co-authored-by: Mamoru TASAKA <[email protected]>
@ma8ma ma8ma added the bug バグの追跡 label Jan 16, 2025
@ma8ma ma8ma merged commit dacb880 into master Jan 16, 2025
20 checks passed
@ma8ma ma8ma deleted the fix-issue1503 branch January 16, 2025 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug バグの追跡
Projects
Development

Successfully merging this pull request may close these issues.

gcc15 で-Wrange-loop-construct の警告が出る
1 participant