public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)'
@ 2013-08-20 13:20 aivchenk at gmail dot com
  2013-08-20 14:49 ` [Bug c++/58201] [4.7/4.8/4.9 Regression] " paolo.carlini at oracle dot com
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: aivchenk at gmail dot com @ 2013-08-20 13:20 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 58201
           Summary: [g++] Undefined reference to `B::B(void const**)'
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: aivchenk at gmail dot com

Testcase:
----ABC.h-----
class A
{
 protected:
  A();
  virtual ~A();
};

class B : virtual public A
{
 public:
  B();
  virtual ~B();
};

class C
{
 private:
  class C2 : public B
   {
   public:
     C2();
     virtual ~C2();
   };
};
----AB.cpp-----
#include "ABC.h"

A::A() { }
A::~A() { }
B::B() { }
B::~B() { }

----C.cpp------
#include "ABC.h"    

C::C2::C2(){ }      
C::C2::~C2() { }    

int main ()         
{                   
    return 0;       
}                   

---------------
Compiling the usual way:
g++ AB.cpp -c
g++ C.cpp -c
g++ AB.o C.o

C.o: In function `C::C2::C2()':
C.cpp:(.text+0x23): undefined reference to `B::B(void const**)'
C.o: In function `C::C2::C2()':
C.cpp:(.text+0x8d): undefined reference to `B::B(void const**)'
C.o: In function `C::C2::~C2()':
C.cpp:(.text+0x129): undefined reference to `B::~B(void const**)'
C.o: In function `C::C2::~C2()':
C.cpp:(.text+0x1c3): undefined reference to `B::~B(void const**)'
collect2: error: ld returned 1 exit status


We cannot right now build the Android Open Source Tree with the trunk because
of that bug. It was introduced with this commit:

Author: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>                  
Date:   Thu Jul 25 17:10:21 2013 +0000                                          

        * cgraph.c (release_function_body): Break out from ...                  
        (cgraph_release_function_body): ... this one; also release DECL_RESULT  
        and DECL_ARGUMENTS.                                                     
        * ipa-cp.c (get_replacement_map): Add parm_num argument; do not set     
        old_tree in the map.                                                    
        (create_specialized_node): Update.                                      
        * lto-cgraph.c (output_node_opt_summary): Do not translate old_tree     
        into index.                                                             
        * cgraphclones.c (cgraph_create_virtual_clone): Do not copy
DECL_ARGUMENTS,                
        DECL_INITIAL and DECL_RESULT.                                           
        * ipa-prop.c (ipa_populate_param_decls): Look for origin of clones.     
        * tree-inline.c (initialize_cfun): Initialize DECL_ARGUMENTS and        
        DECL_RESULT.                                                            


    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201251
138bc75d-0d04-0410-961f-82ee72b054a4


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.7/4.8/4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
@ 2013-08-20 14:49 ` paolo.carlini at oracle dot com
  2013-08-20 15:58 ` [Bug c++/58201] [4.9 " paolo.carlini at oracle dot com
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-08-20 14:49 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-08-20
            Summary|Undefined reference to      |[4.7/4.8/4.9 Regression]
                   |`B::B(void const**)'        |Undefined reference to
                   |                            |`B::B(void const**)'
     Ever confirmed|0                           |1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
  2013-08-20 14:49 ` [Bug c++/58201] [4.7/4.8/4.9 Regression] " paolo.carlini at oracle dot com
@ 2013-08-20 15:58 ` paolo.carlini at oracle dot com
  2013-08-20 19:35 ` hubicka at gcc dot gnu.org
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-08-20 15:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Honza could you please look into this?


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
  2013-08-20 14:49 ` [Bug c++/58201] [4.7/4.8/4.9 Regression] " paolo.carlini at oracle dot com
  2013-08-20 15:58 ` [Bug c++/58201] [4.9 " paolo.carlini at oracle dot com
@ 2013-08-20 19:35 ` hubicka at gcc dot gnu.org
  2013-08-28  9:17 ` rguenth at gcc dot gnu.org
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-08-20 19:35 UTC (permalink / raw)
  To: gcc-bugs

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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |hubicka at gcc dot gnu.org

--- Comment #2 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
mine.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (2 preceding siblings ...)
  2013-08-20 19:35 ` hubicka at gcc dot gnu.org
@ 2013-08-28  9:17 ` rguenth at gcc dot gnu.org
  2013-09-02 11:37 ` paolo.carlini at oracle dot com
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-08-28  9:17 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.9.0


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (3 preceding siblings ...)
  2013-08-28  9:17 ` rguenth at gcc dot gnu.org
@ 2013-09-02 11:37 ` paolo.carlini at oracle dot com
  2013-09-02 11:42 ` kcc at gcc dot gnu.org
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-09-02 11:37 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kcc at gcc dot gnu.org

--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> ---
*** Bug 58297 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (4 preceding siblings ...)
  2013-09-02 11:37 ` paolo.carlini at oracle dot com
@ 2013-09-02 11:42 ` kcc at gcc dot gnu.org
  2013-09-02 12:29 ` paolo.carlini at oracle dot com
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: kcc at gcc dot gnu.org @ 2013-09-02 11:42 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Kostya Serebryany <kcc at gcc dot gnu.org> ---
Nice. Any hope? 
Chromium is another project which we can't build with gcc trunk


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (5 preceding siblings ...)
  2013-09-02 11:42 ` kcc at gcc dot gnu.org
@ 2013-09-02 12:29 ` paolo.carlini at oracle dot com
  2013-09-02 12:56 ` jakub at gcc dot gnu.org
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-09-02 12:29 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> ---
In practice, this would block the release of 4.9.0. Thus hope for sure, it's
only matter of when.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (6 preceding siblings ...)
  2013-09-02 12:29 ` paolo.carlini at oracle dot com
@ 2013-09-02 12:56 ` jakub at gcc dot gnu.org
  2013-09-04 11:01 ` markus at trippelsdorf dot de
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-09-02 12:56 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P1
                 CC|                            |jakub at gcc dot gnu.org


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (7 preceding siblings ...)
  2013-09-02 12:56 ` jakub at gcc dot gnu.org
@ 2013-09-04 11:01 ` markus at trippelsdorf dot de
  2013-09-04 15:35 ` hubicka at gcc dot gnu.org
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: markus at trippelsdorf dot de @ 2013-09-04 11:01 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <markus at trippelsdorf dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markus at trippelsdorf dot de

--- Comment #6 from Markus Trippelsdorf <markus at trippelsdorf dot de> ---
*** Bug 58313 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (8 preceding siblings ...)
  2013-09-04 11:01 ` markus at trippelsdorf dot de
@ 2013-09-04 15:35 ` hubicka at gcc dot gnu.org
  2013-09-04 15:42 ` jakub at gcc dot gnu.org
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-04 15:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
OK, the destructor is used as:
_ZN1BD2EPPKv/21 (B::~B()) @0x7f56014ecd10
  Type: function
  Visibility: external public
  References:
  Referring:
  Availability: not_available
  Function flags:
  Called by: _ZN1C2C2D2Ev/4 (1.00 per call) (can throw external) _ZN1C2C2D1Ev/5
(1.00 per call)
  Calls:


_ZN1C2C2D2Ev/4 (C::C2::~C2()) @0x7f56014d2d10
  Type: function definition analyzed
  Visibility: public
  Aux: @0x7f56014d2e40  References: __gxx_personality_v0/18 (addr)
  Referring:
  Function flags: body
  Called by:
  Calls: A::~A()/20 (1.00 per call) void operator delete(void*)/22 (1.00 per
call) A::~A()/20 (1.00 per call) B::~B()/21 (1.00 per call)


Now with older GCC we do not output _ZN1C2C2D2Ev

Older GCC gets:
C::C2::~C2()/4 @0x7f15ce0c6360 (asm: _ZN1C2C2D2Ev) analyzed needed reachable
body finalized
  called by:
  calls: A::~A()/16 (1.00 per call) void operator delete(void*)/14 (1.00 per
call) A::~A()/16 (1.00 per call) (can throw external) B::~B()/15 (1.00 per
call)
  References:  fn:<built-in>/17 (addr)
  Refering this function:
B::~B()/15 @0x7f15ce0d4000 (asm: _ZN1BD2Ev) availability:not_available
  called by: C::C2::~C2()/4 (1.00 per call) (can throw external) virtual
C::C2::~C2()/5 (1.00 per call)
  calls:
  References:
  Refering this function:

So it calls B::~B() instead of B::~B(void const**)
The extra const** parameter is however passed in both   I am not really sure
how this difference happens...


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (9 preceding siblings ...)
  2013-09-04 15:35 ` hubicka at gcc dot gnu.org
@ 2013-09-04 15:42 ` jakub at gcc dot gnu.org
  2013-09-04 15:50 ` hubicka at gcc dot gnu.org
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-09-04 15:42 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
In C++ destructors don't have parameters, so the question is where the bogusly
mangled name comes from.  Is that coming from the implicit this argument that
is somehow used again in the mangling (though that would be the class *const,
wouldn't it)?


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (10 preceding siblings ...)
  2013-09-04 15:42 ` jakub at gcc dot gnu.org
@ 2013-09-04 15:50 ` hubicka at gcc dot gnu.org
  2013-09-05 23:04 ` hubicka at gcc dot gnu.org
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-04 15:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Created attachment 30749
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30749&action=edit
Proposed fix.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (11 preceding siblings ...)
  2013-09-04 15:50 ` hubicka at gcc dot gnu.org
@ 2013-09-05 23:04 ` hubicka at gcc dot gnu.org
  2013-09-05 23:08 ` hubicka at gcc dot gnu.org
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-05 23:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Thu Sep  5 23:04:11 2013
New Revision: 202298

URL: http://gcc.gnu.org/viewcvs?rev=202298&root=gcc&view=rev
Log:

    PR middle-end/58201
    * cgraphunit.c (analyze_functions): Clear AUX fields
    after processing; initialize assembler name has.

    * g++.dg/torture/pr58201_0.C: New testcase.
    * g++.dg/torture/pr58201_1.C: New testcase.
    * g++.dg/torture/pr58201.h: New testcase.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr58201.h
    trunk/gcc/testsuite/g++.dg/torture/pr58201_0.C
    trunk/gcc/testsuite/g++.dg/torture/pr58201_1.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cgraphunit.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (12 preceding siblings ...)
  2013-09-05 23:04 ` hubicka at gcc dot gnu.org
@ 2013-09-05 23:08 ` hubicka at gcc dot gnu.org
  2013-09-06 17:48 ` paolo.carlini at oracle dot com
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-05 23:08 UTC (permalink / raw)
  To: gcc-bugs

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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Fixed.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (13 preceding siblings ...)
  2013-09-05 23:08 ` hubicka at gcc dot gnu.org
@ 2013-09-06 17:48 ` paolo.carlini at oracle dot com
  2013-09-07  8:54 ` hubicka at ucw dot cz
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-09-06 17:48 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |paolo.carlini at oracle dot com

--- Comment #12 from Paolo Carlini <paolo.carlini at oracle dot com> ---
The fix caused a regression:

FAIL: g++.dg/template/cond2.C -std=gnu++98 (test for warnings, line 9)
FAIL: g++.dg/template/cond2.C -std=gnu++11 (test for warnings, line 9)

as described here too: http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00425.html

I'm a bit worried, because normally we don't check in the testsuite that those
messages about the instantiation point have the right line number, thus, we may
well have a pretty serious diagnostic regression, beyond the specific failure.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (14 preceding siblings ...)
  2013-09-06 17:48 ` paolo.carlini at oracle dot com
@ 2013-09-07  8:54 ` hubicka at ucw dot cz
  2013-09-07 11:09 ` jakub at gcc dot gnu.org
  2013-09-07 11:15 ` paolo.carlini at oracle dot com
  17 siblings, 0 replies; 19+ messages in thread
From: hubicka at ucw dot cz @ 2013-09-07  8:54 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Jan Hubicka <hubicka at ucw dot cz> ---
> I'm a bit worried, because normally we don't check in the testsuite that those
> messages about the instantiation point have the right line number, thus, we may
> well have a pretty serious diagnostic regression, beyond the specific failure.

I put some analysis here
http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00456.html
It is latent bug in C++ FE using stale source_location.  Prior my change the
error
came on different location based on optimization flags and -flto. After my
change
it is consistently wrong ;)

Sadly i am not sure how to get correct location within the mangling hook and
where it is supposed to point.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (15 preceding siblings ...)
  2013-09-07  8:54 ` hubicka at ucw dot cz
@ 2013-09-07 11:09 ` jakub at gcc dot gnu.org
  2013-09-07 11:15 ` paolo.carlini at oracle dot com
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-09-07 11:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Perhaps use error_at and DECL_SOURCE_LOCATION of the expr being mangled?
Perhaps temporary set input_location to DECL_SOURCE_LOCATION for the duration
of mangle_decl, and use error_at (EXPR_LOC_OR_HERE (expr), instead of error?


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/58201] [4.9 Regression] Undefined reference to `B::B(void const**)'
  2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
                   ` (16 preceding siblings ...)
  2013-09-07 11:09 ` jakub at gcc dot gnu.org
@ 2013-09-07 11:15 ` paolo.carlini at oracle dot com
  17 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-09-07 11:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #15 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Oh, I was just assuming that we didn't have the information! Indeed normally
exprs do have locations!


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2013-09-07 11:15 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-20 13:20 [Bug c++/58201] New: [g++] Undefined reference to `B::B(void const**)' aivchenk at gmail dot com
2013-08-20 14:49 ` [Bug c++/58201] [4.7/4.8/4.9 Regression] " paolo.carlini at oracle dot com
2013-08-20 15:58 ` [Bug c++/58201] [4.9 " paolo.carlini at oracle dot com
2013-08-20 19:35 ` hubicka at gcc dot gnu.org
2013-08-28  9:17 ` rguenth at gcc dot gnu.org
2013-09-02 11:37 ` paolo.carlini at oracle dot com
2013-09-02 11:42 ` kcc at gcc dot gnu.org
2013-09-02 12:29 ` paolo.carlini at oracle dot com
2013-09-02 12:56 ` jakub at gcc dot gnu.org
2013-09-04 11:01 ` markus at trippelsdorf dot de
2013-09-04 15:35 ` hubicka at gcc dot gnu.org
2013-09-04 15:42 ` jakub at gcc dot gnu.org
2013-09-04 15:50 ` hubicka at gcc dot gnu.org
2013-09-05 23:04 ` hubicka at gcc dot gnu.org
2013-09-05 23:08 ` hubicka at gcc dot gnu.org
2013-09-06 17:48 ` paolo.carlini at oracle dot com
2013-09-07  8:54 ` hubicka at ucw dot cz
2013-09-07 11:09 ` jakub at gcc dot gnu.org
2013-09-07 11:15 ` paolo.carlini at oracle dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).