On 2013-03-06 12:34 PM, Joshua Cranmer 🐧 wrote:
On 3/6/2013 11:26 AM, Gregory Szorc wrote:
On 3/6/13 9:07 AM, Kyle Huey wrote:
Gecko reviewers should be enforcing this.
Static analysis should be helping to enforce this (and numerous other
conventions).
Bugs 733873 and 767563 (possibly dupes) are open to track implementing
a Clang plugin to perform analysis of our source and builds. All we
need is a hero or two to get an initial version committed. We can
iterate on what it does later.
I have a working static analysis plugin that reimplements the
NS_STACK_CLASS and NS_MUST_OVERRIDE checks from the days of dehydra (and
I can also finger cases where the build would fail). The reason I
haven't pushed harder on checking it into the tree is because it doesn't
work properly on OS X due to linker visibility issues (the clang binary
strips all the symbols I need to link against); on Linux, I had some
host linker errors due to the stdc++-compat stuff--and our current clang
binary packages for linux also strip out all the useful linking symbols.
Is the Mac problem something that we have a solution for on the horizon?
Can we export the needed symbols in our own clang builds? (Note that
we do our own clang builds on Mac.)
Without tinderbox builds that would turn the tree orange or red on
failure, there's no point checking this support into the tree.
Checking this support into the tree is the first step to turning builds
red. I'm a huge fan of using static analysis to fail builds at compile
time, and I am very interested to help with making this usable on
Tinderboxen some day. :-)
Cheers,
Ehsan
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform