r352229 - Remove F16 literal support based on Float16 support.

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 28 06:10:27 PST 2019


Merged to 8.0 in r352365.

On Fri, Jan 25, 2019 at 10:36 AM Erich Keane via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
>
> Author: erichkeane
> Date: Fri Jan 25 10:36:20 2019
> New Revision: 352229
>
> URL: http://llvm.org/viewvc/llvm-project?rev=352229&view=rev
> Log:
> Remove F16 literal support based on Float16 support.
>
> Float16 support was disabled recently on many platforms, however that
> commit still allowed literals of Float16 type to work.  This commit
> removes those based on the same logic as Float16 disable.
>
> Change-Id: I72243048ae2db3dc47bd3d699843e3edf9c395ea
>
> Added:
>     cfe/trunk/test/SemaCXX/Float16.cpp   (with props)
> Modified:
>     cfe/trunk/lib/Lex/LiteralSupport.cpp
>
> Modified: cfe/trunk/lib/Lex/LiteralSupport.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/LiteralSupport.cpp?rev=352229&r1=352228&r2=352229&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Lex/LiteralSupport.cpp (original)
> +++ cfe/trunk/lib/Lex/LiteralSupport.cpp Fri Jan 25 10:36:20 2019
> @@ -616,10 +616,11 @@ NumericLiteralParser::NumericLiteralPars
>        if (isHalf || isFloat || isLong || isFloat128)
>          break; // HF, FF, LF, QF invalid.
>
> -      if (s + 2 < ThisTokEnd && s[1] == '1' && s[2] == '6') {
> -          s += 2; // success, eat up 2 characters.
> -          isFloat16 = true;
> -          continue;
> +      if (PP.getTargetInfo().hasFloat16Type() && s + 2 < ThisTokEnd &&
> +          s[1] == '1' && s[2] == '6') {
> +        s += 2; // success, eat up 2 characters.
> +        isFloat16 = true;
> +        continue;
>        }
>
>        isFloat = true;
>
> Added: cfe/trunk/test/SemaCXX/Float16.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/Float16.cpp?rev=352229&view=auto
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/Float16.cpp (added)
> +++ cfe/trunk/test/SemaCXX/Float16.cpp Fri Jan 25 10:36:20 2019
> @@ -0,0 +1,18 @@
> +// RUN: %clang_cc1 -fsyntax-only -verify -triple x86_64-linux-pc %s
> +// RUN: %clang_cc1 -fsyntax-only -verify -triple spir-unknown-unknown %s -DHAVE
> +// RUN: %clang_cc1 -fsyntax-only -verify -triple armv7a-linux-gnu %s -DHAVE
> +// RUN: %clang_cc1 -fsyntax-only -verify -triple aarch64-linux-gnu %s -DHAVE
> +
> +#ifdef HAVE
> +// expected-no-diagnostics
> +#endif // HAVE
> +
> +#ifndef HAVE
> +// expected-error at +2{{_Float16 is not supported on this target}}
> +#endif // !HAVE
> +_Float16 f;
> +
> +#ifndef HAVE
> +// expected-error at +2{{invalid suffix 'F16' on floating constant}}
> +#endif // !HAVE
> +const auto g = 1.1F16;
>
> Propchange: cfe/trunk/test/SemaCXX/Float16.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
>
> Propchange: cfe/trunk/test/SemaCXX/Float16.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = "Author Date Id Rev URL"
>
> Propchange: cfe/trunk/test/SemaCXX/Float16.cpp
> ------------------------------------------------------------------------------
>     svn:mime-type = text/plain
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list