[PATCH] Insert poisoned paddings between fields in C++ classes.

Alexey Samsonov vonosmas at gmail.com
Wed Oct 15 13:37:05 PDT 2014


================
Comment at: lib/AST/RecordLayoutBuilder.cpp:1369-1379
@@ +1368,13 @@
+
+  // FIXME (before commit): where should this SpecialCaseList reside?
+  // In RecordLayoutBuilder? In global scope?
+  // Also, can we reuse the existing -fsanitize-blacklist flag to pass
+  // the file path (i.e. the same blacklist file will be used in AST and
+  // CogeGen), or we should have another flag?
+  auto SCL = llvm::SpecialCaseList::createOrDie(
+      "/tmp/blacklist.txt");
+  StringRef Filename =
+      Context.getSourceManager().getFilename(RD->getLocation());
+  if (SCL->inSection("src", Filename))
+    ReasonToReject = "blacklisted by src";
+
----------------
kcc wrote:
> rsmith wrote:
> > Please fix =)
> > 
> > I think reusing the same `-fsanitize-blacklist` flag makes sense.
> Alexey will commit a separate patch to move fsanitize=blacklist to langopts. 
> Clearly, I will wait for that and update this CL
r219842 moves ``-fsanitize-blacklist`` is in LangOpts. You've probably thought about it, but I will warn you anyway: recompiling the library with the same compiler and compile flags, but different blacklist file will make it ABI-incompatible. So, we should be really careful in using it.

http://reviews.llvm.org/D5687






More information about the cfe-commits mailing list