typedef unsigned int U032;
typedef volatile struct {
     U032 Monochrome[1];
     struct {
          U032 WidthHeight;
     } UnclippedRectangle[1];
} RivaBitmap;
void writel(void *);
void rivafb_fillrect(RivaBitmap *bm)
{
  writel(&bm->UnclippedRectangle[0].WidthHeight);
}

fbdev.3.i: In function 'rivafb_fillrect':
fbdev.3.i:11: warning: passing argument 1 of 'writel' discards qualifiers from
pointer target type
fbdev.3.i:10: error: type mismatch in address expression
volatile U032 *

U032 *

D.1551 = &bm->UnclippedRectangle[0].WidthHeight
fbdev.3.i:10: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


-- 
           Summary: [4.3 Regression] Type checking error with address-of and
                    volatile and arrays
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, ice-checking
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at gcc dot gnu dot org


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

Reply via email to