Skip to content

Commit a6773e6

Browse files
committed
jfs: Rename _inline to avoid conflict with clang's '-fms-extensions'
Building fs/jfs with clang and '-fms-extensions' errors with: In file included from fs/jfs/jfs_unicode.c:8: fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified 86 | unchar _inline[128]; | ^ fs/jfs/jfs_incore.h:86:20: error: expected member name or ';' after declaration specifiers 86 | unchar _inline[128]; | ~~~~~~~~~~~~~~^ '-fms-extensions' in clang enables several other Microsoft specific keywords such as _inline [1], presumably for compatibility with MSVC, as Microsoft's documentation [2] mentions: For compatibility with previous versions, _inline and _forceinline are synonyms for __inline and __forceinline, respectively Rename the _inline array in 'struct jfs_inode_info' to _inline_sym to avoid this conflict, which is not a large workaround as this member is only ever referred to via the i_inline macro. Link: https://github.com/llvm/llvm-project/blob/249883d0c5883996bed038cd82a8999f342994c9/clang/include/clang/Basic/TokenKinds.def#L744-L79 [1] Link: https://learn.microsoft.com/en-us/cpp/c-language/inline-functions [2] Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com> Link: https://patch.msgid.link/20251023-jfs-fix-conflict-with-clang-ms-ext-v1-1-e219d59a1e68@kernel.org Signed-off-by: Nathan Chancellor <nathan@kernel.org>
1 parent 3a86608 commit a6773e6

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

fs/jfs/jfs_incore.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,14 @@ struct jfs_inode_info {
7676
struct {
7777
unchar _unused[16]; /* 16: */
7878
dxd_t _dxd; /* 16: */
79-
/* _inline may overflow into _inline_ea when needed */
79+
/* _inline_sym may overflow into _inline_ea when needed */
8080
/* _inline_ea may overlay the last part of
8181
* file._xtroot if maxentry = XTROOTINITSLOT
8282
*/
8383
union {
8484
struct {
8585
/* 128: inline symlink */
86-
unchar _inline[128];
86+
unchar _inline_sym[128];
8787
/* 128: inline extended attr */
8888
unchar _inline_ea[128];
8989
};
@@ -101,7 +101,7 @@ struct jfs_inode_info {
101101
#define i_imap u.file._imap
102102
#define i_dirtable u.dir._table
103103
#define i_dtroot u.dir._dtroot
104-
#define i_inline u.link._inline
104+
#define i_inline u.link._inline_sym
105105
#define i_inline_ea u.link._inline_ea
106106
#define i_inline_all u.link._inline_all
107107

0 commit comments

Comments
 (0)