Hi Robert,

thanks for noticing it. I forgot to "svn add" the offsetof.c regression test file, so it wasn't committed. I corrected it.

I didn't commit the file offsetof.c, since it fails the tegtest. It woks OK if I change it to:

struct st {
  char a;

char __code * correct() { return    (char      __code *) 0x1234;        }
char __code * buggy()   { return &(((struct st __code *) 0x1234) -> a); }

  ASSERT(correct() == buggy());

but I don't know if the test makes sense any more!?


On 07/25/2010 06:31 PM, Robert Larice wrote:
"SourceForge.net" <noreply@sourceforge.net> writes:

Patches item #2801126, was opened at 2009-06-04 16:17
Message generated for change (Comment added) made by borutr
You can respond by visiting: 

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Closed
Resolution: Accepted
Priority: 5
Private: No
Submitted By: Robert Larice (rlar)
Assigned to: Borut Ražem (borutr)
Summary: __builtin_offsetof implementation

Initial Comment:
the current implementation of the offsetof macro
  depends on special code in SDCCast.c
   which causes problems for certain pointer casts.
  (see offsetof-bug.c testcase in the patch)

this patch implements offsetof with a compiler
  builtin __builtin_offsetof to avoid this problem,
   and to avoid such special twisting of the ast.


Comment By: Borut Ražem (borutr)
Date: 2010-07-25 15:11

Patch applied in svn revision #5888.

Hello Borut,

  Thank you for making use of that.

  The patch did contain two regression test files.
  Did you leave them out intentionally ?
  Or just forget to `add' them to the repository ?
    (those are of course `new' files)


This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
sdcc-devel mailing list