Closed
Bug 1019382
Opened 11 years ago
Closed 10 years ago
gmock-generated-function-mockers.h triggers gcc 4.8 build warnings like "typedef 'this_method_does_not_take_0_arguments' locally defined but not used [-Wunused-local-typedefs]"
Categories
(Testing :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla37
People
(Reporter: dholbert, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
1.79 KB,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
STR:
Build mozilla-central with GCC 4.8. (Default gcc version on Ubuntu 14.04)
(Optional: add FAIL_ON_WARNINGS to testing/gtest/moz.build to make warnings easier to notice)
ACTUAL RESULTS:
Build warnings like the following (with -Werror in the output here because I had FAIL_ON_WARNINGS):
{
testing/gtest/mozilla/SanityTest.cpp: In member function 'testing::internal::Function<void()>::Result {anonymous}::TestMock::MockedCall()':
testing/gtest/gmock/include/gmock/gmock-generated-function-mockers.h:351:9: error: typedef 'this_method_does_not_take_0_arguments' locally defined but not used [-Werror=unused-local-typedefs]
}
See also bug 1018270 for another warning-fix in this same directory.
Reporter | ||
Updated•11 years ago
|
Blocks: buildwarning
Reporter | ||
Comment 1•11 years ago
|
||
This warning is for typedefs being shoehorned into static assertions.
We have at least 2 options for fixing this:
(A) We could label the typedefs as intentionally-unused, like we did in https://hg.mozilla.org/mozilla-central/rev/9455756963a4 , back when we had MOZ_STATIC_ASSERT and when it caused this same problem.
(B) We could switch this file to using C++11's "static_assert" (which the rest of our codebase has moved to, in bug 895322).
Reporter | ||
Comment 2•11 years ago
|
||
(We get these warnings in other gtest directories too, of course, like gfx/tests/gtest )
Comment 3•10 years ago
|
||
I started getting this on m-c and fx-team today, like:
7:15.26 In file included from ../../../dist/include/gtest/internal/gtest-internal.h:40:0,
7:15.26 from ../../../dist/include/gtest/gtest.h:57,
7:15.26 from /home/tromey/firefox-git/gecko-dev/gfx/tests/gtest/TestAsyncPanZoomController.cpp:6,
7:15.26 from /home/tromey/firefox-git/gecko-dev/obj-x86_64-unknown-linux-gnu/gfx/tests/gtest/Unified_cpp_gfx_tests_gtest0.cpp:38:
7:15.26 ../../../dist/include/gmock/gmock-actions.h: In member function ‘testing::internal::ReturnAction<R>::operator testing::Action<Func>() const’:
7:15.26 ../../../dist/include/gmock/gmock-actions.h:471:9: error: typedef ‘use_ReturnRef_instead_of_Return_to_return_a_reference’ locally defined but not used [-Werror=unused-local-typedefs]
I have a fix following option A in comment #1. I'll attach it shortly.
Comment 4•10 years ago
|
||
Comment 6•10 years ago
|
||
Comment on attachment 8533761 [details] [diff] [review]
use GTEST_ATTRIBUTE_UNUSED_ to avoid gcc 4.8 compiler warning
This patch fixes the subset of errors I saw while trying to build
m-c on Fedora 20 today, using --enable-warnings-as-errors.
I am not sure whether it is sufficient to fix this bug (I don't
seem to see the reported issues as-is) but it seems necessary.
Attachment #8533761 -
Flags: review?(ted)
Comment 7•10 years ago
|
||
Comment on attachment 8533761 [details] [diff] [review]
use GTEST_ATTRIBUTE_UNUSED_ to avoid gcc 4.8 compiler warning
Review of attachment 8533761 [details] [diff] [review]:
-----------------------------------------------------------------
These are fine, but Google Test is also an upstream project, so if it's not already fixed there you should submit a patch upstream:
https://code.google.com/p/googletest/
Attachment #8533761 -
Flags: review?(ted) → review+
Comment 8•10 years ago
|
||
(In reply to Ted Mielczarek [:ted.mielczarek] from comment #7)
> These are fine, but Google Test is also an upstream project, so if it's not
> already fixed there you should submit a patch upstream:
> https://code.google.com/p/googletest/
Thanks.
The gtest patch appears to already be upstream:
https://code.google.com/p/googletest/source/browse/trunk/include/gtest/internal/gtest-port.h#1054
I sent a note to the gmock forum with the original error message from gmock and
a pointer to both this bug and directly to the patch. (I looked at filing a bug
or sending a patch, but the process for a patch requires a bug, and the bug tracker
says to send email instead.)
Keywords: checkin-needed
Comment 9•10 years ago
|
||
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
You need to log in
before you can comment on or make changes to this bug.
Description
•