[cfe-commits] r119583 - in /cfe/trunk: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td include/clang/Basic/LangOptions.h include/clang/Driver/CC1Options.td include/clang/Driver/Options.td include/clang/Sema/Sema.h lib/Driver/Tools.cpp lib/Frontend/CompilerInvocation.cpp lib/Sema/SemaDecl.cpp test/SemaCXX/warn-argument-larger-than.cpp
Argyrios Kyrtzidis
kyrtzidis at apple.com
Wed Nov 17 19:54:04 PST 2010
On Nov 17, 2010, at 6:03 PM, Chris Lattner wrote:
>
> On Nov 17, 2010, at 5:54 PM, Argyrios Kyrtzidis wrote:
>
>> On Nov 17, 2010, at 3:51 PM, Argyrios Kyrtzidis wrote:
>>
>>>
>>>>
>>>>> + if (ReturnTy->isPODType() &&
>>>>> + Diags.getDiagnosticLevel(diag::warn_return_value_size) !=
>>>>> + Diagnostic::Ignored) {
>>>>
>>>> Is this worth doing a 'is disabled' check for it? It doesn't seem that expensive. Does it cause a lot of PCH deserialization or something?
>>>
>>> This is to allow disabling the warning through #pragma diagnostic.
>>
>> Oops, disregard the above comment, I don't know what I was thinking.
>>
>> ASTContext::getTypeInfo will calculate a ASTRecordLayout if one is not available.
>> It's debatable whether we will avoid it but better be on the safe side ?
>
> When does this warning trigger? IMO, it would make sense to only do it on function definitions, not prototypes (because if you just have a proto, you probably don't have the option to change it, and that way you don't get the warning in every translation unit).
Yes, only on function definitions.
>
> If it just triggers on definitions, the layout will have to be computed at codegen time, so it shouldn't add any cost to -O0 compiles.
That's true but I was thinking about non-codegen situations like indexing ?
-Argiris
>
> -Chris
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list