------- Comment #10 from aldot at gcc dot gnu dot org  2008-01-11 13:30 -------
Still fails for me on trunk (revision 131461):

gcc-4.3-HEAD -Os --combine -c -o pr28779.o pr28779a.c pr28779b.c
pr28779b.c: In function 'e1000_write_reg_io':
pr28779b.c:12: internal compiler error: in cgraph_estimate_size_after_inlining,
at ipa-inline.c:188
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


$ cat pr28779a.c
/* PR middle-end/28779 */
/* { dg-do compile } */
/* { dg-options "--combine -Os" } */
/* { dg-additional-sources "pr28779b.c" } */
struct e1000_hw { };
void e1000_io_write(struct e1000_hw *hw, unsigned long port, unsigned int
value);
void e1000_write_reg_io(struct e1000_hw *hw, unsigned int offset)
{  unsigned long io_addr;   e1000_io_write(hw, io_addr, offset); }
int e1000_reset_hw(struct e1000_hw *hw) {  e1000_write_reg_io((hw), 0x00000); }



$ cat pr28779b.c
/* Additional file for PR middle-end/28779 */
struct pci_device_id {  };
struct pci_dev {  };
struct pci_driver
{ int (*probe) (struct pci_dev *dev, const struct pci_device_id *id); };
struct e1000_hw {  };
int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
struct pci_driver e1000_driver = { .probe = e1000_probe };
int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{   struct e1000_hw *adapter;   e1000_reset_hw(adapter); }
void e1000_io_write(struct e1000_hw *hw, unsigned long port, unsigned int
value)
{ }


-- 

aldot at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aldot at gcc dot gnu dot org


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

Reply via email to