Skip to content

Commit 72f553a

Browse files
committed
Add generated argument for all dimensions of VLAs
1 parent a45e083 commit 72f553a

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

clang/tools/sotoc/src/TargetCode.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,14 @@ void TargetCode::generateFunctionPrologue(TargetCodeRegion *TCR,
116116
DEBUGP("Generating code for array type");
117117
int dim = 0;
118118

119-
handleArrays(&t, DimString, dim, TCR, elemType);
119+
auto *type_for_dim = t;
120+
handleArrays(&type_for_dim, DimString, dim, TCR, elemType);
121+
122+
if (llvm::dyn_cast<clang::VariableArrayType>(t)) {
123+
for (int d = 0; d < dim; ++d) {
124+
Out << "unsgined long long __sotoc_vla_dim" << d << "_" << (*i)->getDeclName().getAsString() << ", ";
125+
}
126+
}
120127

121128
// set type to void* to avoid warnings from the compiler
122129
Out << "void *__sotoc_var_";

clang/tools/sotoc/test/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ if(NOT SOTOC_LLVM_LIT_EXECUTABLE)
3333
endif()
3434

3535

36-
set(SOTOC_LIT_ARGS -v --no-progress-bar)
36+
set(SOTOC_LIT_ARGS "-v;--no-progress-bar;-j 4")
3737

3838
set(SOTOC_FILECHECK_EXE ${LLVM_FILECHECK_EXE})
3939

0 commit comments

Comments
 (0)