From d0089aef954907141bc9344558dea83577daef73 Mon Sep 17 00:00:00 2001 From: Jesse Rosenstock Date: Sat, 26 Sep 2020 08:36:17 +0200 Subject: [PATCH] Fix bit-field truncation warning message Fix copy & paste bug with warning message. struct X { signed int a : 3; }; struct X g = { 5 }; Before: s.c(4): Warning: Implicit truncation from 'int' to 'int : 3' in bit-field initializer changes value from 5 to 5 After: s.c(4): Warning: Implicit truncation from 'int' to 'int : 3' in bit-field initializer changes value from 5 to -3 Fixes #1268 --- src/cc65/declare.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cc65/declare.c b/src/cc65/declare.c index 0f604d45e..8623fa08f 100644 --- a/src/cc65/declare.c +++ b/src/cc65/declare.c @@ -2567,9 +2567,9 @@ static unsigned ParseStructInit (Type* T, int* Braces, int AllowFlexibleMembers) long RestoredVal = asr_l(asl_l (Val, ShiftBits), ShiftBits); if (ED.IVal != RestoredVal) { Warning ("Implicit truncation from '%s' to '%s : %u' in bit-field initializer " - "changes value from %ld to %d", + "changes value from %ld to %ld", GetFullTypeName (ED.Type), GetFullTypeName (Entry->Type), - Entry->V.B.BitWidth, ED.IVal, Val); + Entry->V.B.BitWidth, ED.IVal, RestoredVal); } }