Technical information
Operating Precautions for CPDW9X/NT-CDR-V85X, Y-GHS-MULTI-V800
TM
  Customer Notification r20tu0003ed1812  110 
No. a112 
P26:  TOOLS-20948 write to global variable was wrongly moved before __DI 
Version Information  
V6.1.4/2013.5.5 
Details: 
TOOLS-20948 write to global variable was wrongly moved before __DI 
The problem here is that the write to variable “Glob” between the DI/EI pair is moved 
outside the DI/EI by the codemotion optimization. 
Example: 
#include <stdio.h> 
volatile int Flag=1; 
volatile int Glob=0; 
int a = 1; 
int main() { 
 if (Flag==1) { 
 __DI(); 
 Glob=a; 
 __EI(); 
 } else 
 Glob=a; 
 printf("Hello world. %d \n", Glob); 
 return 0; 
} 
Command Line 
ccrh850 –cpu=rh860 –c -O 
Workaround 
For V6.1.4/2013.5.5, please use latest patch 
Y-GHS-MULTI-V800-FULL-V614_2013.5.5-PATCH02 
plus v800-v2013.5.5-comp-P26 or later 










