Re: [PATCH] mailinfo: resolve -Wstring-plus-int warning
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Sep 22, 2014, 21:10 UTC
- Message-ID
- <CAPig+cTAFaG5H8rmf1jrvFwr_OOH7u19JMKDUE12UddokUmfaQ@mail.gmail.com>
- In-Reply-To
- <xmqqk34vlfhz.fsf@gitster.dls.corp.google.com>
On Mon, Sep 22, 2014 at 1:41 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 12 quoted lines
> Eric Sunshine <sunshine@sunshineco.com> writes: > >> The just-released Apple Xcode 6.0.1 has -Wstring-plus-int enabled by >> default which complains about pointer arithmetic applied to a string >> literal: >> >> builtin/mailinfo.c:303:24: warning: >> adding 'long' to a string does not append to the string >> return !memcmp(SAMPLE + (cp - line), cp, strlen(SAMPLE) ... >> ~~~~~~~^~~~~~~~~~~~~ > > And why is that a warning-worthy violation?
Not being privy to Apple's decision making process, I can only guess that it is in response to their new Swift programming language which they are pushing heavily on iOS (and soon Mac OS X), in which '+' is the string concatenation operator. For projects written in Swift and incorporating legacy or portable components in C, C++, or Objective-C, the warning may help programmer's avoid the pitfall of thinking that '+' is also concatenation in the C-based languages.
> Can we have them fix their compiler instead?
If the above supposition is correct, then it's likely that Apple considers this a feature, not a bug which needs to be fixed.
>> Resolve this issue. >> >> Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>