Hello,

code in CGCall.cpp that loads up function arguments that need to be
coerced to a different type may in some cases ignore the fact that
the source of the argument is not naturally aligned.  This may cause
incorrect code to be generated.

This patch adds a setAlignment call in one place in CreateCoercedLoad
where it was missing so far.  Note that as this location, we do not
actually know what alignment of the source location we can rely on;
the callers do not pass anything to this routine.  This is already
an issue in other places in CreateCoercedLoad; just like those places,
this patch simply uses an alignment of 1, and adds a FIXME.

(See attached file: clang-align-coerced)

Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand | Phone: +49-7031/16-3727
  STSM, GNU/Linux compilers and toolchain
  IBM Deutschland Research & Development GmbH
  Vorsitzende des Aufsichtsrats: Martina Koederitz | Geschäftsführung: Dirk
Wittkopp
  Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht
Stuttgart, HRB 243294

Attachment: clang-align-coerced
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to