This is an archive of the discontinued LLVM Phabricator instance.

Remove top-level Clang -fsanitize= flags for optional ASan features.
ClosedPublic

Authored by samsonov on Jun 10 2014, 1:15 PM.

Details

Reviewers
kcc
Summary

init-order and use-after-return modes can currently be enabled
by runtime flags. use-after-scope mode is not really working at the
moment.

The only problem I see is that users won't be able to disable extra
instrumentation for init-order and use-after-scope by a top-level Clang flag.
But this instrumentation was implicitly enabled for quite a while and
we didn't hear from users hurt by it.

Diff Detail

Event Timeline

samsonov updated this revision to Diff 10298.Jun 10 2014, 1:15 PM
samsonov retitled this revision from to Remove top-level Clang -fsanitize= flags for optional ASan features..
samsonov updated this object.
samsonov edited the test plan for this revision. (Show Details)
samsonov added a reviewer: kcc.
samsonov added subscribers: Unknown Object (MLST), Unknown Object (MLST).
kcc accepted this revision.Jun 10 2014, 9:33 PM
kcc edited edge metadata.

LGTM
This patch will certainly improve the current state of things, but we risk that we'll need to reinstate part of this patch later when we need some
other user-visible flags again. I am ok with such risk.

This revision is now accepted and ready to land.Jun 10 2014, 9:33 PM

What about coverage? Currently it must be enabled with the "-mllvm" nonsense. Shouldn't we have a driver flag for it?

kcc added a comment.Jun 11 2014, 6:41 AM

good point!

Submitting this now. Let's deal with coverage-related flags separately.

samsonov closed this revision.Jun 13 2014, 11:02 AM
tools/clang/lib/Driver/SanitizerArgs.cpp