diff options
Diffstat (limited to 'gcc/config/i386/linux-unwind.h')
| -rw-r--r-- | gcc/config/i386/linux-unwind.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h index 919c3a4..6ca1309 100644 --- a/gcc/config/i386/linux-unwind.h +++ b/gcc/config/i386/linux-unwind.h @@ -52,7 +52,10 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, && *(unsigned long *)(pc+1) == 0x050f0000000fc0c7) { struct ucontext *uc_ = context->cfa; - sc = (struct sigcontext *) &uc_->uc_mcontext; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem + because it does not alias anything. */ + sc = (struct sigcontext *) (void *) &uc_->uc_mcontext; } else return _URC_END_OF_STACK; @@ -138,7 +141,10 @@ x86_fallback_frame_state (struct _Unwind_Context *context, struct siginfo info; struct ucontext uc; } *rt_ = context->cfa; - sc = (struct sigcontext *) &rt_->uc.uc_mcontext; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem + because it does not alias anything. */ + sc = (struct sigcontext *) (void *) &rt_->uc.uc_mcontext; } else return _URC_END_OF_STACK; |
