Skip to content

[Sema] Remove unnecessary casts (NFC) #148871

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

kazutakahirata
Copy link
Contributor

getArgAsExpr already returns Expr *.

getArgAsExpr already returns Expr *.
@llvmbot llvmbot added clang Clang issues not falling into any other category clang:frontend Language frontend issues, e.g. anything involving "Sema" labels Jul 15, 2025
@llvmbot
Copy link
Member

llvmbot commented Jul 15, 2025

@llvm/pr-subscribers-clang

Author: Kazu Hirata (kazutakahirata)

Changes

getArgAsExpr already returns Expr *.


Full diff: https://github.com/llvm/llvm-project/pull/148871.diff

4 Files Affected:

  • (modified) clang/lib/Sema/SemaDeclAttr.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaM68k.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaMSP430.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaType.cpp (+1-1)
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp
index 5f481ed1f7139..78f4804202ddc 100644
--- a/clang/lib/Sema/SemaDeclAttr.cpp
+++ b/clang/lib/Sema/SemaDeclAttr.cpp
@@ -6247,7 +6247,7 @@ static void handleInterruptAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
 
 static void handleLayoutVersion(Sema &S, Decl *D, const ParsedAttr &AL) {
   uint32_t Version;
-  Expr *VersionExpr = static_cast<Expr *>(AL.getArgAsExpr(0));
+  Expr *VersionExpr = AL.getArgAsExpr(0);
   if (!S.checkUInt32Argument(AL, AL.getArgAsExpr(0), Version))
     return;
 
diff --git a/clang/lib/Sema/SemaM68k.cpp b/clang/lib/Sema/SemaM68k.cpp
index f091827092f83..7a4fcbdb99a99 100644
--- a/clang/lib/Sema/SemaM68k.cpp
+++ b/clang/lib/Sema/SemaM68k.cpp
@@ -32,7 +32,7 @@ void SemaM68k::handleInterruptAttr(Decl *D, const ParsedAttr &AL) {
 
   // FIXME: Check for decl - it should be void ()(void).
 
-  Expr *NumParamsExpr = static_cast<Expr *>(AL.getArgAsExpr(0));
+  Expr *NumParamsExpr = AL.getArgAsExpr(0);
   auto MaybeNumParams = NumParamsExpr->getIntegerConstantExpr(getASTContext());
   if (!MaybeNumParams) {
     Diag(AL.getLoc(), diag::err_attribute_argument_type)
diff --git a/clang/lib/Sema/SemaMSP430.cpp b/clang/lib/Sema/SemaMSP430.cpp
index 5bf931e388f03..3c611f7a27e23 100644
--- a/clang/lib/Sema/SemaMSP430.cpp
+++ b/clang/lib/Sema/SemaMSP430.cpp
@@ -53,7 +53,7 @@ void SemaMSP430::handleInterruptAttr(Decl *D, const ParsedAttr &AL) {
     return;
   }
 
-  Expr *NumParamsExpr = static_cast<Expr *>(AL.getArgAsExpr(0));
+  Expr *NumParamsExpr = AL.getArgAsExpr(0);
   std::optional<llvm::APSInt> NumParams = llvm::APSInt(32);
   if (!(NumParams = NumParamsExpr->getIntegerConstantExpr(getASTContext()))) {
     Diag(AL.getLoc(), diag::err_attribute_argument_type)
diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp
index bb114aff2366b..7dbd4bb0ed125 100644
--- a/clang/lib/Sema/SemaType.cpp
+++ b/clang/lib/Sema/SemaType.cpp
@@ -6533,7 +6533,7 @@ static void HandleAddressSpaceTypeAttribute(QualType &Type,
       return;
     }
 
-    Expr *ASArgExpr = static_cast<Expr *>(Attr.getArgAsExpr(0));
+    Expr *ASArgExpr = Attr.getArgAsExpr(0);
     LangAS ASIdx;
     if (!BuildAddressSpaceIndex(S, ASIdx, ASArgExpr, Attr.getLoc())) {
       Attr.setInvalid();

@kazutakahirata kazutakahirata merged commit 91ee01f into llvm:main Jul 15, 2025
12 checks passed
@kazutakahirata kazutakahirata deleted the cleanup_20250715_cast_clang_Sema branch July 15, 2025 23:52
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jul 16, 2025

LLVM Buildbot has detected a new failure on builder clang-aarch64-sve-vls running on linaro-g3-04 while building clang at step 14 "test-suite".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/143/builds/9310

Here is the relevant piece of the build log for the reference
Step 14 (test-suite) failure: test (failure)
...
    Building Fortran object CMakeFiles/cmTC_d23c6.dir/testFortranCompiler.f.o
    /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1.install/bin/flang   -mcpu=neoverse-512tvb -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -O3  -c /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/sandbox/build/CMakeFiles/CMakeScratch/TryCompile-XfuHXJ/testFortranCompiler.f -o CMakeFiles/cmTC_d23c6.dir/testFortranCompiler.f.o
    Linking Fortran executable cmTC_d23c6
    /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d23c6.dir/link.txt --verbose=1
    /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1.install/bin/flang -mcpu=neoverse-512tvb -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -O3  CMakeFiles/cmTC_d23c6.dir/testFortranCompiler.f.o -o cmTC_d23c6 
    flang-21: warning: argument unused during compilation: '-mllvm -treat-scalable-fixed-error-as-warning=false' [-Wunused-command-line-argument]
    /usr/bin/ld: cannot find -lflang_rt.runtime: No such file or directory
    flang-21: error: linker command failed with exit code 1 (use -v to see invocation)
    gmake[1]: *** [CMakeFiles/cmTC_d23c6.dir/build.make:99: cmTC_d23c6] Error 1
    gmake[1]: Leaving directory '/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/sandbox/build/CMakeFiles/CMakeScratch/TryCompile-XfuHXJ'
    gmake: *** [Makefile:127: cmTC_d23c6/fast] Error 2
    
    

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:16 (enable_language)


-- Configuring incomplete, errors occurred!
Traceback (most recent call last):
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/sandbox/bin/lnt", line 33, in <module>
    sys.exit(load_entry_point('LNT', 'console_scripts', 'lnt')())
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/sandbox/lib/python3.10/site-packages/click-6.7-py3.10.egg/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/sandbox/lib/python3.10/site-packages/click-6.7-py3.10.egg/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/sandbox/lib/python3.10/site-packages/click-6.7-py3.10.egg/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/sandbox/lib/python3.10/site-packages/click-6.7-py3.10.egg/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/sandbox/lib/python3.10/site-packages/click-6.7-py3.10.egg/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/sandbox/lib/python3.10/site-packages/click-6.7-py3.10.egg/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/lnt/lnt/tests/test_suite.py", line 1189, in cli_action
    results = test_suite.run_test(test_suite.opts)
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/lnt/lnt/tests/test_suite.py", line 291, in run_test
    self._configure_if_needed()
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/lnt/lnt/tests/test_suite.py", line 367, in _configure_if_needed
    self._configure(self._base_path)
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/lnt/lnt/tests/test_suite.py", line 556, in _configure
    self._check_call(cmake_cmd, cwd=path)
  File "/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/lnt/lnt/tests/test_suite.py", line 417, in _check_call
    return subprocess.check_call(*args, **kwargs)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/local/bin/cmake', '-DCMAKE_C_COMPILER:FILEPATH=/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1.install/bin/clang', '-DCMAKE_CXX_COMPILER:FILEPATH=/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1.install/bin/clang++', '/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/test/test-suite', '-DCMAKE_C_FLAGS=-mcpu=neoverse-512tvb -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -O3', '-DCMAKE_C_FLAGS_DEBUG=', '-DCMAKE_C_FLAGS_MINSIZEREL=', '-DCMAKE_C_FLAGS_RELEASE=', '-DCMAKE_C_FLAGS_RELWITHDEBINFO=', '-DCMAKE_CXX_FLAGS=-mcpu=neoverse-512tvb -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -O3', '-DCMAKE_CXX_FLAGS_DEBUG=', '-DCMAKE_CXX_FLAGS_MINSIZEREL=', '-DCMAKE_CXX_FLAGS_RELEASE=', '-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=', '-DTEST_SUITE_FORTRAN:STRING=ON', '-DCMAKE_Fortran_COMPILER=/home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1.install/bin/flang', '-DCMAKE_Fortran_FLAGS=-mcpu=neoverse-512tvb -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -O3']' returned non-zero exit status 1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang:frontend Language frontend issues, e.g. anything involving "Sema" clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants