[LLVMdev] Undefined behavior in Operator class?
Caldarale, Charles R
Chuck.Caldarale at unisys.com
Sun Oct 7 09:32:49 PDT 2012
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Sean Silva
> Subject: Re: [LLVMdev] Undefined behavior in Operator class?
> > > In this function, the `this` pointer is not pointing at an Operator
> > > object. That's undefined behavior, right?
> > Yes.
> Well then I guess the next step is how to fix it.
I tried removing the method and rebuilding. The resulting compilation errors were easily fixed by changing the few occurrences in:
include/llvm/Support/PatternMatch.h
lib/Analysis/BasicAliasAnalysis.cpp
lib/Analysis/ScalarEvolution.cpp
lib/Analysis/ValueTracking.cpp
lib/CodeGen/ScheduleDAGInstrs.cpp
lib/CodeGen/SelectionDAG/FastISel.cpp
to use the static variant of Operator::getOpcode(). (This was with 3.1; trunk may be different.)
I suppose one could also modify the non-static method to invoke the static one, passing "this" as the argument, but that just doesn't feel right...
- Chuck
THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.
More information about the llvm-dev
mailing list