ah, rightio - thanks for the reminder! On Thu, Jun 16, 2016 at 10:44 AM, George Burgess IV < george.burgess...@gmail.com> wrote:
> I don't think so -- 4.7p2 says "If the destination type is unsigned, the > resulting value is the least unsigned integer congruent to the source > integer (modulo 2 n where n is the number of bits used to represent the > unsigned type). [ Note: In a two’s complement representation, this > conversion is conceptual and there is no change in the bit pattern (if > there is no truncation). — end note ]" > > OTOH, the other way around (unsigned -> signed) is implementation-defined. > :) > > On Thu, Jun 16, 2016 at 10:27 AM, David Blaikie <dblai...@gmail.com> > wrote: > >> I can't remember the rules - but wouldn't this produce UB on a signed >> char platform in the case where Ch is negative? (or is that just >> unspecified? implementation defined?) >> >> On Wed, Jun 15, 2016 at 7:30 PM, George Burgess IV via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> Author: gbiv >>> Date: Wed Jun 15 21:30:33 2016 >>> New Revision: 272867 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=272867&view=rev >>> Log: >>> [Lex] Try to fix a 'comparison is always false' warning. NFC. >>> >>> Modified: >>> cfe/trunk/lib/Lex/PPDirectives.cpp >>> >>> Modified: cfe/trunk/lib/Lex/PPDirectives.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPDirectives.cpp?rev=272867&r1=272866&r2=272867&view=diff >>> >>> ============================================================================== >>> --- cfe/trunk/lib/Lex/PPDirectives.cpp (original) >>> +++ cfe/trunk/lib/Lex/PPDirectives.cpp Wed Jun 15 21:30:33 2016 >>> @@ -162,7 +162,7 @@ static bool warnByDefaultOnWrongCase(Str >>> SmallString<32> LowerInclude{Include}; >>> for (char &Ch : LowerInclude) { >>> // In the ASCII range? >>> - if (Ch < 0 || Ch > 0x7f) >>> + if (static_cast<unsigned char>(Ch) > 0x7f) >>> return false; // Can't be a standard header >>> // ASCII lowercase: >>> if (Ch >= 'A' && Ch <= 'Z') >>> >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> cfe-commits@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>> >> >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits