[llvm-commits] Trivial warning

Hal Finkel hfinkel at anl.gov
Fri Nov 16 09:38:07 PST 2012


----- Original Message -----
> From: "Benjamin Kramer" <benny.kra at gmail.com>
> To: "Joe Abbey" <jabbey at arxan.com>
> Cc: "Hal Finkel" <hfinkel at anl.gov>, llvm-commits at cs.uiuc.edu
> Sent: Friday, November 16, 2012 10:00:47 AM
> Subject: Re: [llvm-commits] Trivial warning
> 
> 
> On 16.11.2012, at 13:11, Joe Abbey <jabbey at arxan.com> wrote:
> 
> > On Nov 16, 2012, at 12:38 AM, Joe Abbey <jabbey at arxan.com> wrote:
> > 
> >> Hal (et al),
> >> 
> >> One of my build bots reported a warning:
> >> PPCRegisterInfo.cpp:501:51: warning: cast from type ‘const
> >> llvm::MachineFunction*’ to type ‘llvm::MachineFunction*’ casts
> >> away qualifiers [-Wcast-qual]
> >> Index: lib/Target/PowerPC/PPCRegisterInfo.cpp
> >> ===================================================================
> >> --- lib/Target/PowerPC/PPCRegisterInfo.cpp	(revision 168110)
> >> +++ lib/Target/PowerPC/PPCRegisterInfo.cpp	(working copy)
> >> @@ -498,7 +498,8 @@
> >>      } else if (CRSpillFrameIdx) {
> >>        FrameIdx = CRSpillFrameIdx;
> >>      } else {
> >> -      MachineFrameInfo *MFI = ((MachineFunction
> >> &)MF).getFrameInfo();
> >> +      MachineFrameInfo *MFI =
> >> +        (const_cast<MachineFunction &>MF).getFrameInfo();
> >>        FrameIdx = MFI->CreateFixedObject((uint64_t)4, (int64_t)-4,
> >>        true);
> >>        CRSpillFrameIdx = FrameIdx;
> >>      }
> >> 
> >> Ok to commit?
> > 
> > Past Joe,
> > 
> > Make sure your current build is setup to do PowerPC builds.
> > 
> > Also, swapping a warning for an error is a horrible trade… let's
> > try that patch again:
> > 
> > Index: lib/Target/PowerPC/PPCRegisterInfo.cpp
> > ===================================================================
> > --- lib/Target/PowerPC/PPCRegisterInfo.cpp	(revision 168110)
> > +++ lib/Target/PowerPC/PPCRegisterInfo.cpp	(working copy)
> > @@ -498,7 +498,8 @@
> >      } else if (CRSpillFrameIdx) {
> >        FrameIdx = CRSpillFrameIdx;
> >      } else {
> > -      MachineFrameInfo *MFI = ((MachineFunction
> > &)MF).getFrameInfo();
> > +      MachineFrameInfo *MFI =
> > +        (const_cast<MachineFunction &>(MF)).getFrameInfo();
> >        FrameIdx = MFI->CreateFixedObject((uint64_t)4, (int64_t)-4,
> >        true);
> >        CRSpillFrameIdx = FrameIdx;
> >      }
> 
> While this would be the right way to silence the warning, the whole
> thing looks like a horrible hack to me. Shouldn't the FrameIdx
> generated in a place where MF isn't const?

Roman, you had looked at these const issues, right? Do you have an opinion on this?

 -Hal

> 
> - Ben
> 

-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory




More information about the llvm-commits mailing list