[PATCH] Re: [v3] updated atomic configury
Joseph S. Myers
joseph@codesourcery.com
Mon Nov 28 18:13:00 GMT 2011
On Mon, 28 Nov 2011, Andrew MacLeod wrote:
> OK, here's a reworked patch. This bootstraps but there is a regression... one
> set of PCH tests fail in a very odd way. I've investigated it and it turns out
> that for some reason, ptr_type_node doesn't always have it size set if code
> isn't being generated (all the other nodes do)... in particular I can
> reproduce it on a small test case on my x86-64 machine where size is 8 when
> generating code, and 0 if -E is used to output pre-processed source. I'm
> looking into that today.
That would be why cppbuiltin.c, defining __SIZEOF_POINTER__, needs to use
the POINTER_SIZE macro instead of directly using ptr_type_node. You may
need to do something similar.
/* ptr_type_node can't be used here since ptr_mode is only set when
toplev calls backend_init which is not done with -E switch. */
cpp_define_formatted (pfile, "__SIZEOF_POINTER__=%d",
POINTER_SIZE / BITS_PER_UNIT);
> Question, the purpose of the testcase in the patch macros.c... is it to
> simply test for standard compliance, or to test both compliance PLUS what we
> expect? I made the change assuming the latter. We will always generate a 1
> or a 2 for the macros, and we also want the macros to now be compile time
> satisfied so they can be used in #if statements like bkoz was trying to do.
Yes, test that the macros do what we expect.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Gcc-patches
mailing list