rurban's change to src/gc/system.c breaks my GCC build, but I'm assuming that 
will be fixed soon.  Gotta break some eggs (and builds) to make an omelette.

Once that gets cleaned up, I think we need to hide some of the details of the 
address sanitization.  src/gc/system.c right now has some hardcoded stuff for 
address sanitization that looks like this:

#if defined(__clang__) && defined(__has_feature) && 
__has_feature(address_sanitizer)
__attribute__((no_address_safety_analysis))
#endif

I'm asking that we put that feature of "no_address_safety_analysis" in a macro, 
a la PARROT_PURE_FUNCTION and the like in include/parrot/compiler.h.  We might 
call it PARROT_NO_ADDRESS_SAFETY.

This has two benefits: It lets us keep the details hidden behind a macro, AND 
it lets the macro behave differently based on what compiler/tool is running.  
Rather than hardcoding the attributes for AddressSanitizer 
(http://clang.llvm.org/docs/AddressSanitizer.html), we will have the 
flexibility to have the macro implement the code for other sanitization 
systems, like Electric Fence or who knows what else.

The setup for Configure.pl + include/parrot/compiler.h takes going through some 
hoops, but it's good and solid.  I'd be glad to help out on this however I can.

Thanks,
xoxo,
Andy


--
Andy Lester => [email protected] => www.petdance.com => AIM:petdance

_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to