public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/41436]  New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers
@ 2009-09-22 19:36 ro at gcc dot gnu dot org
  2009-09-23  0:11 ` [Bug bootstrap/41436] [4.5 regression] Revision option 152018 caused " hjl dot tools at gmail dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: ro at gcc dot gnu dot org @ 2009-09-22 19:36 UTC (permalink / raw)
  To: gcc-bugs

Between 20090915 (rev. 151722) and 20090922 (rev. 152032), mainline started to
fail bootstrap on Solaris 10/x86 in stage2 building s-gtype:

build/gengtype /vol/gcc/src/gcc-dist/gcc gtyp-input.list
/vol/gcc/src/gcc-dist/gcc/cgraph.c:94: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/cgraph.c:96: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/dwarf2out.c:414: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/dwarf2out.c:5641: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/dwarf2out.c:5645: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/dwarf2out.c:5649: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/dwarf2out.c:5682: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/dwarf2asm.c:768: option `param2_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/emit-rtl.c:156: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/emit-rtl.c:160: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/emit-rtl.c:164: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/emit-rtl.c:168: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/emit-rtl.c:172: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/function.c:129: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/function.c:131: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/function.c:486: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/except.c:161: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/optabs.c:121: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/optabs.c:6009: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/tree.c:175: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/tree.c:180: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/tree.c:190: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/tree.c:196: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/tree.c:199: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/tree.c:203: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/varasm.c:180: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/varasm.c:183: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/varasm.c:194: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/varasm.c:2787: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/tree-mudflap.c:1212: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/tree-scalar-evolution.c:310: option `param_is' may
only be applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/varpool.c:51: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/omp-low.c:5880: option `param2_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/config/i386/i386.c:10245: option `param_is' may only
be applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/ipa-reference.c:125: option `param2_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/tree-ssa-structalias.c:164: option `param_is' may
only be applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/ada/gcc-interface/decl.c:114: option `param_is' may
only be applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/cp/mangle.c:3045: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/cp/decl.c:2912: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/cp/pt.c:93: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/cp/pt.c:96: option `param_is' may only be applied to
structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/cp/tree.c:590: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/cp/tree.c:1120: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/cp/typeck2.c:162: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/c-common.c:4141: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/c-pragma.c:257: option `param_is' may only be applied
to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/cp/cp-objcp-common.c:220: option `param_is' may only
be applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/fortran/trans-decl.c:3215: option `param_is' may only
be applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/objc/objc-act.c:402: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/objc/objc-act.c:409: option `param_is' may only be
applied to structures or structure pointers
/vol/gcc/src/gcc-dist/gcc/objc/objc-act.c:3345: option `param_is' may only be
applied to structures or structure pointers
make: *** [s-gtype] Error 1


-- 
           Summary: [4.5 regression] option `param_is' may only be applied
                    to structures or structure pointers
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: i386-pc-solaris2.10
  GCC host triplet: i386-pc-solaris2.10
GCC target triplet: i386-pc-solaris2.10


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


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

* [Bug bootstrap/41436] [4.5 regression] Revision option 152018 caused `param_is' may only be applied to structures or structure pointers
  2009-09-22 19:36 [Bug bootstrap/41436] New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers ro at gcc dot gnu dot org
@ 2009-09-23  0:11 ` hjl dot tools at gmail dot com
  2009-09-23  8:34 ` [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386 rguenth at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-09-23  0:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from hjl dot tools at gmail dot com  2009-09-23 00:11 -------
It is caused by revision 152018:

http://gcc.gnu.org/ml/gcc-cvs/2009-09/msg00767.html

I also saw on Linux/ia32, but not Linux/x86-64.


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at gcc dot gnu dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
  GCC build triplet|i386-pc-solaris2.10         |
   GCC host triplet|i386-pc-solaris2.10         |
 GCC target triplet|i386-pc-solaris2.10         |i386
   Last reconfirmed|0000-00-00 00:00:00         |2009-09-23 00:11:09
               date|                            |
            Summary|[4.5 regression] option     |[4.5 regression] Revision
                   |`param_is' may only be      |option 152018 caused
                   |applied to structures or    |`param_is' may only be
                   |structure pointers          |applied to structures or
                   |                            |structure pointers


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


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

* [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386
  2009-09-22 19:36 [Bug bootstrap/41436] New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers ro at gcc dot gnu dot org
  2009-09-23  0:11 ` [Bug bootstrap/41436] [4.5 regression] Revision option 152018 caused " hjl dot tools at gmail dot com
@ 2009-09-23  8:34 ` rguenth at gcc dot gnu dot org
  2009-09-23  9:56 ` jakub at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-09-23  8:34 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
   Target Milestone|---                         |4.5.0


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


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

* [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386
  2009-09-22 19:36 [Bug bootstrap/41436] New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers ro at gcc dot gnu dot org
  2009-09-23  0:11 ` [Bug bootstrap/41436] [4.5 regression] Revision option 152018 caused " hjl dot tools at gmail dot com
  2009-09-23  8:34 ` [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386 rguenth at gcc dot gnu dot org
@ 2009-09-23  9:56 ` jakub at gcc dot gnu dot org
  2009-09-23 10:41 ` jakub at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-09-23  9:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jakub at gcc dot gnu dot org  2009-09-23 09:55 -------
It is gengtype-parse.c that matters, if all of gengtype except this file is
compiled with r152018 and this file with r152017, it works.


-- 


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


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

* [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386
  2009-09-22 19:36 [Bug bootstrap/41436] New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers ro at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2009-09-23  9:56 ` jakub at gcc dot gnu dot org
@ 2009-09-23 10:41 ` jakub at gcc dot gnu dot org
  2009-09-23 11:26 ` jakub at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-09-23 10:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from jakub at gcc dot gnu dot org  2009-09-23 10:41 -------
r152018 seems to change generated code even on:
/* { dg-options "-O2 -m32 -fno-inline -mtune=generic" } */

struct S
{
  const char *s1;
  int s2;
  char s3;
};
static struct S s;

static inline const char *
bar (void)
{
  s.s3 = 0;
  return s.s1;
}

const char *
foo (void)
{
  return bar ();
}

In bar %esi is saved, even when clearly no nested functions are involved.


-- 


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


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

* [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386
  2009-09-22 19:36 [Bug bootstrap/41436] New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers ro at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2009-09-23 10:41 ` jakub at gcc dot gnu dot org
@ 2009-09-23 11:26 ` jakub at gcc dot gnu dot org
  2009-09-23 11:50 ` jakub at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-09-23 11:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jakub at gcc dot gnu dot org  2009-09-23 11:26 -------
Ah, the problem is that targetm.calls.static_chain is called even on function
decls which have decl_function_context (fndecl) == NULL, and those have
undefined the DECL_NO_STATIC_CHAIN bit, as tree-nested.c only sets it when
actually doing something.

So, either we could set DECL_NO_STATIC_CHAIN in tree-nested.c for functions
which are not nested, or static_chain hooks should also return NULL immediately
if a function isn't nested, or at least i386 hook shouldn't change the calling
convention of the function if it isn't nested.


-- 


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


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

* [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386
  2009-09-22 19:36 [Bug bootstrap/41436] New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers ro at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2009-09-23 11:26 ` jakub at gcc dot gnu dot org
@ 2009-09-23 11:50 ` jakub at gcc dot gnu dot org
  2009-09-23 13:06 ` jakub at gcc dot gnu dot org
  2009-09-23 13:14 ` jakub at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-09-23 11:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jakub at gcc dot gnu dot org  2009-09-23 11:50 -------
Created an attachment (id=18635)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18635&action=view)
gcc45-pr41436.patch

Patch I'm bootstrapping/regtesting ATM.


-- 


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


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

* [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386
  2009-09-22 19:36 [Bug bootstrap/41436] New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers ro at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2009-09-23 11:50 ` jakub at gcc dot gnu dot org
@ 2009-09-23 13:06 ` jakub at gcc dot gnu dot org
  2009-09-23 13:14 ` jakub at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-09-23 13:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jakub at gcc dot gnu dot org  2009-09-23 13:06 -------
Subject: Bug 41436

Author: jakub
Date: Wed Sep 23 13:06:20 2009
New Revision: 152067

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=152067
Log:
        PR bootstrap/41436
        * cgraphunit.c (cgraph_lower_function): Set DECL_NO_STATIC_CHAIN
        on non-nested functions.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cgraphunit.c


-- 


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


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

* [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386
  2009-09-22 19:36 [Bug bootstrap/41436] New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers ro at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2009-09-23 13:06 ` jakub at gcc dot gnu dot org
@ 2009-09-23 13:14 ` jakub at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-09-23 13:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from jakub at gcc dot gnu dot org  2009-09-23 13:14 -------
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

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


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


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

end of thread, other threads:[~2009-09-23 13:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-22 19:36 [Bug bootstrap/41436] New: [4.5 regression] option `param_is' may only be applied to structures or structure pointers ro at gcc dot gnu dot org
2009-09-23  0:11 ` [Bug bootstrap/41436] [4.5 regression] Revision option 152018 caused " hjl dot tools at gmail dot com
2009-09-23  8:34 ` [Bug bootstrap/41436] [4.5 regression] Revision 152018 failed to bootstrap on i386 rguenth at gcc dot gnu dot org
2009-09-23  9:56 ` jakub at gcc dot gnu dot org
2009-09-23 10:41 ` jakub at gcc dot gnu dot org
2009-09-23 11:26 ` jakub at gcc dot gnu dot org
2009-09-23 11:50 ` jakub at gcc dot gnu dot org
2009-09-23 13:06 ` jakub at gcc dot gnu dot org
2009-09-23 13:14 ` jakub at gcc dot gnu dot org

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).