[PATCH] D106266: [C++4OpenCL] Add run line standard aliases clc++1.0 and CLC++1.0
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG577220e89866: [OpenCL] Add std flag aliases clc++1.0 and CLC++1.0 (authored by Anastasia). Changed prior to commit: https://reviews.llvm.org/D106266?vs=360059=362988#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106266/new/ https://reviews.llvm.org/D106266 Files: clang/docs/UsersManual.rst clang/include/clang/Basic/LangStandards.def clang/include/clang/Driver/Options.td clang/lib/Frontend/CompilerInvocation.cpp clang/test/Driver/autocomplete.c clang/test/Driver/unknown-std.cl lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp Index: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp === --- lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp +++ lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp @@ -478,7 +478,7 @@ LangStd = LangStandard::lang_opencl10; break; case clang::Language::OpenCLCXX: - LangStd = LangStandard::lang_openclcpp; + LangStd = LangStandard::lang_openclcpp10; break; case clang::Language::CUDA: LangStd = LangStandard::lang_cuda; Index: clang/test/Driver/unknown-std.cl === --- clang/test/Driver/unknown-std.cl +++ clang/test/Driver/unknown-std.cl @@ -11,7 +11,7 @@ // CHECK-NEXT: note: use 'cl1.2' for 'OpenCL 1.2' standard // CHECK-NEXT: note: use 'cl2.0' for 'OpenCL 2.0' standard // CHECK-NEXT: note: use 'cl3.0' for 'OpenCL 3.0' standard -// CHECK-NEXT: note: use 'clc++' for 'C++ for OpenCL' standard +// CHECK-NEXT: note: use 'clc++1.0' or 'clc++' for 'C++ for OpenCL 1.0' standard // Make sure that no other output is present. // CHECK-NOT: {{^.+$}} Index: clang/test/Driver/autocomplete.c === --- clang/test/Driver/autocomplete.c +++ clang/test/Driver/autocomplete.c @@ -49,6 +49,8 @@ // CLSTDALL-NEXT: CL3.0 // CLSTDALL-NEXT: clc++ // CLSTDALL-NEXT: CLC++ +// CLSTDALL-NEXT: clc++1.0 +// CLSTDALL-NEXT: CLC++1.0 // RUN: %clang --autocomplete=-fno-sanitize-coverage=,f | FileCheck %s -check-prefix=FNOSANICOVER // FNOSANICOVER: func // RUN: %clang --autocomplete=-fno-sanitize-coverage= | FileCheck %s -check-prefix=FNOSANICOVERALL Index: clang/lib/Frontend/CompilerInvocation.cpp === --- clang/lib/Frontend/CompilerInvocation.cpp +++ clang/lib/Frontend/CompilerInvocation.cpp @@ -3091,7 +3091,7 @@ LangStd = LangStandard::lang_opencl12; break; case Language::OpenCLCXX: - LangStd = LangStandard::lang_openclcpp; + LangStd = LangStandard::lang_openclcpp10; break; case Language::CUDA: LangStd = LangStandard::lang_cuda; @@ -3164,7 +3164,7 @@ Opts.OpenCLVersion = 200; else if (LangStd == LangStandard::lang_opencl30) Opts.OpenCLVersion = 300; - else if (LangStd == LangStandard::lang_openclcpp) + else if (LangStd == LangStandard::lang_openclcpp10) Opts.OpenCLCPlusPlusVersion = 100; // OpenCL has some additional defaults. @@ -3314,7 +3314,7 @@ case LangStandard::lang_opencl12: case LangStandard::lang_opencl20: case LangStandard::lang_opencl30: - case LangStandard::lang_openclcpp: + case LangStandard::lang_openclcpp10: StdOpt = OPT_cl_std_EQ; break; default: @@ -3608,7 +3608,8 @@ .Cases("cl1.2", "CL1.2", LangStandard::lang_opencl12) .Cases("cl2.0", "CL2.0", LangStandard::lang_opencl20) .Cases("cl3.0", "CL3.0", LangStandard::lang_opencl30) -.Cases("clc++", "CLC++", LangStandard::lang_openclcpp) +.Cases("clc++", "CLC++", LangStandard::lang_openclcpp10) +.Cases("clc++1.0", "CLC++1.0", LangStandard::lang_openclcpp10) .Default(LangStandard::lang_unspecified); if (OpenCLLangStd == LangStandard::lang_unspecified) { Index: clang/include/clang/Driver/Options.td === --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -843,7 +843,8 @@ HelpText<"OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.">, MarshallingInfoFlag>; def cl_std_EQ : Joined<["-"], "cl-std=">, Group, Flags<[CC1Option]>, - HelpText<"OpenCL language standard to compile for.">, Values<"cl,CL,cl1.0,CL1.0,cl1.1,CL1.1,cl1.2,CL1.2,cl2.0,CL2.0,cl3.0,CL3.0,clc++,CLC++">; + HelpText<"OpenCL language standard to compile for.">, + Values<"cl,CL,cl1.0,CL1.0,cl1.1,CL1.1,cl1.2,CL1.2,cl2.0,CL2.0,cl3.0,CL3.0,clc++,CLC++,clc++1.0,CLC++1.0">; def cl_denorms_are_zero : Flag<["-"], "cl-denorms-are-zero">, Group, HelpText<"OpenCL only. Allow denormals to be flushed to zero.">; def
[PATCH] D106266: [C++4OpenCL] Add run line standard aliases clc++1.0 and CLC++1.0
Topotuna added a comment. That is good to know. Thank you for sorting it out CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106266/new/ https://reviews.llvm.org/D106266 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D106266: [C++4OpenCL] Add run line standard aliases clc++1.0 and CLC++1.0
teemperor added a comment. Quick note to prevent some confusion: I saw this patch and realized that the LLDB change was only necessary because some Clang code got copy pasted into LLDB. I removed that copy in https://reviews.llvm.org/D106537 so if you see merge conflicts while merging this, you can just drop the LLDB changes as they shouldn't be necessary once my patch landed. Thanks! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106266/new/ https://reviews.llvm.org/D106266 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D106266: [C++4OpenCL] Add run line standard aliases clc++1.0 and CLC++1.0
Anastasia accepted this revision. Anastasia added a comment. This revision is now accepted and ready to land. LGTM! Thanks! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106266/new/ https://reviews.llvm.org/D106266 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D106266: [C++4OpenCL] Add run line standard aliases clc++1.0 and CLC++1.0
Topotuna added inline comments. Comment at: clang/include/clang/Basic/LangStandards.def:187 Digraphs | HexFloat | OpenCL) +LANGSTANDARD_ALIAS_DEPR(openclcpp10, "clc++") Anastasia wrote: > I am not sure we should move it into the deprecated category yet... for now > let's just use `LANGSTANDARD_ALIAS`. You are right. I tried to closely follow how `cl1.0` version is regarded on line 169, but it is a slightly different case because `cl` has more than one version already. Comment at: clang/test/Driver/unknown-std.cl:14 // CHECK-NEXT: note: use 'cl3.0' for 'OpenCL 3.0' standard -// CHECK-NEXT: note: use 'clc++' for 'C++ for OpenCL' standard +// CHECK-NEXT: note: use 'clc++1.0' for 'C++ for OpenCL 1.0' standard Anastasia wrote: > does it not print `clc++` anymore? The error messages here are derived from language definitions in file `Basic/LangStandards.def`, so both files need to be modified accordingly. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106266/new/ https://reviews.llvm.org/D106266 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D106266: [C++4OpenCL] Add run line standard aliases clc++1.0 and CLC++1.0
Topotuna updated this revision to Diff 360059. Topotuna added a comment. `clc++` made no longer deprecated CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106266/new/ https://reviews.llvm.org/D106266 Files: clang/docs/UsersManual.rst clang/include/clang/Basic/LangStandards.def clang/include/clang/Driver/Options.td clang/lib/Frontend/CompilerInvocation.cpp clang/test/Driver/autocomplete.c clang/test/Driver/unknown-std.cl lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp Index: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp === --- lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp +++ lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp @@ -478,7 +478,7 @@ LangStd = LangStandard::lang_opencl10; break; case clang::Language::OpenCLCXX: - LangStd = LangStandard::lang_openclcpp; + LangStd = LangStandard::lang_openclcpp10; break; case clang::Language::CUDA: LangStd = LangStandard::lang_cuda; Index: clang/test/Driver/unknown-std.cl === --- clang/test/Driver/unknown-std.cl +++ clang/test/Driver/unknown-std.cl @@ -11,7 +11,7 @@ // CHECK-NEXT: note: use 'cl1.2' for 'OpenCL 1.2' standard // CHECK-NEXT: note: use 'cl2.0' for 'OpenCL 2.0' standard // CHECK-NEXT: note: use 'cl3.0' for 'OpenCL 3.0' standard -// CHECK-NEXT: note: use 'clc++' for 'C++ for OpenCL' standard +// CHECK-NEXT: note: use 'clc++1.0' or 'clc++' for 'C++ for OpenCL 1.0' standard // Make sure that no other output is present. // CHECK-NOT: {{^.+$}} Index: clang/test/Driver/autocomplete.c === --- clang/test/Driver/autocomplete.c +++ clang/test/Driver/autocomplete.c @@ -49,6 +49,8 @@ // CLSTDALL-NEXT: CL3.0 // CLSTDALL-NEXT: clc++ // CLSTDALL-NEXT: CLC++ +// CLSTDALL-NEXT: clc++1.0 +// CLSTDALL-NEXT: CLC++1.0 // RUN: %clang --autocomplete=-fno-sanitize-coverage=,f | FileCheck %s -check-prefix=FNOSANICOVER // FNOSANICOVER: func // RUN: %clang --autocomplete=-fno-sanitize-coverage= | FileCheck %s -check-prefix=FNOSANICOVERALL Index: clang/lib/Frontend/CompilerInvocation.cpp === --- clang/lib/Frontend/CompilerInvocation.cpp +++ clang/lib/Frontend/CompilerInvocation.cpp @@ -3088,7 +3088,7 @@ LangStd = LangStandard::lang_opencl10; break; case Language::OpenCLCXX: - LangStd = LangStandard::lang_openclcpp; + LangStd = LangStandard::lang_openclcpp10; break; case Language::CUDA: LangStd = LangStandard::lang_cuda; @@ -3161,7 +3161,7 @@ Opts.OpenCLVersion = 200; else if (LangStd == LangStandard::lang_opencl30) Opts.OpenCLVersion = 300; - else if (LangStd == LangStandard::lang_openclcpp) + else if (LangStd == LangStandard::lang_openclcpp10) Opts.OpenCLCPlusPlusVersion = 100; // OpenCL has some additional defaults. @@ -3311,7 +3311,7 @@ case LangStandard::lang_opencl12: case LangStandard::lang_opencl20: case LangStandard::lang_opencl30: - case LangStandard::lang_openclcpp: + case LangStandard::lang_openclcpp10: StdOpt = OPT_cl_std_EQ; break; default: @@ -3605,7 +3605,8 @@ .Cases("cl1.2", "CL1.2", LangStandard::lang_opencl12) .Cases("cl2.0", "CL2.0", LangStandard::lang_opencl20) .Cases("cl3.0", "CL3.0", LangStandard::lang_opencl30) -.Cases("clc++", "CLC++", LangStandard::lang_openclcpp) +.Cases("clc++", "CLC++", LangStandard::lang_openclcpp10) +.Cases("clc++1.0", "CLC++1.0", LangStandard::lang_openclcpp10) .Default(LangStandard::lang_unspecified); if (OpenCLLangStd == LangStandard::lang_unspecified) { Index: clang/include/clang/Driver/Options.td === --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -843,7 +843,7 @@ HelpText<"OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.">, MarshallingInfoFlag>; def cl_std_EQ : Joined<["-"], "cl-std=">, Group, Flags<[CC1Option]>, - HelpText<"OpenCL language standard to compile for.">, Values<"cl,CL,cl1.0,CL1.0,cl1.1,CL1.1,cl1.2,CL1.2,cl2.0,CL2.0,cl3.0,CL3.0,clc++,CLC++">; + HelpText<"OpenCL language standard to compile for.">, Values<"cl,CL,cl1.0,CL1.0,cl1.1,CL1.1,cl1.2,CL1.2,cl2.0,CL2.0,cl3.0,CL3.0,clc++,CLC++,clc++1.0,CLC++1.0">; def cl_denorms_are_zero : Flag<["-"], "cl-denorms-are-zero">, Group, HelpText<"OpenCL only. Allow denormals to be flushed to zero.">; def cl_fp32_correctly_rounded_divide_sqrt : Flag<["-"], "cl-fp32-correctly-rounded-divide-sqrt">, Group, Flags<[CC1Option]>, Index: clang/include/clang/Basic/LangStandards.def === --- clang/include/clang/Basic/LangStandards.def
[PATCH] D106266: [C++4OpenCL] Add run line standard aliases clc++1.0 and CLC++1.0
Anastasia added inline comments. Comment at: clang/include/clang/Basic/LangStandards.def:187 Digraphs | HexFloat | OpenCL) +LANGSTANDARD_ALIAS_DEPR(openclcpp10, "clc++") I am not sure we should move it into the deprecated category yet... for now let's just use `LANGSTANDARD_ALIAS`. Comment at: clang/test/Driver/unknown-std.cl:14 // CHECK-NEXT: note: use 'cl3.0' for 'OpenCL 3.0' standard -// CHECK-NEXT: note: use 'clc++' for 'C++ for OpenCL' standard +// CHECK-NEXT: note: use 'clc++1.0' for 'C++ for OpenCL 1.0' standard does it not print `clc++` anymore? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106266/new/ https://reviews.llvm.org/D106266 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D106266: [C++4OpenCL] Add run line standard aliases clc++1.0 and CLC++1.0
Topotuna created this revision. Topotuna added a reviewer: Anastasia. Herald added subscribers: jeroen.dobbelaere, ldrumm, dexonsmith, dang, yaxunl. Topotuna requested review of this revision. Herald added projects: clang, LLDB. Herald added subscribers: lldb-commits, cfe-commits. The commit renames language standard from openclcpp to openclcpp10. It also enables run line arguments -cl-std=clc++1.0 and -cl-std=CLC++1.0. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D106266 Files: clang/docs/UsersManual.rst clang/include/clang/Basic/LangStandards.def clang/include/clang/Driver/Options.td clang/lib/Frontend/CompilerInvocation.cpp clang/test/Driver/autocomplete.c clang/test/Driver/unknown-std.cl lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp Index: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp === --- lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp +++ lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp @@ -478,7 +478,7 @@ LangStd = LangStandard::lang_opencl10; break; case clang::Language::OpenCLCXX: - LangStd = LangStandard::lang_openclcpp; + LangStd = LangStandard::lang_openclcpp10; break; case clang::Language::CUDA: LangStd = LangStandard::lang_cuda; Index: clang/test/Driver/unknown-std.cl === --- clang/test/Driver/unknown-std.cl +++ clang/test/Driver/unknown-std.cl @@ -11,7 +11,7 @@ // CHECK-NEXT: note: use 'cl1.2' for 'OpenCL 1.2' standard // CHECK-NEXT: note: use 'cl2.0' for 'OpenCL 2.0' standard // CHECK-NEXT: note: use 'cl3.0' for 'OpenCL 3.0' standard -// CHECK-NEXT: note: use 'clc++' for 'C++ for OpenCL' standard +// CHECK-NEXT: note: use 'clc++1.0' for 'C++ for OpenCL 1.0' standard // Make sure that no other output is present. // CHECK-NOT: {{^.+$}} Index: clang/test/Driver/autocomplete.c === --- clang/test/Driver/autocomplete.c +++ clang/test/Driver/autocomplete.c @@ -49,6 +49,8 @@ // CLSTDALL-NEXT: CL3.0 // CLSTDALL-NEXT: clc++ // CLSTDALL-NEXT: CLC++ +// CLSTDALL-NEXT: clc++1.0 +// CLSTDALL-NEXT: CLC++1.0 // RUN: %clang --autocomplete=-fno-sanitize-coverage=,f | FileCheck %s -check-prefix=FNOSANICOVER // FNOSANICOVER: func // RUN: %clang --autocomplete=-fno-sanitize-coverage= | FileCheck %s -check-prefix=FNOSANICOVERALL Index: clang/lib/Frontend/CompilerInvocation.cpp === --- clang/lib/Frontend/CompilerInvocation.cpp +++ clang/lib/Frontend/CompilerInvocation.cpp @@ -3088,7 +3088,7 @@ LangStd = LangStandard::lang_opencl10; break; case Language::OpenCLCXX: - LangStd = LangStandard::lang_openclcpp; + LangStd = LangStandard::lang_openclcpp10; break; case Language::CUDA: LangStd = LangStandard::lang_cuda; @@ -3161,7 +3161,7 @@ Opts.OpenCLVersion = 200; else if (LangStd == LangStandard::lang_opencl30) Opts.OpenCLVersion = 300; - else if (LangStd == LangStandard::lang_openclcpp) + else if (LangStd == LangStandard::lang_openclcpp10) Opts.OpenCLCPlusPlusVersion = 100; // OpenCL has some additional defaults. @@ -3311,7 +3311,7 @@ case LangStandard::lang_opencl12: case LangStandard::lang_opencl20: case LangStandard::lang_opencl30: - case LangStandard::lang_openclcpp: + case LangStandard::lang_openclcpp10: StdOpt = OPT_cl_std_EQ; break; default: @@ -3605,7 +3605,8 @@ .Cases("cl1.2", "CL1.2", LangStandard::lang_opencl12) .Cases("cl2.0", "CL2.0", LangStandard::lang_opencl20) .Cases("cl3.0", "CL3.0", LangStandard::lang_opencl30) -.Cases("clc++", "CLC++", LangStandard::lang_openclcpp) +.Cases("clc++", "CLC++", LangStandard::lang_openclcpp10) +.Cases("clc++1.0", "CLC++1.0", LangStandard::lang_openclcpp10) .Default(LangStandard::lang_unspecified); if (OpenCLLangStd == LangStandard::lang_unspecified) { Index: clang/include/clang/Driver/Options.td === --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -843,7 +843,7 @@ HelpText<"OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.">, MarshallingInfoFlag>; def cl_std_EQ : Joined<["-"], "cl-std=">, Group, Flags<[CC1Option]>, - HelpText<"OpenCL language standard to compile for.">, Values<"cl,CL,cl1.0,CL1.0,cl1.1,CL1.1,cl1.2,CL1.2,cl2.0,CL2.0,cl3.0,CL3.0,clc++,CLC++">; + HelpText<"OpenCL language standard to compile for.">, Values<"cl,CL,cl1.0,CL1.0,cl1.1,CL1.1,cl1.2,CL1.2,cl2.0,CL2.0,cl3.0,CL3.0,clc++,CLC++,clc++1.0,CLC++1.0">; def cl_denorms_are_zero : Flag<["-"], "cl-denorms-are-zero">, Group, HelpText<"OpenCL only. Allow denormals to be flushed to zero.">; def