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
