r218895 - Diagnose mixed use of '_' and '.' as version
jahanian
fjahanian at apple.com
Fri Oct 3 10:32:03 PDT 2014
On Oct 3, 2014, at 12:42 AM, Justin Bogner <mail at justinbogner.com> wrote:
> Fariborz Jahanian <fjahanian at apple.com> writes:
>> Author: fjahanian
>> Date: Thu Oct 2 12:57:26 2014
>> New Revision: 218895
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=218895&view=rev
>> Log:
>> Diagnose mixed use of '_' and '.' as version
>> separators in my previous patch.
>>
>> Modified:
>> cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
>> cfe/trunk/lib/Parse/ParseDecl.cpp
>> cfe/trunk/test/SemaObjC/attr-availability-1.m
>>
>> Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=218895&r1=218894&r2=218895&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original)
>> +++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Thu Oct 2 12:57:26 2014
>> @@ -775,6 +775,9 @@ def err_lambda_missing_parens : Error<
>> // Availability attribute
>> def err_expected_version : Error<
>> "expected a version of the form 'major[.minor[.subminor]]'">;
>> +def warn_expected_consistent_version_separator : Warning<
>> + "use same version number separators '_' or '.'; as in "
>> + "'major[.minor[.subminor]]'">, InGroup<Availability>;
>> def err_zero_version : Error<
>> "version number must have non-zero major, minor, or sub-minor version">;
>> def err_availability_expected_platform : Error<
>>
>> Modified: cfe/trunk/lib/Parse/ParseDecl.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseDecl.cpp?rev=218895&r1=218894&r2=218895&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Parse/ParseDecl.cpp (original)
>> +++ cfe/trunk/lib/Parse/ParseDecl.cpp Thu Oct 2 12:57:26 2014
>> @@ -688,7 +688,8 @@ VersionTuple Parser::ParseVersionTuple(S
>> return VersionTuple(Major);
>> }
>>
>> - if (!VersionNumberSeparator(ThisTokBegin[AfterMajor])
>> + const char AfterMajorSeparator = ThisTokBegin[AfterMajor];
>> + if (!VersionNumberSeparator(AfterMajorSeparator)
>> || (AfterMajor + 1 == ActualLength)) {
>> Diag(Tok, diag::err_expected_version);
>> SkipUntil(tok::comma, tok::r_paren,
>> @@ -716,13 +717,17 @@ VersionTuple Parser::ParseVersionTuple(S
>> return VersionTuple(Major, Minor);
>> }
>>
>> + const char AfterMinorSeparator = ThisTokBegin[AfterMinor];
>> // If what follows is not a '.' or '_', we have a problem.
>> - if (!VersionNumberSeparator(ThisTokBegin[AfterMinor])) {
>> + if (!VersionNumberSeparator(AfterMinorSeparator)) {
>
> The comment should probably be updated to reflect that we're looking for
> the same separator as before.
I added comment where this rule is checked for. In r218993.
- Thanks, Fariborz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20141003/00489c1b/attachment.html>
More information about the cfe-commits
mailing list