[PATCH] Add experimental clang/driver flag -fsanitize-address-field-padding=N

Alexey Samsonov vonosmas at gmail.com
Wed Oct 8 16:30:41 PDT 2014


What "level of field padding" is, at all? My best guess is "-fsanitize-address-field-padding=1" is "less aggressive", and "2" is "more aggressive". Can you clarify it somewhere (in LangOptions header?) You may also introduce a enum in LangOptions (smth. ike LangOptions::StackProtectorMode). 

Please add a test case to test/Driver/fsanitize.c

================
Comment at: include/clang/Basic/LangOptions.h:29
@@ -28,2 +28,3 @@
 #include "clang/Basic/Sanitizers.def"
+  unsigned AddressFieldPadding : 2;
 
----------------
Why not AsanFieldPadding (or at least SanitizeAddressFieldPadding, or AddressSanitizerFieldPadding)?

================
Comment at: lib/Driver/SanitizerArgs.cpp:171
@@ +170,3 @@
+        StringRef S = A->getValue();
+        // Legal values are 0 and 1, but in future we may add more levels.
+        if (S.getAsInteger(0, AsanFieldPadding) || AsanFieldPadding < 0 ||
----------------
Comment doesn't match the code.

http://reviews.llvm.org/D5676






More information about the cfe-commits mailing list