[Bug c/102422] New: Missing -Warray-bounds

2021-09-21 Thread marco.morandini at polimi dot it via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102422

Bug ID: 102422
   Summary: Missing -Warray-bounds
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: marco.morandini at polimi dot it
  Target Milestone: ---

Created attachment 51489
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51489=edit
Code triggering the bug

The attached code raises a warning with gcc 4.5.3 when compiling with "-O2
-Wall", but misses it starting from from gcc 4.6.4 down to gcc 11.2.1.
We think it should raise the warning, but we are not language lawyers

[Bug c++/84358] New: error message (missing call to class contructor): misleading source code location

2018-02-13 Thread marco.morandini at polimi dot it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84358

Bug ID: 84358
   Summary: error message (missing call to class contructor):
misleading source code location
   Product: gcc
   Version: 7.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: marco.morandini at polimi dot it
  Target Milestone: ---

Consider the following (wrong) code:
//
class A {
public:
A(int i) {};
A& operator=(const A&) = delete;
A(const A&) = delete;   
};  

class B {   
private:
A a;
const int b;
public: 
B() : b(1) {};  
};  
//

The error message is

marco@pao:~> g++ pippo.C 
pippo.C: In constructor ‘B::B()’:
pippo.C:13:11: error: no matching function for call to ‘A::A()’
  B() : b(1) {};
   ^
pippo.C:3:2: note: candidate: A::A(int)
  A(int i) {};
  ^
pippo.C:3:2: note:   candidate expects 1 argument, 0 provided


I think that the indication of b(1) as the location of the error, together with
the above message ("no matching function for call to ‘A::A()’": which call?
there is not such call at the offending line!) is misleading. For a complex
code with many members stored inside B it's not obvious that the compiler is
trying to insert a call to A's  constructor.

[Bug c++/84356] error message

2018-02-13 Thread marco.morandini at polimi dot it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84356

marco.morandini at polimi dot it changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from marco.morandini at polimi dot it ---
Apologize, I was still entering the fields.

[Bug c++/84356] New: error message

2018-02-13 Thread marco.morandini at polimi dot it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84356

Bug ID: 84356
   Summary: error message
   Product: gcc
   Version: 7.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: marco.morandini at polimi dot it
  Target Milestone: ---

[Bug c++/63680] New: ice

2014-10-29 Thread marco.morandini at polimi dot it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63680

Bug ID: 63680
   Summary: ice
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: marco.morandini at polimi dot it

Created attachment 33845
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33845action=edit
reduced testcase

g++ version:

marco@pao:~/Mbdyn/mbdyn.cvs g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/home/marco/local/gcc-4.9.1/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/home/marco/local/gcc-4.9.1
--enable-checking=release --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --enable-linux-futex --enable-lto
--with-arch=native --enable-threads=posix --with-ppl --with-cloog
--enable-languages=c,c++,fortran,lto
Thread model: posix
gcc version 4.9.1 (GCC) 

--

ice message:

marco@pao:~/TTT/GccTestcaseReduction g++ -c RulesDirective.ii
RulesDirective.ii: In function ‘void processLabels()’:
RulesDirective.ii:7:6: internal compiler error: Segmentation fault
 void processLabels() {
  ^
0x9aca5f crash_signal
../../gcc/toplev.c:337
0x8583ea get_class_context
../../gcc/ipa-devirt.c:997
0x8593fd contains_type_p
../../gcc/ipa-devirt.c:1012
0x8593fd get_polymorphic_call_info(tree_node*, tree_node*, tree_node**, long*,
ipa_polymorphic_call_context*)
../../gcc/ipa-devirt.c:1227
0x73669f cgraph_create_indirect_edge(cgraph_node*, gimple_statement_base*, int,
long, int)
../../gcc/cgraph.c:976
0x737cd3 build_cgraph_edges
../../gcc/cgraphbuild.c:343
0x737cd3 execute
../../gcc/cgraphbuild.c:409

[Bug libstdc++/63449] New: documentation of vector space overhead management

2014-10-03 Thread marco.morandini at polimi dot it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63449

Bug ID: 63449
   Summary: documentation of vector space overhead management
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: trivial
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: marco.morandini at polimi dot it

This is a documentation bug, but I didn't find a documentation component. 
Anyway: I fear that 
https://gcc.gnu.org/onlinedocs/gcc-4.9.1/libstdc++/manual/manual/containers.html#sequences.vector.management
is outdated. At the very least, the links to the two alpha releases are broken.


[Bug libstdc++/57226] The installation of pretty printers is not documented

2013-05-09 Thread marco.morandini at polimi dot it
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57226

--- Comment #2 from marco.morandini at polimi dot it ---
On 05/09/2013 02:48 PM, redi at gcc dot gnu.org wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57226

 --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
 You install GCC and the printers get installed alongside them, and when gdb
 loads libstdc++.so.6.0.16 it automatically loads libstdc++.so.6.0.16-gdb.py 
 ...
 what more do you need to know? What needs to be documented?


First, mentioning that the pretty printers existst, and are installed 
with gcc, and not with gdb.

Second, what to do if someone installs gcc in a non-standard location 
that is not known by gdb.
I agree that by reading the gdb info one can come up with these commands 
in his .gdbinit,

add-auto-load-safe-path /home/marco/local/gcc-4.8.0/share/gcc-4.8.0/python

python
import sys
sys.path.insert(0, '/home/marco/local/gcc-4.8.0/share/gcc-4.8.0/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end

but reporting them in gcc's manual would help.


[Bug libstdc++/57226] The installation of pretty printers is not documented

2013-05-09 Thread marco.morandini at polimi dot it
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57226

--- Comment #3 from marco.morandini at polimi dot it ---
On 05/09/2013 02:48 PM, redi at gcc dot gnu.org wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57226

 --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
 You install GCC and the printers get installed alongside them, and when gdb
 loads libstdc++.so.6.0.16 it automatically loads libstdc++.so.6.0.16-gdb.py 
 ...
 what more do you need to know? What needs to be documented?


First, mentioning that the pretty printers do exist and that they are 
installed with gcc, not with gdb.

Second, what to do if someone installs gcc in a non-standard location 
that is not known by gdb.
I agree that by reading the gdb info one can come up with these commands 
in his .gdbinit,

-
add-auto-load-safe-path GCC_INSTALL_PREFIX/share/gcc-4.8.0/python

python
import sys
sys.path.insert(0, 'GCC_INSTALL_PREFIX/share/gcc-4.8.0/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end


but reporting them in gcc's manual would help.