This patch leads to errors "space prohibited before open square
bracket '['" for the asm statement.
In the inline assembler statement the bracket is not used for an index.
Adding a space after a colon or a comma should be allowable.
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
foo.c | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 foo.c
diff --git a/foo.c b/foo.c
new file mode 100644
index 000000000000..7f0ed923f997
--- /dev/null
+++ b/foo.c
@@ -0,0 +1,11 @@
+static inline u32 deref(u32 *addr)
+{
+ int ret;
+
+ asm(
+ "ldr %[out], [%[in]]\n\t"
+ : [out] "=r" (ret)
+ : [in] "r" (addr)
+ );
+ return ret;
+}
--
2.16.3
Allow a space between a colon and subsequent opening bracket.
This sequence may occur in inline assembler statements like
asm(
"ldr %[out], [%[in]]\n\t"
: [out] "=r" (ret)
: [in] "r" (addr)
);
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index d2464002bb40..2cbab86e6d4c 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -4083,7 +4083,7 @@ sub process {
my ($where, $prefix) = ($-[1], $1);
if ($prefix !~ /$Type\s+$/ &&
($where != 0 || $prefix !~ /^.\s+$/) &&
- $prefix !~ /[{,]\s+$/) {
+ $prefix !~ /[{,:]\s+$/) {
if (ERROR("BRACKET_SPACE",
"space prohibited before open square bracket '['\n" . $herecurr) &&
$fix) {
--
2.16.3
On Tue, 2018-04-03 at 21:16 +0200, Heinrich Schuchardt wrote:
> Allow a space between a colon and subsequent opening bracket.
> This sequence may occur in inline assembler statements like
>
> asm(
> "ldr %[out], [%[in]]\n\t"
> : [out] "=r" (ret)
> : [in] "r" (addr)
> );
>
> Signed-off-by: Heinrich Schuchardt <[email protected]>
I can't think of a valid c90 sequence that has a colon
before a bracket so
Acked-by: Joe Perches <[email protected]>
> ---
> scripts/checkpatch.pl | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index d2464002bb40..2cbab86e6d4c 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -4083,7 +4083,7 @@ sub process {
> my ($where, $prefix) = ($-[1], $1);
> if ($prefix !~ /$Type\s+$/ &&
> ($where != 0 || $prefix !~ /^.\s+$/) &&
> - $prefix !~ /[{,]\s+$/) {
> + $prefix !~ /[{,:]\s+$/) {
> if (ERROR("BRACKET_SPACE",
> "space prohibited before open square bracket '['\n" . $herecurr) &&
> $fix) {