[cfe-commits] r163429 - /cfe/trunk/tools/clang-check/ClangCheck.cpp

Alexander Kornienko alexfh at google.com
Mon Sep 10 03:55:30 PDT 2012


On Mon, Sep 10, 2012 at 12:07 AM, Douglas Gregor <dgregor at apple.com> wrote:

>
> Sent from my iPhone
> On Sep 8, 2012, at 6:55 PM, Chandler Carruth <chandlerc at google.com> wrote:
>
> On Sat, Sep 8, 2012 at 6:10 PM, Douglas Gregor <dgregor at apple.com> wrote:
>
>> Sent from my iPhone
>>
>> On Sep 7, 2012, at 6:44 PM, Alexander Kornienko <alexfh at google.com>
>> wrote:
>>
>> > Author: alexfh
>> > Date: Fri Sep  7 17:44:34 2012
>> > New Revision: 163429
>> >
>> > URL: http://llvm.org/viewvc/llvm-project?rev=163429&view=rev
>> > Log:
>> > Fixed http://llvm.org/bugs/show_bug.cgi?id=13777
>> >
>> > Modified:
>> >    cfe/trunk/tools/clang-check/ClangCheck.cpp
>> >
>> > Modified: cfe/trunk/tools/clang-check/ClangCheck.cpp
>> > URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-check/ClangCheck.cpp?rev=163429&r1=163428&r2=163429&view=diff
>> >
>> ==============================================================================
>> > --- cfe/trunk/tools/clang-check/ClangCheck.cpp (original)
>> > +++ cfe/trunk/tools/clang-check/ClangCheck.cpp Fri Sep  7 17:44:34 2012
>> > @@ -58,7 +58,9 @@
>> >     "ast-dump-filter",
>> >     cl::desc(Options->getOptionHelpText(options::OPT_ast_dump_filter)));
>> >
>> > -namespace {
>> > +// Anonymous namespace here causes problems with gcc <= 4.4 on MacOS:
>> > +// http://llvm.org/bugs/show_bug.cgi?id=13777
>> > +// namespace {
>>
>> How about just putting it in the clang namespace? At the very least,
>> please delete the commented-out lines.
>>
>
> Agreed on both fronts. Also, bugs are usually cited just as "PR13777", and
> almost never cited in the source code, but rather in the test case itself.
>
>
> The reasoning behind this is that the code and comments should stand
> alone. Nobody should have to hunt through a bug tracker to determine the
> intent.
>
Thanks for the explanation, I didn't know this point.


> The test suite, on the other hand, is a mix of feature tests and
> regression tests that often grows in response to specific bugs, and the
> cross-linking to those bugs is a valuable addition.
>
This is overall a reasonable statement. As for this specific case, I'm not
sure I can come up with a sane test for this (this is not a functionality
after all, and the bug is not in the source code, but in an external
compiler). That's why I decided to put a link to the bug tracker item in
the source file itself. And the second reason is that I wanted to provide
more context to those who'll read this code, in addition to the short
description immediately in comments.


> That said, is this really the necessary solution? There are a lot of
> template arguments defined in an anonymous namespace within the codebase
> already. How do they work without problems?
>
>
> Yes, this is odd.
>
I would suggest, that this can be the only place where a class from an
unnamed namespace is used as a parameter of a template function, which has
a local class. But I certainly don't want to find a complete and correct
proof of this statement. It could be rather time consuming, and I'm sure it
won't have much value.


> I feel like this is an ODR violation waiting to happen unless we put it in
> an anonymous namespace the way it should be...
>
> -Chandler
>
>
--
Regards,
Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120910/36ddc615/attachment.html>


More information about the cfe-commits mailing list