[Bug c++/98459] [8/9/10/11 Regression] ICE in linemap_position_for_line_and_column, at libcpp/line-map.c:923 since r6-6901-g876217ae71cf0b34
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98459 Sylvestre Ledru changed: What|Removed |Added CC||sylvestre at debian dot org --- Comment #2 from Sylvestre Ledru --- FWIW, I am experiencing this building Firefox
[Bug c++/82711] -Wignored-qualifiers could be moved into -Wextra
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82711 Sylvestre Ledru changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #7 from Sylvestre Ledru --- Indeed, thanks for implementing the change!
[Bug c++/82734] -Wignored-qualifiers is maybe too strict when using decltype
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82734 --- Comment #3 from Sylvestre Ledru --- For people who are getting these error, we fixed it with: static_cast::type>(INT32_MAX)
[Bug c++/82711] -Wignored-qualifiers could be moved into -Wextra
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82711 --- Comment #3 from Sylvestre Ledru --- Jonathan, if I write a patch to implement the change, will you accept it?
[Bug middle-end/46989] Mixing "-fprofile-arcs -ftest-coverage" and OpenMP triggers a bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46989 Sylvestre Ledru changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |WONTFIX --- Comment #3 from Sylvestre Ledru --- Open for 7 years, no action but no duplicate, I think I can close it.
[Bug c++/84097] New: [8 regression] Incorrect -Wunused-but-set-variable warning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84097 Bug ID: 84097 Summary: [8 regression] Incorrect -Wunused-but-set-variable warning Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sylvestre at debian dot org CC: jakub at gcc dot gnu.org, jason at gcc dot gnu.org, sgunderson at bigfoot dot com, trippels at gcc dot gnu.org, unassigned at gcc dot gnu.org, webrown.cpp at gmail dot com Target Milestone: --- +++ This bug was initially created as a clone of Bug #82728 +++ Seen in Firefox code: /root/firefox-gcc-last/dom/animation/KeyframeUtils.cpp: In member function 'uint32_t mozilla::PropertyPriorityComparator::SubpropertyCount(nsCSSPropertyID) const': /root/firefox-gcc-last/layout/style/nsCSSProps.h:689:29: error: variable 'es_' set but not used [-Werror=unused-but-set-variable] es_ = (nsCSSPropertyID)((enabledstate_) | \ ^~~ #define CSSPROPS_FOR_SHORTHAND_SUBPROPERTIES(it_, prop_, enabledstate_) \ for (const nsCSSPropertyID *it_ = nsCSSProps::SubpropertyEntryFor(prop_), \ es_ = (nsCSSPropertyID)((enabledstate_) | \ CSSEnabledState(0));\ *it_ != eCSSProperty_UNKNOWN; ++it_) \ if (nsCSSProps::IsEnabled(*it_, (mozilla::CSSEnabledState) es_)) We can see that es_ is used at the last line. This issue doesn't occur with gcc 7. Unreduced test case http://sylvestre.ledru.info/bordel/gcc-unused-but-set-variable.tar.gz 1.1mb (sorry) $ g++-8 -c -Werror=unused-but-set-variable foo.cpp
[Bug c/83586] [8 regression] Invalid reported line with -Wformat-truncation on stdio2.h
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83586 Sylvestre Ledru changed: What|Removed |Added Summary|[8 regression] Invalid |[8 regression] Invalid |-Wformat-truncation on |reported line with |stdio2.h|-Wformat-truncation on ||stdio2.h --- Comment #3 from Sylvestre Ledru --- Actually, the issue is that the line showed should be call to print like NS_tsnprintf(spath, sizeof(spath)/sizeof(spath[0]), NS_T("%s/updating/%d.patch"), gWorkingDirPath, mPatchIndex); and not the function name.
[Bug c/83586] [8 regression] Invalid -Wformat-truncation on stdio2.h
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83586 --- Comment #2 from Sylvestre Ledru --- Created attachment 43020 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43020&action=edit preprocessed file Here is the same issue on a smaller file.
[Bug c/83586] New: [8 regression] Invalid -Wformat-truncation on stdio2.h
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83586 Bug ID: 83586 Summary: [8 regression] Invalid -Wformat-truncation on stdio2.h Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: sylvestre at debian dot org CC: trippels at gcc dot gnu.org Target Milestone: --- /root/firefox-gcc-last/dom/gamepad/linux/LinuxGamepad.cpp: In member function 'void {anonymous}::LinuxGamepadService::AddDevice(mozilla::udev_device*)': /root/firefox-gcc-last/dom/gamepad/linux/LinuxGamepad.cpp:87:1: error: '%s' directive output may be truncated writing up to 127 bytes into a region of size between 112 and 126 [-Werror=format-truncation=] LinuxGamepadService::AddDevice(struct udev_device* dev) ^~~ In file included from /usr/include/stdio.h:938, from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/system_wrappers/stdio.h:3, from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/nsTraceRefcnt.h:9, from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:23, from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Casting.h:12, from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/js/Value.h:13, from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/ErrorResult.h:31, from /root/firefox-gcc-last/dom/gamepad/Gamepad.h:10, from /root/firefox-gcc-last/dom/gamepad/Gamepad.cpp:7, from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dom/gamepad/Unified_cpp_dom_gamepad0.cpp:2: /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:35: note: '__builtin___snprintf_chk' output 3 or more bytes (assuming 144) into a destination of size 128 return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, ~^~~ __bos (__s), __fmt, __va_arg_pack ()); ~ cc1plus: all warnings being treated as errors Not sure what is going on but we don't have this issue with gcc 7
[Bug c++/83461] New: [8 regression] Segmentation fault on __attribute__ with multiple inheritance
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83461 Bug ID: 83461 Summary: [8 regression] Segmentation fault on __attribute__ with multiple inheritance Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sylvestre at debian dot org CC: jakub at gcc dot gnu.org, trippels at gcc dot gnu.org Target Milestone: --- Building Firefox with gcc 8 from Debian experimental: g++-8 (Debian 8-20171213-1) 8.0.0 20171213 (experimental) [trunk revision 255604] $ g++-8 foo.cpp foo4.cpp:12:68: internal compiler error: Segmentation fault __attribute__ ((warn_unused_result)) int AddCookiesToRequest(void); ^ $ cat foo.cpp class foo { int AddCookiesToRequest(void); }; class bar { int AddCookiesToRequest(void); }; class HttpChannelChild final : public bar , public foo { __attribute__ ((warn_unused_result)) int AddCookiesToRequest(void); };
[Bug c++/82734] -Wignored-qualifiers is maybe too strict when using decltype
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82734 --- Comment #2 from Sylvestre Ledru --- I could, the code would be just more complex for no gain. Just like with bug 82711, gcc is way too careful here and the warning is just adding noise.
[Bug c++/82751] New: g++ 8 is breaking assert_lt (gtest) called from a lambda function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82751 Bug ID: 82751 Summary: g++ 8 is breaking assert_lt (gtest) called from a lambda function Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sylvestre at debian dot org Target Milestone: --- Created attachment 42490 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42490&action=edit the ii file With --- #include "gtest/gtest.h" TEST(foo, bar) { const size_t kExpectedCount = 0; const size_t count = 0; auto f = []() { ASSERT_LT(count, kExpectedCount); }; } --- $ /usr/bin/g++-7 -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include -fno-exceptions TestNSPRLogModulesParser.cpp -c $ /usr/bin/g++-8 -I/root/firefox-gcc-last/xpcom/tests/gtest -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/xpcom/tests/gtest -I/root/firefox-gcc-last/xpcom/base -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include -fno-exceptions TestNSPRLogModulesParser.cpp -c In file included from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/gtest/gtest.h:1874:0, from TestNSPRLogModulesParser.cpp:1: TestNSPRLogModulesParser.cpp: In lambda function: /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/gtest/gtest_pred_impl.h:147:45: error: lvalue required as unary '&' operand GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), \ ^ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/gtest/gtest_pred_impl.h:77:52: note: in definition of macro 'GTEST_ASSERT_' if (const ::testing::AssertionResult gtest_ar = (expression)) \ ^~ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/gtest/gtest_pred_impl.h:166:3: note: in expansion of macro 'GTEST_PRED_FORMAT2_' GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_) ^~~ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/gtest/gtest.h:1946:3: note: in expansion of macro 'ASSERT_PRED_FORMAT2' ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2) ^~~ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/gtest/gtest.h:1968:32: note: in expansion of macro 'GTEST_ASSERT_LT' # define ASSERT_LT(val1, val2) GTEST_ASSERT_LT(val1, val2) ^~~ TestNSPRLogModulesParser.cpp:8:7: note: in expansion of macro 'ASSERT_LT' ASSERT_LT(count, kExpectedCount); ^
[Bug c++/82734] New: -Wignored-qualifiers is maybe too strict when using decltype
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82734 Bug ID: 82734 Summary: -Wignored-qualifiers is maybe too strict when using decltype Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sylvestre at debian dot org Target Milestone: --- With the following code: #include #include void foo() { const int BLOCK_SIZE = 42; static_assert( BLOCK_SIZE < static_cast(INT32_MAX)); } # g++-7 -c -Wall -Wignored-qualifiers foo.cpp # g++-8 -c -Wall -Wignored-qualifiers foo.cpp foo.cpp: In function 'void foo()': foo.cpp:9:50: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] static_cast(INT32_MAX)); ^ Either: * The warning is too strict. In some cases, I don't control what BLOCK_SIZE can be and the const isn't a big deal * I should have in the warning the definition of BLOCK_SIZE to have an idea of what is going on.
[Bug c++/82561] [8 regression] crash on internal compiler error: in cp_tree_equal, at cp/tree.c:3778
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82561 Sylvestre Ledru changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #8 from Sylvestre Ledru --- I cannot reproduce it with g++-8 (Debian 8-20171023-1) 8.0.0 20171023 (experimental) [trunk revision 253997] closing, sorry for the noise.
[Bug c/82728] New: Incorrect -Wunused-but-set-variable warning with a const
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82728 Bug ID: 82728 Summary: Incorrect -Wunused-but-set-variable warning with a const Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: sylvestre at debian dot org Target Milestone: --- with: void foo(void) { const int ID = 1; switch (0) { case ID: break; } } # gcc-7 -Wall -c foo.cpp # gcc-8 -Wall -c foo.cpp foo.cpp: In function 'void foo()': foo.cpp:2:13: warning: variable 'ID' set but not used [-Wunused-but-set-variable] const int ID = 1; ^~
[Bug c++/82711] New: -Wignored-qualifiers could be moved into -Wextra
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82711 Bug ID: 82711 Summary: -Wignored-qualifiers could be moved into -Wextra Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sylvestre at debian dot org Target Milestone: --- Compiling Firefox, we fixed several warnings found by -Wignored-qualifiers I wonder if this option should not be moved under -Wextra. The extra const isn't hurting and in a way improves readability. Context: https://bugzilla.mozilla.org/show_bug.cgi?id=1411034
[Bug c++/82710] Incorrect warning:unnecessary parentheses in declaration of global friend functions [-Werror=parentheses]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82710 --- Comment #1 from Sylvestre Ledru --- With gcc-8 (Debian 8-20171023-1) 8.0.0 20171023 (experimental) [trunk revision 253997]
[Bug c++/82600] Address of local variable returned [-Werror=return-local-addr] when building mozilla-central
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82600 --- Comment #3 from Sylvestre Ledru --- Created attachment 42389 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42389&action=edit preprocessed file
[Bug c++/82600] Address of local variable returned [-Werror=return-local-addr] when building mozilla-central
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82600 --- Comment #2 from Sylvestre Ledru --- the command line: /usr/bin/g++-8 -std=gnu++11 -o Unified_cpp_memory_build0.o -c -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/system_wrappers -include /root/firefox-gcc-last/config/gcc_hidden.h -DDEBUG=1 -DMOZ_MEMORY_IMPL -DMOZ_HAS_MOZGLUE -I/root/firefox-gcc-last/memory/build -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/memory/build -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/nspr -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/mozilla-config.h -MD -MP -MF .deps/Unified_cpp_memory_build0.o.pp -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++14-compat -Wc++1z-compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -Wformat-overflow=2 -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -Os -fno-omit-frame-pointer -Werror -Wno-unused-function -Wno-error=uninitialized -fdiagnostics-color /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/memory/build/Unified_cpp_memory_build0.cpp
[Bug c++/82561] [8 regression] crash on internal compiler error: in cp_tree_equal, at cp/tree.c:3778
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82561 Sylvestre Ledru changed: What|Removed |Added CC||doko at debian dot org --- Comment #7 from Sylvestre Ledru --- I asked Doko to upload a new version of gcc 8 into Debian so that I can test again (at least about a month old). If still occurring, I will try to get a test case.
[Bug c++/82561] [8 regression] crash on internal compiler error: in cp_tree_equal, at cp/tree.c:3778
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82561 --- Comment #5 from Sylvestre Ledru --- Created attachment 42377 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42377&action=edit the .ii
[Bug c++/82561] [8 regression] crash on internal compiler error: in cp_tree_equal, at cp/tree.c:3778
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82561 --- Comment #4 from Sylvestre Ledru --- Created attachment 42376 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42376&action=edit the .s
[Bug c++/82561] [8 regression] crash on internal compiler error: in cp_tree_equal, at cp/tree.c:3778
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82561 --- Comment #2 from Sylvestre Ledru --- Created attachment 42375 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42375&action=edit preprocessed file
[Bug c++/82561] New: [8 regression] crash on internal compiler error: in cp_tree_equal, at cp/tree.c:3778
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82561 Bug ID: 82561 Summary: [8 regression] crash on internal compiler error: in cp_tree_equal, at cp/tree.c:3778 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sylvestre at debian dot org Target Milestone: --- Trying to build Firefox using g++8 (from Debian exp), version 8-20170923-1 /usr/bin/g++-8 -std=gnu++11 -c -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/system_wrappers -include /root/firefox-gcc-last/config/gcc_hidden.h -DDEBUG=1 -std=gnu++11 -o jsatom.o -c -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/system_wrappers -include /root/firefox-gcc-last/config/gcc_hidden.h -DDEBUG=1 -DENABLE_BINARYDATA -DENABLE_SIMD -DENABLE_WASM_THREAD_OPS -DWASM_HUGE_MEMORY -DJS_CACHEIR_SPEW -DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DJS_HAS_CTYPES '-DDLL_PREFIX="lib"' '-DDLL_SUFFIX=".so"' -DFFI_BUILDING -DMOZ_HAS_MOZGLUE -I/root/firefox-gcc-last/js/src -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/js/src -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/js/src/ctypes/libffi/include -I/root/firefox-gcc-last/js/src/ctypes/libffi/src/x86 -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include -I/root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/js/src/js-confdefs.h -MD -MP -MF -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++14-compat -Wc++1z-compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -Wformat-overflow=2 -Wno-noexcept-type -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -O3 -fno-omit-frame-pointer -Werror -Wno-shadow -Werror=format $OLDPWD/jsatom.cpp In file included from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/HashFunctions.h:50:0, from /root/firefox-gcc-last/js/src/jsatom.h:10, from /root/firefox-gcc-last/js/src/jsatominlines.h:10, from /root/firefox-gcc-last/jsatom.cpp:2: /root/firefox-gcc-last/js/src/jit/RegisterSets.h: In member function 'void js::jit::SpecializedRegSet::add(js::jit::FloatRegister)': /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:417:71: internal compiler error: in cp_tree_equal, at cp/tree.c:3778 static_assert(mozilla::detail::AssertionConditionType::isValid, \ ^ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:432:5: note: in expansion of macro 'MOZ_VALIDATE_ASSERT_CONDITION_TYPE' MOZ_VALIDATE_ASSERT_CONDITION_TYPE(expr); \ ^~ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:450:39: note: in expansion of macro 'MOZ_ASSERT_HELPER1' #define MOZ_RELEASE_ASSERT_GLUE(a, b) a b ^ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:452:3: note: in expansion of macro 'MOZ_RELEASE_ASSERT_GLUE' MOZ_RELEASE_ASSERT_GLUE( \ ^~~ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/MacroArgs.h:16:26: note: in expansion of macro 'MOZ_CONCAT2' #define MOZ_CONCAT(x, y) MOZ_CONCAT2(x, y) ^~~ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/MacroArgs.h:73:51: note: in expansion of macro 'MOZ_CONCAT' #define MOZ_PASTE_PREFIX_AND_ARG_COUNT_GLUE(a, b) a b ^ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/MacroArgs.h:75:3: note: in expansion of macro 'MOZ_PASTE_PREFIX_AND_ARG_COUNT_GLUE' MOZ_PASTE_PREFIX_AND_ARG_COUNT_GLUE( \ ^~~ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:453:5: note: in expansion of macro 'MOZ_PASTE_PREFIX_AND_ARG_COUNT' MOZ_PASTE_PREFIX_AND_ARG_COUNT(MOZ_ASSERT_HELPER, __VA_ARGS__), \ ^~ /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:457:27: note: in expansion of macro 'MOZ_RELEASE_ASSERT' # define MOZ_ASSERT(...) MOZ_RELEASE_ASSERT(__VA_ARGS__) ^~ /root/firefox-gcc-last/js/src/jit/RegisterSets.h:930:9: note: in expansion of macro 'MOZ_ASSERT' MOZ_ASSERT(
[Bug debug/81993] [7 Regression] -gsplit-dwarf removes some symbols, causing some undefined references
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81993 --- Comment #13 from Sylvestre Ledru --- Thanks, I appreciate the very quick reaction!
[Bug debug/81993] [7/8 Regression] -gsplit-dwarf removes some symbols, causing some undefined references
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81993 --- Comment #7 from Sylvestre Ledru --- Not my call but I am using it to build the llvm toolchain on i386. Without gsplit-dwarf, I cannot link on the platform, it fails on: /usr/bin/ld.gold: fatal error: ../../../../lib/liblldb-3.9.so.1: mmap: failed to allocate 1361713520 bytes for output file: Cannot allocate memory
[Bug debug/81993] New: gcc 7.X -gsplit-dwarf removes some symbols, causing some undefined references
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81993 Bug ID: 81993 Summary: gcc 7.X -gsplit-dwarf removes some symbols, causing some undefined references Product: gcc Version: 7.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: sylvestre at debian dot org Target Milestone: --- Reported https://bugs.llvm.org/show_bug.cgi?id=34140 & discussed https://gcc.gnu.org/ml/gcc/2017-08/msg00287.html Adding __attribute__((used)) fixed the issue for the clang build. sorry I don't have a test case.
[Bug tree-optimization/80374] [7 Regression] ICE in fold_convert_loc, at fold-const.c:2384
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80374 Sylvestre Ledru changed: What|Removed |Added CC||sylvestre at debian dot org --- Comment #1 from Sylvestre Ledru --- FWIW, this is breaking one of the unit test of Firefox.
[Bug c/79082] -Wformat-truncation inconsistent behaviour
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79082 Sylvestre Ledru changed: What|Removed |Added CC||sylvestre at debian dot org --- Comment #11 from Sylvestre Ledru --- Other testcase: --- #include #include int main() { char* buf = new char[10]; uint8_t data = 255; printf("%.2x\n", data);// just print data snprintf(&buf[0], 2, "%.2x", data); return 0; } --- foo.c:7:13: note: format output 3 bytes into a destination of size 2 snprintf(&buf[0], 2, "%.2x", data); ^~ ---
[Bug c++/67989] [REGRESSION] g++ ICE on armel valid code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67989 Sylvestre Ledru changed: What|Removed |Added CC||sylvestre at debian dot org --- Comment #2 from Sylvestre Ledru --- The actual error is: // /usr/include/c++/5/bits/atomic_base.h: In member function 'bool lldb::SBAddress::OffsetAddress(lldb::addr_t)': // /usr/include/c++/5/bits/atomic_base.h:396:35: internal compiler error: in emit_move_insn, at expr.c:3601 // return __atomic_load_n(&_M_i, __m); //^
[Bug c++/55189] enable -Wreturn-type by default
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55189 --- Comment #10 from Sylvestre Ledru --- (In reply to Manuel López-Ibáñez from comment #9) > > Cool! Hopefully it goes quickly. After that, I would suggest that you submit > the patch to gcc-patches and CC Jason Merrill and Dodji Seketeli, either of > them should be able to approve this. Sure. Thanks for the suggestion. > I noticed that your patch does not update doc/invoke.texi to reflect the > fact that -Wreturn-type is enabled by default instead of by -Wall (it would > be great to automatically generate some parts of the manual from the options > description). I will have a look! > I also noticed that you did not include -Wmissing-return in your patch as > discussed here: http://gcc.gnu.org/ml/gcc/2013-11/msg00288.html > > (Perhaps you did, and I am using github incorrectly?) I did... removed it :) I've followed Jason suggestion here: http://gcc.gnu.org/ml/gcc-patches/2014-01/msg01033.html The problem that we were trying to address with -Wmissing-return has been fixed (AFAIK) by the commit description in comment #7 > I think you will get easier approval if you include it (or send two patches > in the same email) and point out to the previous discussion (in particular > Dodji, Joseph and Jason's approval of this idea). Sure. Thanks for the advice.
[Bug c++/55189] enable -Wreturn-type by default
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55189 --- Comment #8 from Sylvestre Ledru --- The patches to fix this bug are available here: https://github.com/sylvestre/gcc I am doing the legal FSF papers to be able to apply it.
[Bug c++/55189] enable -Wreturn-type by default
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55189 Sylvestre Ledru changed: What|Removed |Added CC||sylvestre at debian dot org --- Comment #6 from Sylvestre Ledru --- Patch proposed here: http://gcc.gnu.org/ml/gcc-patches/2013-12/msg01781.html
[Bug c++/52373] New: template usage drops some checks on the accessibility of a member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52373 Bug #: 52373 Summary: template usage drops some checks on the accessibility of a member Classification: Unclassified Product: gcc Version: 4.6.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: sylves...@debian.org Considering this code: class A { struct st { static void f(); }; }; template void foo() { A::st::f(); } --- g++ accepts it. If I remove "template ", an error is triggered (which is the expected behavior): plop.cpp: In function ‘void foo()’: plop.cpp:4:12: error: ‘struct A::st’ is private plop.cpp:12:5: error: within this context
[Bug c++/52136] g++ is wrongly propagating "friend class" to the parent class
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52136 --- Comment #4 from Sylvestre Ledru 2012-02-06 14:08:21 UTC --- I found this bug (or behavior) while playing with clang. I am not really sure to understand why friend class should impact his parent but if g++ respects the standard, why not...
[Bug c++/52136] New: g++ is wrongly propagating "friend class" to the parent class
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52136 Bug #: 52136 Summary: g++ is wrongly propagating "friend class" to the parent class Classification: Unclassified Product: gcc Version: 4.6.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: sylves...@debian.org --- class address { protected: static int parseNext(int a); }; class mailbox : public address { friend class mailboxField; }; class mailboxField { void parse(int a) { address::parseNext(a); // will work with: // mailbox::parseNext(a); } }; --- It should trigger: address.cpp: In member function ‘void mailboxField::parse(int)’: address.cpp:4:16: error: ‘static int address::parseNext(int)’ is protected address.cpp:17:33: error: within this context Tested with g++ 4.6.2