This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c/7464: weak symbols alias definitions are broken in 3.1.1 (weakalias regression from 2.95)


This is one more regression from 2.95 with respect to weak and alias 
attributes:
--------------------------------------------------
extern int i __attribute__ ((alias ("__i")));
extern int i __attribute__ ((weak, alias ("__i")));
--------------------------------------------------

In contrast to c++/6074, which is similar but treats functions instead of 
variables, this is broken in both C and C++, and is also not fixed on 
mainline.

The messages I get are:
from C:
    x.c:2: error: weak declaration of `i' must precede definition
from C++:
    x.cc:2: error: redefinition of `int i'
    x.cc:1: error: `int i' previously declared here

As said, gcc2.95 accepts this.

Regards
  Wolfgang

-------------------------------------------------------------------------
Wolfgang Bangerth              email:           bangerth@ticam.utexas.edu
                               www: http://www.ticam.utexas.edu/~bangerth




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]