• Linus Torvalds's avatar
    Merge tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojeda/linux · e468f5c0
    Linus Torvalds authored
    Pull compiler attribute updates from Miguel Ojeda:
     "This is an effort to disentangle the include/linux/compiler*.h headers
      and bring them up to date.
    
      The main idea behind the series is to use feature checking macros
      (i.e. __has_attribute) instead of compiler version checks (e.g.
      GCC_VERSION), which are compiler-agnostic (so they can be shared,
      reducing the size of compiler-specific headers) and version-agnostic.
    
      Other related improvements have been performed in the headers as well,
      which on top of the use of __has_attribute it has amounted to a
      significant simplification of these headers (e.g. GCC_VERSION is now
      only guarding a few non-attribute macros).
    
      This series should also help the efforts to support compiling the
      kernel with clang and icc. A fair amount of documentation and comments
      have also been added, clarified or removed; and the headers are now
      more readable, which should help kernel developers in general.
    
      The series was triggered due to the move to gcc >= 4.6. In turn, this
      series has also triggered Sparse to gain the ability to recognize
      __has_attribute on its own.
    
      Finally, the __nonstring variable attribute series has been also
      applied on top; plus two related patches from Nick Desaulniers for
      unreachable() that came a bit afterwards"
    
    * tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojeda/linux:
      compiler-gcc: remove comment about gcc 4.5 from unreachable()
      compiler.h: update definition of unreachable()
      Compiler Attributes: ext4: remove local __nonstring definition
      Compiler Attributes: auxdisplay: panel: use __nonstring
      Compiler Attributes: enable -Wstringop-truncation on W=1 (gcc >= 8)
      Compiler Attributes: add support for __nonstring (gcc >= 8)
      Compiler Attributes: add MAINTAINERS entry
      Compiler Attributes: add Doc/process/programming-language.rst
      Compiler Attributes: remove uses of __attribute__ from compiler.h
      Compiler Attributes: KENTRY used twice the "used" attribute
      Compiler Attributes: use feature checks instead of version checks
      Compiler Attributes: add missing SPDX ID in compiler_types.h
      Compiler Attributes: remove unneeded sparse (__CHECKER__) tests
      Compiler Attributes: homogenize __must_be_array
      Compiler Attributes: remove unneeded tests
      Compiler Attributes: always use the extra-underscores syntax
      Compiler Attributes: remove unused attributes
    e468f5c0
Name
Last commit
Last update
..
1.Intro.rst Loading commit data...
2.Process.rst Loading commit data...
3.Early-stage.rst Loading commit data...
4.Coding.rst Loading commit data...
5.Posting.rst Loading commit data...
6.Followthrough.rst Loading commit data...
7.AdvancedTopics.rst Loading commit data...
8.Conclusion.rst Loading commit data...
adding-syscalls.rst Loading commit data...
applying-patches.rst Loading commit data...
changes.rst Loading commit data...
clang-format.rst Loading commit data...
code-of-conduct-interpretation.rst Loading commit data...
code-of-conduct.rst Loading commit data...
coding-style.rst Loading commit data...
conf.py Loading commit data...
deprecated.rst Loading commit data...
development-process.rst Loading commit data...
email-clients.rst Loading commit data...
howto.rst Loading commit data...
index.rst Loading commit data...
kernel-docs.rst Loading commit data...
kernel-driver-statement.rst Loading commit data...
kernel-enforcement-statement.rst Loading commit data...
license-rules.rst Loading commit data...
magic-number.rst Loading commit data...
maintainer-pgp-guide.rst Loading commit data...
management-style.rst Loading commit data...
programming-language.rst Loading commit data...
stable-api-nonsense.rst Loading commit data...
stable-kernel-rules.rst Loading commit data...
submit-checklist.rst Loading commit data...
submitting-drivers.rst Loading commit data...
submitting-patches.rst Loading commit data...
volatile-considered-harmful.rst Loading commit data...