https://github.com/clementval created https://github.com/llvm/llvm-project/pull/104613
Flang is switch to cc1 when we use `-x cuda`. Make sure we can use fc1 with cuda fortran input. The current pipeline will fail at MLIR level for the moment. >From 36e18ae7bfa6fd2647da0b78bf2c332969b1091d Mon Sep 17 00:00:00 2001 From: Valentin Clement <clement...@gmail.com> Date: Fri, 16 Aug 2024 09:23:29 -0700 Subject: [PATCH] [flang][cuda][driver] Make sure flang does not switch to cc1 --- clang/lib/Driver/Types.cpp | 3 +++ flang/test/Driver/cuda-option.f90 | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/Types.cpp b/clang/lib/Driver/Types.cpp index 2b9b391c19c9fd..3de45b00b4d00f 100644 --- a/clang/lib/Driver/Types.cpp +++ b/clang/lib/Driver/Types.cpp @@ -170,6 +170,9 @@ bool types::isAcceptedByFlang(ID Id) { case TY_LLVM_IR: case TY_LLVM_BC: return true; + case TY_PP_CUDA: + case TY_CUDA: + return true; } } diff --git a/flang/test/Driver/cuda-option.f90 b/flang/test/Driver/cuda-option.f90 index 562f8683b0ff7d..df45081711d8b0 100644 --- a/flang/test/Driver/cuda-option.f90 +++ b/flang/test/Driver/cuda-option.f90 @@ -1,5 +1,6 @@ ! Test -fcuda option ! RUN: %flang_fc1 -cpp -x cuda -fdebug-unparse %s -o - | FileCheck %s +! RUN: not %flang -cpp -x cuda %s -o - 2>&1 | FileCheck %s --check-prefix=MLIRERROR ! RUN: not %flang_fc1 -cpp %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR program main #if _CUDA @@ -12,4 +13,8 @@ program main ! CHECK: INTEGER :: var = 1 ! CHECK: INTEGER, DEVICE :: dvar -! ERROR: cuda-option.f90:8:19: error: expected end of statement +! ERROR: cuda-option.f90:{{.*}}:{{.*}}: error: expected end of statement + +! The whole pipeline is not in place yet. It will currently fails at MLIR +! translation level. +! MLIRERROR: failed to legalize operation 'cuf.alloc' _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits