[Lldb-commits] [lldb] 8ef0448 - Reland "[CUDA][HIP] Use the same default language std as C++""

2023-07-20 Thread Yaxun Liu via lldb-commits

Author: Yaxun (Sam) Liu
Date: 2023-07-20T12:02:33-04:00
New Revision: 8ef04488d128853715a55683f0181d6398d23c61

URL: 
https://github.com/llvm/llvm-project/commit/8ef04488d128853715a55683f0181d6398d23c61
DIFF: 
https://github.com/llvm/llvm-project/commit/8ef04488d128853715a55683f0181d6398d23c61.diff

LOG: Reland "[CUDA][HIP] Use the same default language std as C++""

Reland after fixing regression in lldb.

Differential Revision: https://reviews.llvm.org/D155539

Added: 


Modified: 
clang/docs/ReleaseNotes.rst
clang/include/clang/Basic/LangStandards.def
clang/lib/Basic/LangStandards.cpp
clang/test/CodeGenCUDA/long-double.cu
clang/test/Driver/unknown-std.cpp
clang/test/Preprocessor/lang-std.cpp
lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

Removed: 




diff  --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 2287ff9d70da3f..ef1cc898c21f6d 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -886,6 +886,9 @@ RISC-V Support
 
 CUDA/HIP Language Changes
 ^
+- Clang has been updated to align its default language standard for CUDA/HIP 
with
+  that of C++. The standard has now been enhanced to gnu++17, supplanting the
+  previously used c++14.
 
 CUDA Support
 

diff  --git a/clang/include/clang/Basic/LangStandards.def 
b/clang/include/clang/Basic/LangStandards.def
index 911b626e4c9661..5c28bdd28ef257 100644
--- a/clang/include/clang/Basic/LangStandards.def
+++ b/clang/include/clang/Basic/LangStandards.def
@@ -214,14 +214,6 @@ LANGSTANDARD_ALIAS_DEPR(openclcpp10, "CLC++")
 LANGSTANDARD_ALIAS_DEPR(openclcpp10, "CLC++1.0")
 LANGSTANDARD_ALIAS_DEPR(openclcpp2021, "CLC++2021")
 
-// CUDA
-LANGSTANDARD(cuda, "cuda", CUDA, "NVIDIA CUDA(tm)",
- LineComment | CPlusPlus | CPlusPlus11 | CPlusPlus14 | Digraphs)
-
-// HIP
-LANGSTANDARD(hip, "hip", HIP, "HIP",
- LineComment | CPlusPlus | CPlusPlus11 | CPlusPlus14 | Digraphs)
-
 // HLSL
 LANGSTANDARD(hlsl, "hlsl",
  HLSL, "High Level Shader Language",

diff  --git a/clang/lib/Basic/LangStandards.cpp 
b/clang/lib/Basic/LangStandards.cpp
index c6a1a0acc2cb7e..033c0efe8d4f5d 100644
--- a/clang/lib/Basic/LangStandards.cpp
+++ b/clang/lib/Basic/LangStandards.cpp
@@ -54,8 +54,6 @@ LangStandard::Kind 
clang::getDefaultLanguageStandard(clang::Language Lang,
 return LangStandard::lang_opencl12;
   case Language::OpenCLCXX:
 return LangStandard::lang_openclcpp10;
-  case Language::CUDA:
-return LangStandard::lang_cuda;
   case Language::Asm:
   case Language::C:
 // The PS4 uses C99 as the default C standard.
@@ -66,13 +64,13 @@ LangStandard::Kind 
clang::getDefaultLanguageStandard(clang::Language Lang,
 return LangStandard::lang_gnu11;
   case Language::CXX:
   case Language::ObjCXX:
+  case Language::CUDA:
+  case Language::HIP:
 if (T.isPS())
   return LangStandard::lang_gnucxx14;
 return LangStandard::lang_gnucxx17;
   case Language::RenderScript:
 return LangStandard::lang_c99;
-  case Language::HIP:
-return LangStandard::lang_hip;
   case Language::HLSL:
 return LangStandard::lang_hlsl2021;
   }

diff  --git a/clang/test/CodeGenCUDA/long-double.cu 
b/clang/test/CodeGenCUDA/long-double.cu
index 454a93ce5f6b6a..d52de972ea3da4 100644
--- a/clang/test/CodeGenCUDA/long-double.cu
+++ b/clang/test/CodeGenCUDA/long-double.cu
@@ -6,7 +6,7 @@
 // RUN:   -aux-triple x86_64-unknown-gnu-linux -fcuda-is-device \
 // RUN:   -emit-llvm -o - %s 2>&1 | FileCheck %s
 
-// CHECK: @_ZN15infinity_helperIeE5valueE = {{.*}} double 0x47EFD586B834, 
align 8
+// CHECK: @_ZN15infinity_helperIeE5valueE = {{.*}} double 
0x47EFD586B834,{{.*}} align 8
 // CHECK: @size = {{.*}} i32 8
 
 #include "Inputs/cuda.h"

diff  --git a/clang/test/Driver/unknown-std.cpp 
b/clang/test/Driver/unknown-std.cpp
index e918c087095ef0..5c58042a0a2c71 100644
--- a/clang/test/Driver/unknown-std.cpp
+++ b/clang/test/Driver/unknown-std.cpp
@@ -4,7 +4,10 @@
 
 // RUN: not %clang %s -std=foobar -c 2>&1 | FileCheck --match-full-lines %s
 // RUN: not %clang -x objective-c++ %s -std=foobar -c 2>&1 | FileCheck 
--match-full-lines %s
-// RUN: not %clang -x cuda -nocudainc -nocudalib 
--cuda-path=%S/Inputs/CUDA/usr/local/cuda %s -std=foobar -c 2>&1 | FileCheck 
--match-full-lines --check-prefix=CHECK --check-prefix=CUDA %s
+// RUN: not %clang -x cuda -nocudainc -nocudalib 
--cuda-path=%S/Inputs/CUDA/usr/local/cuda \
+// RUN:   %s -std=foobar -c 2>&1 | FileCheck --match-full-lines %s
+// RUN: not %clang -x hip -nocudainc -nocudalib %s -std=foobar -c 2>&1 \
+// RUN:   | FileCheck --match-full-lines %s
 
 // CHECK: error: invalid value 'foobar' in '-std=foobar'
 // CHECK-NEXT: note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' 
standard
@@ -21,7 +24,6 @@
 // CHECK-NEXT: note: use 'gnu++23' for 'ISO C++ 2023 DIS with GNU extensions' 

[Lldb-commits] [lldb] fe73d36 - Fix lldb build failure due to clang mangler change

2020-03-07 Thread Yaxun Liu via lldb-commits

Author: Yaxun (Sam) Liu
Date: 2020-03-08T00:38:30-05:00
New Revision: fe73d36f2326060ad4e8059cf9e18619084df5b3

URL: 
https://github.com/llvm/llvm-project/commit/fe73d36f2326060ad4e8059cf9e18619084df5b3
DIFF: 
https://github.com/llvm/llvm-project/commit/fe73d36f2326060ad4e8059cf9e18619084df5b3.diff

LOG: Fix lldb build failure due to clang mangler change

Added: 


Modified: 
lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

Removed: 




diff  --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp 
b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
index 3b8c058c903a..47f1a852289a 100644
--- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
@@ -8843,11 +8843,15 @@ ConstString TypeSystemClang::DeclGetMangledName(void 
*opaque_decl) {
 llvm::SmallVector buf;
 llvm::raw_svector_ostream llvm_ostrm(buf);
 if (llvm::isa(nd)) {
-  mc->mangleCXXCtor(llvm::dyn_cast(nd),
-Ctor_Complete, llvm_ostrm);
+  mc->mangleName(
+  clang::GlobalDecl(llvm::dyn_cast(nd),
+Ctor_Complete),
+  llvm_ostrm);
 } else if (llvm::isa(nd)) {
-  mc->mangleCXXDtor(llvm::dyn_cast(nd),
-Dtor_Complete, llvm_ostrm);
+  mc->mangleName(
+  clang::GlobalDecl(llvm::dyn_cast(nd),
+Dtor_Complete),
+  llvm_ostrm);
 } else {
   mc->mangleName(nd, llvm_ostrm);
 }



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits