On 27 April 2018 at 16:07, Sanjay Patel via cfe-commits < cfe-commits@lists.llvm.org> wrote:
> Missing dash corrected at r331057. I can improve the doc wording, but > let's settle on the flag name first, and I'll try to get it all fixed up in > one shot. > > So far we have these candidates: > 1. -ffp-cast-overflow-workaround > 2. -fstrict-fp-trunc-semantics > 3. -fstrict-fp-cast-overflow > > I don't have a strong opinion here, but on 2nd reading, it does seem like > a 'strict' flag fits better with existing options. > The corresponding UBSan check is called -fsanitize=float-cast-overflow, so maybe -fno-strict-float-cast-overflow would be the most consistent name? > On Fri, Apr 27, 2018 at 4:41 PM, Richard Smith <rich...@metafoo.co.uk> > wrote: > >> On 27 April 2018 at 09:21, Sanjay Patel via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> Author: spatel >>> Date: Fri Apr 27 09:21:22 2018 >>> New Revision: 331056 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=331056&view=rev >>> Log: >>> [docs] add -ffp-cast-overflow-workaround to the release notes >>> >>> This option was added with: >>> D46135 >>> rL331041 >>> ...copying the text from UsersManual.rst for more exposure. >>> >>> >>> Modified: >>> cfe/trunk/docs/ReleaseNotes.rst >>> >>> Modified: cfe/trunk/docs/ReleaseNotes.rst >>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNo >>> tes.rst?rev=331056&r1=331055&r2=331056&view=diff >>> ============================================================ >>> ================== >>> --- cfe/trunk/docs/ReleaseNotes.rst (original) >>> +++ cfe/trunk/docs/ReleaseNotes.rst Fri Apr 27 09:21:22 2018 >>> @@ -83,6 +83,15 @@ Non-comprehensive list of changes in thi >>> New Compiler Flags >>> ------------------ >>> >>> +- :option:`-ffp-cast-overflow-workaround` and >>> + :option:`-fnofp-cast-overflow-workaround` >>> >> >> Shouldn't this be -fno-fp-cast-overflow-workaround? >> >> Also, our convention for flags that define undefined behavior is >> `-fno-strict-*`, so perhaps this should be `-fno-strict-fp-cast-overflow` >> ? >> >> >>> + enable (disable) a workaround for code that casts floating-point >>> values to >>> + integers and back to floating-point. If the floating-point value is >>> not >>> + representable in the intermediate integer type, the code is incorrect >>> + according to the language standard. >> >> >> I find this hard to read: I initially misread "the code is incorrect >> according to the language standard" as meaning "Clang will generate code >> that is incorrect according to the language standard". I think what you >> mean here is "the code has undefined behavior according to the language >> standard, and Clang will not guarantee any particular result. This flag >> causes the behavior to be defined to match the overflowing behavior of the >> target's native float-to-int conversion instructions." >> >> >>> This flag will attempt to generate code >>> + as if the result of an overflowing conversion matches the overflowing >>> behavior >>> + of a target's native float-to-int conversion instructions. >>> + >>> - ... >>> >>> Deprecated Compiler Flags >>> >>> >>> _______________________________________________ >>> 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 > >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits