Fix shadowing of ‘what’ as described in #10080. #10089
pull dooglus wants to merge 1 commits into bitcoin:master from dooglus:fix-what-shadowing changing 1 files +1 −1-
dooglus commented at 7:06 pm on March 26, 2017: contributor@paveljanik is this what you meant? I didn’t really understand your request.
-
Fix shadowing of 'what' as described in #10080. c8b6cc77bd
-
paveljanik commented at 7:08 pm on March 26, 2017: contributorClosing mine, as @dooglus was original reporter. Thanks!
-
paveljanik commented at 7:11 pm on March 26, 2017: contributor
-
dooglus commented at 8:03 pm on March 26, 2017: contributor
I’m seeing a lot of very similar warnings when building the Qt client:
1 qt/addressbookpage.cpp:24:108: warning: declaration of ‘parent’ shadows a member of 'this' [-Wshadow] 1 qt/addressbookpage.cpp:303:89: warning: declaration of ‘parent’ ... 1 qt/addresstablemodel.cpp:167:75: warning: declaration of ‘parent’ ... 1 qt/addresstablemodel.cpp:180:60: warning: declaration of ‘parent’ ... 1 qt/addresstablemodel.cpp:186:63: warning: declaration of ‘parent’ ... 1 qt/addresstablemodel.cpp:192:70: warning: declaration of ‘index’ ... 1 qt/addresstablemodel.cpp:239:90: warning: declaration of ‘index’ ... 1 qt/addresstablemodel.cpp:307:66: warning: declaration of ‘index’ ... 1 qt/addresstablemodel.cpp:324:86: warning: declaration of ‘parent’ ... 1 qt/addresstablemodel.cpp:327:24: warning: declaration of ‘data’ ... 1 qt/addresstablemodel.cpp:404:81: warning: declaration of ‘parent’ ... 1 qt/askpassphrasedialog.cpp:21:69: warning: declaration of ‘parent’ ... 1 qt/askpassphrasedialog.cpp:220:46: warning: declaration of ‘event’ ... 1 qt/askpassphrasedialog.cpp:237:69: warning: declaration of ‘event’ ... 1 qt/bantablemodel.cpp:85:49: warning: declaration of ‘parent’ ... 1 qt/bantablemodel.cpp:103:56: warning: declaration of ‘parent’ ... 1 qt/bantablemodel.cpp:109:59: warning: declaration of ‘parent’ ... 1 qt/bantablemodel.cpp:115:66: warning: declaration of ‘index’ ... 1 qt/bantablemodel.cpp:149:62: warning: declaration of ‘index’ ... 1 qt/bantablemodel.cpp:158:82: warning: declaration of ‘parent’ ... 1 qt/bantablemodel.cpp:161:19: warning: declaration of ‘data’ ... 1 qt/bitcoinaddressvalidator.cpp:18:75: warning: declaration of ‘parent’ ... 1 qt/bitcoinaddressvalidator.cpp:83:75: warning: declaration of ‘parent’ ... 1 qt/bitcoinamountfield.cpp:25:44: warning: declaration of ‘parent’ ... 1 qt/bitcoinamountfield.cpp:36:5: warning: declaration of ‘pos’ ... 1 qt/bitcoinamountfield.cpp:36:5: warning: declaration of ‘text’ ... 1 qt/bitcoinamountfield.cpp:62:5: warning: declaration of ‘value’ ... 1 qt/bitcoinamountfield.cpp:138:5: warning: declaration of ‘text’ ... 1 qt/bitcoinamountfield.cpp:153:5: warning: declaration of ‘event’ ... 1 qt/bitcoinamountfield.cpp:193:55: warning: declaration of ‘parent’ ... 1 qt/bitcoinamountfield.cpp:202:18: warning: declaration of ‘layout’ ... 1 qt/bitcoinamountfield.cpp:251:68: warning: declaration of ‘event’ ... 1 qt/bitcoinamountfield.cpp:273:55: warning: declaration of ‘value’ ... 1 qt/bitcoin.cpp:331:17: warning: declaration of ‘platformName’ ... 1 qt/bitcoingui.cpp:81:110: warning: declaration of ‘parent’ ... 1 qt/bitcoingui.cpp:128:13: warning: declaration of ‘windowTitle’ ... 1 qt/bitcoingui.cpp:577:13: warning: declaration of ‘toolTip’ ... 1 qt/bitcoingui.cpp:874:101: warning: declaration of ‘message’ ... 1 qt/bitcoingui.cpp:874:101: warning: declaration of ‘style’ ... 1 qt/bitcoingui.cpp:952:47: warning: declaration of ‘event’ ... 1 qt/bitcoingui.cpp:975:45: warning: declaration of ‘event’ ... 1 qt/bitcoingui.cpp:999:55: warning: declaration of ‘event’ ... 1 qt/bitcoingui.cpp:1006:45: warning: declaration of ‘event’ ... 1 qt/bitcoingui.cpp:1018:60: warning: declaration of ‘event’ ... 1 qt/bitcoingui.cpp:1216:69: warning: declaration of ‘event’ ... 1 qt/bitcoinunits.cpp:11:43: warning: declaration of ‘parent’ ... 1 qt/bitcoinunits.cpp:184:55: warning: declaration of ‘parent’ ... 1 qt/bitcoinunits.cpp:190:65: warning: declaration of ‘index’ ... 1 qt/clientmodel.cpp:32:70: warning: declaration of ‘parent’ ... 1 qt/coincontroldialog.cpp:46:90: warning: declaration of ‘parent’ ... 1 qt/coincontroltreewidget.cpp:8:61: warning: declaration of ‘parent’ ... 1 qt/coincontroltreewidget.cpp:14:59: warning: declaration of ‘event’ ... 1 qt/editaddressdialog.cpp:14:65: warning: declaration of ‘parent’ ... 1 qt/guiutil.cpp:977:58: warning: declaration of ‘event’ ... 1 qt/guiutil.cpp:982:64: warning: declaration of ‘event’ ... 1 qt/guiutil.cpp:456:86: warning: declaration of ‘parent’ ... 1 qt/guiutil.cpp:585:152: warning: declaration of ‘parent’ ... 1 qt/intro.cpp:118:29: warning: declaration of ‘parent’ ... 1 qt/modaloverlay.cpp:15:43: warning: declaration of ‘parent’ ... 1 qt/modaloverlay.cpp:149:58: warning: declaration of ‘hide’ ... 1 qt/openuridialog.cpp:13:45: warning: declaration of ‘parent’ ... 1 qt/optionsdialog.cpp:33:64: warning: declaration of ‘parent’ ... 1 qt/optionsdialog.cpp:89:31: warning: declaration of ‘locale’ ... 1 qt/optionsdialog.cpp:324:61: warning: declaration of ‘parent’ ... 1 qt/optionsmodel.cpp:31:63: warning: declaration of ‘parent’ ... 1 qt/optionsmodel.cpp:176:56: warning: declaration of ‘parent’ ... 1 qt/optionsmodel.cpp:182:66: warning: declaration of ‘index’ ... 1 qt/optionsmodel.cpp:258:87: warning: declaration of ‘index’ ... 1 qt/overviewpage.cpp:28:81: warning: declaration of ‘parent’ ... 1 qt/overviewpage.cpp:111:79: warning: declaration of ‘parent’ ... 1 qt/paymentserver.cpp:298:68: warning: declaration of ‘parent’ ... 1 qt/paymentserver.cpp:346:63: warning: declaration of ‘event’ ... 1 qt/peertablemodel.cpp:112:51: warning: declaration of ‘parent’ ... 1 qt/peertablemodel.cpp:146:57: warning: declaration of ‘parent’ ... 1 qt/peertablemodel.cpp:152:60: warning: declaration of ‘parent’ ... 1 qt/peertablemodel.cpp:158:67: warning: declaration of ‘index’ ... 1 qt/peertablemodel.cpp:197:63: warning: declaration of ‘index’ ... 1 qt/peertablemodel.cpp:206:83: warning: declaration of ‘parent’ ... 1 qt/peertablemodel.cpp:209:25: warning: declaration of ‘data’ ... 1 qt/receivecoinsdialog.cpp:25:92: warning: declaration of ‘parent’ ... 1 qt/receivecoinsdialog.cpp:213:57: warning: declaration of ‘event’ ... 1 qt/receivecoinsdialog.cpp:219:56: warning: declaration of ‘event’ ... 1 qt/receiverequestdialog.cpp:32:45: warning: declaration of ‘parent’ ... 1 qt/receiverequestdialog.cpp:51:55: warning: declaration of ‘event’ ... 1 qt/receiverequestdialog.cpp:85:62: warning: declaration of ‘event’ ... 1 qt/receiverequestdialog.cpp:92:59: warning: declaration of ‘parent’ ... 1 qt/receiverequestdialog.cpp:172:22: warning: declaration of ‘y’ ... 1 qt/receiverequestdialog.cpp:174:26: warning: declaration of ‘x’ ... 1 qt/receiverequestdialog.cpp:186:19: warning: declaration of ‘font’ ... 1 qt/recentrequeststablemodel.cpp:16:88: warning: declaration of ‘parent’ ... 1 qt/recentrequeststablemodel.cpp:39:67: warning: declaration of ‘parent’ ... 1 qt/recentrequeststablemodel.cpp:46:70: warning: declaration of ‘parent’ ... 1 qt/recentrequeststablemodel.cpp:53:77: warning: declaration of ‘index’ ... 1 qt/recentrequeststablemodel.cpp:101:97: warning: declaration of ‘index’ ... 1 qt/recentrequeststablemodel.cpp:131:93: warning: declaration of ‘parent’ ... 1 qt/recentrequeststablemodel.cpp:138:88: warning: declaration of ‘parent’ ... 1 qt/recentrequeststablemodel.cpp:161:73: warning: declaration of ‘index’ ... 1 qt/recentrequeststablemodel.cpp:186:28: warning: declaration of ‘data’ ... 1 qt/recentrequeststablemodel.cpp:189:24: warning: declaration of ‘entry’ ... 1 qt/rpcconsole.cpp:409:76: warning: declaration of ‘parent’ ... 1 qt/rpcconsole.cpp:471:57: warning: declaration of ‘event’ ... 1 qt/rpcconsole.cpp:738:48: warning: declaration of ‘event’ ... 1 qt/rpcconsole.cpp:746:73: warning: declaration of ‘message’ ... 1 qt/rpcconsole.cpp:1066:49: warning: declaration of ‘event’ ... 1 qt/rpcconsole.cpp:1071:45: warning: declaration of ‘event’ ... 1 qt/rpcconsole.cpp:1082:45: warning: declaration of ‘event’ ... 1 qt/sendcoinsdialog.cpp:35:86: warning: declaration of ‘parent’ ... 1 qt/sendcoinsdialog.cpp:879:20: warning: declaration of ‘parent’ ... 1 qt/sendcoinsdialog.cpp:879:20: warning: declaration of ‘text’ ... 1 qt/sendcoinsentry.cpp:18:84: warning: declaration of ‘parent’ ... 1 qt/signverifymessagedialog.cpp:23:102: warning: declaration of ‘parent’ ... 1 qt/signverifymessagedialog.cpp:261:73: warning: declaration of ‘event’ ... 1 qt/splashscreen.cpp:39:11: warning: declaration of ‘devicePixelRatio’ ... 1 qt/splashscreen.cpp:50:13: warning: declaration of ‘font’ ... 1 qt/splashscreen.cpp:106:19: warning: declaration of ‘x’ ... 1 qt/splashscreen.cpp:107:19: warning: declaration of ‘y’ ... 1 qt/splashscreen.cpp:205:49: warning: declaration of ‘event’ ... 1 qt/splashscreen.cpp:214:49: warning: declaration of ‘event’ ... 1 qt/transactiondescdialog.cpp:12:85: warning: declaration of ‘parent’ ... 1 qt/transactionfilterproxy.cpp:19:63: warning: declaration of ‘parent’ ... 1 qt/transactionfilterproxy.cpp:34:17: warning: declaration of ‘index’ ... 1 qt/transactionfilterproxy.cpp:104:65: warning: declaration of ‘parent’ ... 1 qt/transactiontablemodel.cpp:285:64: warning: declaration of ‘parent’ ... 1 qt/transactiontablemodel.cpp:291:67: warning: declaration of ‘parent’ ... 1 qt/transactiontablemodel.cpp:521:74: warning: declaration of ‘index’ ... 1 qt/transactiontablemodel.cpp:694:90: warning: declaration of ‘parent’ ... 1 qt/transactiontablemodel.cpp:697:24: warning: declaration of ‘data’ ... 1 qt/transactiontablemodel.cpp:238:120: warning: declaration of ‘parent’ ... 1 qt/transactionview.cpp:38:85: warning: declaration of ‘parent’ ... 1 qt/transactionview.cpp:123:9: warning: declaration of ‘width’ ... 1 qt/transactionview.cpp:146:14: warning: declaration of ‘copyTxPlainText’ ... 1 qt/transactionview.cpp:503:18: warning: declaration of ‘layout’ ... 1 qt/transactionview.cpp:555:54: warning: declaration of ‘event’ ... 1 qt/transactionview.cpp:562:62: warning: declaration of ‘event’ ... 1 qt/utilitydialog.cpp:34:65: warning: declaration of ‘parent’ ... 1 qt/utilitydialog.cpp:74:28: warning: declaration of ‘cursor’ ... 1 qt/utilitydialog.cpp:164:66: warning: declaration of ‘parent’ ... 1 qt/utilitydialog.cpp:167:18: warning: declaration of ‘layout’ ... 1 qt/utilitydialog.cpp:190:51: warning: declaration of ‘event’ ... 1 qt/walletmodel.cpp:33:124: warning: declaration of ‘parent’ ... 1 qt/walletview.cpp:32:76: warning: declaration of ‘parent’ ... 1 qt/walletview.cpp:152:89: warning: declaration of ‘parent’ ... 29 qt/paymentrequest.pb.h:844:63: warning: declaration of ‘script’ ... 29 qt/paymentrequest.pb.h:924:73: warning: declaration of ‘network’ ... 29 qt/paymentrequest.pb.h:1078:67: warning: declaration of ‘memo’ ... 29 qt/paymentrequest.pb.h:1154:81: warning: declaration of ‘payment_url’ ... 29 qt/paymentrequest.pb.h:1230:85: warning: declaration of ‘merchant_data’ ... 29 qt/paymentrequest.pb.h:1334:75: warning: declaration of ‘pki_type’ ... 29 qt/paymentrequest.pb.h:1410:75: warning: declaration of ‘pki_data’ ... 29 qt/paymentrequest.pb.h:1486:111: warning: declaration of ‘serialized_payment_details’ ... 29 qt/paymentrequest.pb.h:1562:77: warning: declaration of ‘signature’ ... 29 qt/paymentrequest.pb.h:1700:78: warning: declaration of ‘merchant_data’ ... 29 qt/paymentrequest.pb.h:1860:60: warning: declaration of ‘memo’ ... 29 qt/paymentrequest.pb.h:1908:75: warning: declaration of ‘payment’ ... 29 qt/paymentrequest.pb.h:1981:63: warning: declaration of ‘memo’ ... 4 qt/coincontroldialog.h:34:66: warning: declaration of ‘parent’ ... 4 qt/coincontroldialog.h:34:66: warning: declaration of ‘type’ ... 4 qt/coincontroldialog.h:35:45: warning: declaration of ‘type’ ... 4 qt/coincontroldialog.h:36:70: warning: declaration of ‘parent’ ... 4 qt/coincontroldialog.h:36:70: warning: declaration of ‘type’ ...
I don’t remember seeing them previously (like on the 0.14 branch). What is causing all this ‘shadowing’ all of a sudden?
-
paveljanik commented at 8:14 pm on March 26, 2017: contributorWe turned on
-Wshadow
warnings. These are not emitted in newer gccs/clang. -
dooglus commented at 8:17 pm on March 26, 2017: contributor
Well that explains it then!
I’m happy to fix these warnings if there’s an acceptable way of coming up with alternative non-shadowing argument names. You didn’t like my underscore, and I don’t know how you came up with your suggested replacement name.
-
fanquake added the label Refactoring on Mar 26, 2017
-
jonasschnelli commented at 6:32 am on March 27, 2017: contributorutACK c8b6cc77bdb17f872e18c7e7ccb01913ca6beebc. Thanks @dooglus for the list. Yes. We should try to fix those.
-
laanwj commented at 6:59 am on March 27, 2017: member
We turned on -Wshadow warnings. These are not emitted in newer gccs/clang.
Yes, ever since enabling them (and before that) there has been a huge discussion about this. See also my comment here: #9911 (comment)
Unlike in C, for C++ the concept of shadowing seems to be somewhat subjective per compiler vendor and version. So if the source code is clear in clang, it may still cough up tons of warnings in g++. Older versions of g++ tend to go over the top to emit as many warnings as possible.
We cannot and should not fix all shadowing warnings for all compilers. Maybe it would make sense to disable the warning for some older gccs. Or as I’ve said many times I think this is getting out of hand and we should disable WShadow. There’s a large chance that one of the ‘fixes’ for WShadow, which seem to trail any larger change in the source code, introduce a bug.
-
MarcoFalke commented at 8:50 pm on March 27, 2017: memberNACK. Let’s disable wshadow on oder gcc versions.
-
fanquake closed this on Mar 30, 2017
-
laanwj referenced this in commit 2c83911401 on Apr 1, 2017
-
practicalswift referenced this in commit c8afd888d2 on Apr 27, 2017
-
MarcoFalke locked this on Sep 8, 2021
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-19 00:12 UTC
More mirrored repositories can be found on mirror.b10c.me