[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

2021-01-20 Thread sylvestre at debian dot org via Gcc-bugs
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

2018-07-10 Thread sylvestre at debian dot org
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

2018-02-02 Thread sylvestre at debian dot org
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

2018-02-02 Thread sylvestre at debian dot org
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

2018-02-02 Thread sylvestre at debian dot org
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

2018-01-29 Thread sylvestre at debian dot org
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

2018-01-03 Thread sylvestre at debian dot org
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

2018-01-03 Thread sylvestre at debian dot org
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

2017-12-25 Thread sylvestre at debian dot org
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

2017-12-18 Thread sylvestre at debian dot org
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

2017-10-27 Thread sylvestre at debian dot org
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

2017-10-27 Thread sylvestre at debian dot org
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

2017-10-26 Thread sylvestre at debian dot org
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

2017-10-26 Thread sylvestre at debian dot org
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

2017-10-26 Thread sylvestre at debian dot org
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

2017-10-25 Thread sylvestre at debian dot org
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]

2017-10-25 Thread sylvestre at debian dot org
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

2017-10-18 Thread sylvestre at debian dot org
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

2017-10-18 Thread sylvestre at debian dot org
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

2017-10-16 Thread sylvestre at debian dot org
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

2017-10-16 Thread sylvestre at debian dot org
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

2017-10-16 Thread sylvestre at debian dot org
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

2017-10-16 Thread sylvestre at debian dot org
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

2017-10-16 Thread sylvestre at debian dot org
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

2017-08-30 Thread sylvestre at debian dot org
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

2017-08-28 Thread sylvestre at debian dot org
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

2017-08-26 Thread sylvestre at debian dot org
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

2017-04-10 Thread sylvestre at debian dot org
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

2017-01-30 Thread sylvestre at debian dot org
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

2015-10-21 Thread sylvestre at debian dot org
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

2014-04-17 Thread sylvestre at debian dot org
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

2014-04-17 Thread sylvestre at debian dot org
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

2013-12-27 Thread sylvestre at debian dot org
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

2012-02-24 Thread sylvestre at debian dot org
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

2012-02-06 Thread sylvestre at debian dot org
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

2012-02-06 Thread sylvestre at debian dot org
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