[Bug libstdc++/53984] iostream operation throwing exception when exceptions not enabled

2017-04-28 Thread dibeas at ieee dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53984

David Rodriguez Ibeas  changed:

   What|Removed |Added

 CC||dibeas at ieee dot org

--- Comment #6 from David Rodriguez Ibeas  ---
Still failling 6.2.

Any plans to look at this one?

[Bug c++/60860] New: Friend function declaration incorrectly hides function in outer namespace

2014-04-16 Thread dibeas at ieee dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60860

Bug ID: 60860
   Summary: Friend function declaration incorrectly hides function
in outer namespace
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dibeas at ieee dot org

The following valid code fails to compile:

void f( int );
namespace N {
struct A
{
   friend void f(int);
   friend void f(double);
};
void g() {
f(0);
}
}

The problem goes away if any of the two friend declarations is commented out.


[Bug c++/60860] Friend function declaration incorrectly hides function in outer namespace

2014-04-16 Thread dibeas at ieee dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60860

--- Comment #1 from David Rodriguez Ibeas dibeas at ieee dot org ---
Created this as a new bug as I cannot say for sure whether this is the same
issue as 53012, but they maybe related.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53012


[Bug c++/48980] New: Misleading error message when a conversion is invalid while calling a protected base constructor

2011-05-12 Thread dibeas at ieee dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48980

   Summary: Misleading error message when a conversion is invalid
while calling a protected base constructor
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: trivial
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dib...@ieee.org


Provided with this code:

class base {
protected:
   base( int * ) {}
};
struct derived : base {
   derived( const int * p ) : base( p ) {}
};

The compiler correctly detects that there is an error as using p as argument to
the constructor of base will break const-correctness. The error report
identifies that condition, but it also adds a misleading first error:

error.cpp: In constructor ‘derived::derived(const int*)’:
error.cpp:5: error: ‘base::base(int*)’ is protected
error.cpp:10: error: within this context
error.cpp:10: error: invalid conversion from ‘const int*’ to ‘int*’
error.cpp:10: error:   initializing argument 1 of ‘base::base(int*)’

Clearly base::base(int*) is protected, but it is accessible from the context of
the constructor derived::derived(const int*), and the first 3 lines should not
be part of the error message.

This can be reproduced with the default g++ in ubuntu/linaro, and also with g++
4.0.3 (I don't know the exact compiler flags used, but I believe the error to
be independent of compiler flags, if it is not, I can find out the exact flags
used).

g++ (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5