https://github.com/pogo59 created https://github.com/llvm/llvm-project/pull/101257
-falign-functions with no argument is supposed to be equivalent to -falign-functions=16, according to the documentation. Make it so. >From a95ab9bfb7be8da6c4ebe0d207beff5a0a72bb9d Mon Sep 17 00:00:00 2001 From: Paul Robinson <paul.robin...@sony.com> Date: Tue, 30 Jul 2024 15:17:14 -0700 Subject: [PATCH] [Driver] Pass correct alignment for -falign-functions with no argument -falign-functions with no argument is supposed to be equivalent to -falign-functions=16, according to the documentation. Make it so. --- clang/lib/Driver/ToolChains/CommonArgs.cpp | 2 +- clang/test/Driver/function-alignment.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 1e37d9d348818..bc74f9afcf868 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -1982,7 +1982,7 @@ unsigned tools::ParseFunctionAlignment(const ToolChain &TC, return 0; if (A->getOption().matches(options::OPT_falign_functions)) - return 0; + return 4; // log2(16) unsigned Value = 0; if (StringRef(A->getValue()).getAsInteger(10, Value) || Value > 65536) diff --git a/clang/test/Driver/function-alignment.c b/clang/test/Driver/function-alignment.c index ed4cc80f7ed4f..b0eb7cfdad8cc 100644 --- a/clang/test/Driver/function-alignment.c +++ b/clang/test/Driver/function-alignment.c @@ -1,5 +1,5 @@ // RUN: %clang -### %s 2>&1 | FileCheck %s -check-prefix CHECK-0 -// RUN: %clang -### -falign-functions %s 2>&1 | FileCheck %s -check-prefix CHECK-1 +// RUN: %clang -### -falign-functions %s 2>&1 | FileCheck %s -check-prefix CHECK-16 // RUN: %clang -### -falign-functions=1 %s 2>&1 | FileCheck %s -check-prefix CHECK-1 // RUN: %clang -### -falign-functions=2 %s 2>&1 | FileCheck %s -check-prefix CHECK-2 // RUN: %clang -### -falign-functions=3 %s 2>&1 | FileCheck %s -check-prefix CHECK-3 @@ -8,6 +8,7 @@ // RUN: not %clang -### -falign-functions=a %s 2>&1 | FileCheck %s -check-prefix CHECK-ERR-A // CHECK-0-NOT: "-function-alignment" +// CHECK-16: "-function-alignment" "4" // CHECK-1-NOT: "-function-alignment" // CHECK-2: "-function-alignment" "1" // CHECK-3: "-function-alignment" "2" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits