This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Incorrect generated code for conditional


On 2014.03.16 at 09:20 -0700, Arthur Schwarz wrote:
> 
> 
> Win7 - 64bit
> gcc (GCC) 4.8.2
> g++ -w -DYYDEBUG=1 -DDEBUG_IO   -c -g -MMD -MP -MF "build/Debug/Cygwin-Windows/SlipRegister.o.d" -o build/Debug/Cygwin-Windows/SlipRegister.o SlipRegister.cpp
> 
> There is no generated code for "retval = true;" in the conditional block. I am including the code fragment and disassembled code. 
> 
> 
> If the issue seems to be a bug then I will include whatever additional data is required to help gcc identify the error. If it is not a bug then I truly apologize for wasting your time.
> 
> What happens is that the conditional is executed but there is no required code. 
> 
> art
> 
> 
> --------------------- source code ----------------------
> 
>   bool SlipRegister::post(const string& name, SlipHeader& head) {
>       bool retval = false;
>       if (!head.isHeader()) {
>          postError(SlipErr::E4002, "SlipRegister::post", "", "", head);   
>       } else {                       // attempt to insert a new entry
>          SlipAsciiEntry entry(name, &head, SlipHashEntry::DEFINED);
>          SlipHash::ReturnTuple tuple = hashTable->insert(entry);
>          if (tuple.condition == SlipHash::ReturnTuple::INSERTED) {
>             retval == true;                                         // skipped over
              retval = true;

-- 
Markus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]