Skip to content

Commit

Permalink
Units(Make): add a case for testing CppDef extra
Browse files Browse the repository at this point in the history
The edge cases were suggested by @tleb in
bootlin/elixir#221

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
  • Loading branch information
masatake committed Jun 25, 2024
1 parent 64d499d commit 2ebb923
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Units/parser-make.r/cpp-marcros.d/args.ctags
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
--sort=no
--fields=+l
--extras-Make=+{CppDef}
36 changes: 36 additions & 0 deletions Units/parser-make.r/cpp-marcros.d/expected.tags
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
REALMODE_CFLAGS input.mak /^REALMODE_CFLAGS := -std=gnu11 -m16 -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \\$/;" m language:Make
DISABLE_BRANCH_PROFILING input.mak /^REALMODE_CFLAGS := -std=gnu11 -m16 -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \\$/;" d language:CPreProcessor
__DISABLE_EXPORTS input.mak /^REALMODE_CFLAGS := -std=gnu11 -m16 -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \\$/;" d language:CPreProcessor
MYDEF input.mak /^ -DMYDEF=1 \\$/;" d language:CPreProcessor
MYDEF0 input.mak /^ -DMYDEF0 \\$/;" d language:CPreProcessor
MYDEF1 input.mak /^ -DMYDEF1=1 \\$/;" d language:CPreProcessor
MYDEF2 input.mak /^ -DMYDEF2(X)=X \\$/;" d language:CPreProcessor
MYDEF3 input.mak /^ -D MYDEF3 \\$/;" d language:CPreProcessor
MYDEF4 input.mak /^ -D MYDEF4=1 \\$/;" d language:CPreProcessor
MYDEF5 input.mak /^ -D MYDEF5(X)=X \\$/;" d language:CPreProcessor
MYDEF6 input.mak /^ -D'MYDEF6' \\$/;" d language:CPreProcessor
MYDEF7 input.mak /^ -D'MYDEF7=1' \\$/;" d language:CPreProcessor
MYDEF8 input.mak /^ -D'MYDEF8(X)=X' \\$/;" d language:CPreProcessor
MYDEF9 input.mak /^ -D 'MYDEF9' \\$/;" d language:CPreProcessor
MYDEFa input.mak /^ -D 'MYDEFa=1' \\$/;" d language:CPreProcessor
MYDEFb input.mak /^ -D 'MYDEFb(X)=X' \\$/;" d language:CPreProcessor
MYDEFc input.mak /^ -D"MYDEFc" \\$/;" d language:CPreProcessor
MYDEFd input.mak /^ -D"MYDEFd=1" \\$/;" d language:CPreProcessor
MYDEFe input.mak /^ -D"MYDEFe(X)=X" \\$/;" d language:CPreProcessor
MYDEFf input.mak /^ -D "MYDEFf" \\$/;" d language:CPreProcessor
MYDEFg input.mak /^ -D "MYDEFg=1" \\$/;" d language:CPreProcessor
MYDEFh input.mak /^ -D "MYDEFh(X)=X" \\$/;" d language:CPreProcessor
KBUILD_CPPFLAGS input.mak /^KBUILD_CPPFLAGS := -D__KERNEL__$/;" m language:Make
__KERNEL__ input.mak /^KBUILD_CPPFLAGS := -D__KERNEL__$/;" d language:CPreProcessor
KBUILD_RUSTFLAGS input.mak /^KBUILD_RUSTFLAGS := $(rust_common_flags) \\$/;" m language:Make
clippy::float_arithmetic input.mak /^ -Dclippy::float_arithmetic$/;" d language:CPreProcessor
KBUILD_AFLAGS_KERNEL input.mak /^KBUILD_AFLAGS_KERNEL :=$/;" m language:Make
KBUILD_CFLAGS_KERNEL input.mak /^KBUILD_CFLAGS_KERNEL :=$/;" m language:Make
KBUILD_RUSTFLAGS_KERNEL input.mak /^KBUILD_RUSTFLAGS_KERNEL :=$/;" m language:Make
KBUILD_AFLAGS_MODULE input.mak /^KBUILD_AFLAGS_MODULE := -DMODULE$/;" m language:Make
MODULE input.mak /^KBUILD_AFLAGS_MODULE := -DMODULE$/;" d language:CPreProcessor
KBUILD_CFLAGS_MODULE input.mak /^KBUILD_CFLAGS_MODULE := -DMODULE$/;" m language:Make
MODULE input.mak /^KBUILD_CFLAGS_MODULE := -DMODULE$/;" d language:CPreProcessor
KBUILD_RUSTFLAGS_MODULE input.mak /^KBUILD_RUSTFLAGS_MODULE := --cfg MODULE$/;" m language:Make
all input.mak /^all:$/;" t language:Make
FOO input.mak /^ $(CC) -DFOO ...$/;" d language:CPreProcessor
46 changes: 46 additions & 0 deletions Units/parser-make.r/cpp-marcros.d/input.mak
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Derrived from linux/Makefile

REALMODE_CFLAGS := -std=gnu11 -m16 -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \
-Wall -Wstrict-prototypes -march=i386 -mregparm=3 \
-fno-strict-aliasing -fomit-frame-pointer -fno-pic \
-DMYDEF=1 \
-DMYDEF0 \
-DMYDEF1=1 \
-DMYDEF2(X)=X \
-D MYDEF3 \
-D MYDEF4=1 \
-D MYDEF5(X)=X \
-D'MYDEF6' \
-D'MYDEF7=1' \
-D'MYDEF8(X)=X' \
-D 'MYDEF9' \
-D 'MYDEFa=1' \
-D 'MYDEFb(X)=X' \
-D"MYDEFc" \
-D"MYDEFd=1" \
-D"MYDEFe(X)=X" \
-D "MYDEFf" \
-D "MYDEFg=1" \
-D "MYDEFh(X)=X" \
-mno-mmx -mno-sse $(call cc-option,-fcf-protection=none)

KBUILD_CPPFLAGS := -D__KERNEL__
KBUILD_RUSTFLAGS := $(rust_common_flags) \
-Cpanic=abort -Cembed-bitcode=n -Clto=n \
-Cforce-unwind-tables=n -Ccodegen-units=1 \
-Csymbol-mangling-version=v0 \
-Crelocation-model=static \
-Zfunction-sections=n \
-Dclippy::float_arithmetic

KBUILD_AFLAGS_KERNEL :=
KBUILD_CFLAGS_KERNEL :=
KBUILD_RUSTFLAGS_KERNEL :=
KBUILD_AFLAGS_MODULE := -DMODULE
KBUILD_CFLAGS_MODULE := -DMODULE
KBUILD_RUSTFLAGS_MODULE := --cfg MODULE

all:
$(CC) -DFOO ...

define

0 comments on commit 2ebb923

Please sign in to comment.