aboutsummaryrefslogtreecommitdiffstats
path: root/skeletons/GeneralizedTime.c
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2012-01-22 16:38:37 -0800
committerLev Walkin <vlm@lionet.info>2012-01-22 16:38:37 -0800
commit9a338f8d256702a264df8ab0230e0d0f4019b9f4 (patch)
tree4374c138627a24587f6cc27d4bd642d9e885e3c0 /skeletons/GeneralizedTime.c
parente8727ec286439b8a00d0b312f156244f8fd88764 (diff)
unbreak overflow detection in gcc 4.4.3 (4.x?)
Diffstat (limited to 'skeletons/GeneralizedTime.c')
-rw-r--r--skeletons/GeneralizedTime.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/skeletons/GeneralizedTime.c b/skeletons/GeneralizedTime.c
index 1a16ba8a..7794bd43 100644
--- a/skeletons/GeneralizedTime.c
+++ b/skeletons/GeneralizedTime.c
@@ -314,7 +314,8 @@ asn_GT2time_prec(const GeneralizedTime_t *st, int *frac_value, int frac_digits,
while(fd > frac_digits)
fv /= 10, fd--;
while(fd < frac_digits) {
- int new_fv = fv * 10;
+ int volatile new_fv = fv * 10;
+ /* GCC 4.x is being too smart without volatile */
if(new_fv / 10 != fv) {
/* Too long precision request */
fv = 0;
@@ -441,7 +442,8 @@ asn_GT2time_frac(const GeneralizedTime_t *st, int *frac_value, int *frac_digits,
*/
for(buf++; buf < end; buf++) {
int v = *buf;
- int new_fvalue;
+ int volatile new_fvalue;
+ /* GCC 4.x is being too smart without volatile */
switch(v) {
case 0x30: case 0x31: case 0x32: case 0x33: case 0x34:
case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: