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: gcc 3.1 fails to build Linux 2.4.7 kernel on i686-linux


On Sun, 17 Mar 2002, Jan Hubicka wrote:

> The problem is actually kernel bug (or at least I believe 2.4.17 did include
> it).  THere is function declared with both __attribute__ ((regparm (0))) and
> __attribute__ ((regparm (3))) and 3.1 chooses different value from previous
> compilers.

It would be desirable for GCC to detect these different regparm attributes
as incompatible and give an error.  The following places should probably
be changed to do this:

* The regparm attribute handler, to reject the attribute where a different
one is already present.

* TARGET_MERGE_TYPE_ATTRIBUTES should be defined, to reject contradictory 
regparm attributes when merging types.

* TARGET_COMP_TYPE_ATTRIBUTES should be defined, to treat contradictory
regparm attributes as incompatible.

-- 
Joseph S. Myers
jsm28@cam.ac.uk


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