Nick Desaulniers
815f0ddb34
include/linux/compiler*.h: make compiler-*.h mutually exclusive
...
Commit cafa0010cd51 ("Raise the minimum required gcc version to 4.6")
recently exposed a brittle part of the build for supporting non-gcc
compilers.
Both Clang and ICC define __GNUC__, __GNUC_MINOR__, and
__GNUC_PATCHLEVEL__ for quick compatibility with code bases that haven't
added compiler specific checks for __clang__ or __INTEL_COMPILER.
This is brittle, as they happened to get compatibility by posing as a
certain version of GCC. This broke when upgrading the minimal version
of GCC required to build the kernel, to a version above what ICC and
Clang claim to be.
Rather than always including compiler-gcc.h then undefining or
redefining macros in compiler-intel.h or compiler-clang.h, let's
separate out the compiler specific macro definitions into mutually
exclusive headers, do more proper compiler detection, and keep shared
definitions in compiler_types.h.
Fixes: cafa0010cd51 ("Raise the minimum required gcc version to 4.6")
Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Suggested-by: Eli Friedman <efriedma@codeaurora.org>
Suggested-by: Joe Perches <joe@perches.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-08-22 17:31:34 -07:00
..
2014-10-20 16:21:56 +02:00
2017-12-28 20:45:28 +01:00
2017-12-28 20:45:28 +01:00
2017-11-21 15:57:05 -08:00
2018-03-24 10:19:40 +01:00
2018-03-03 17:04:16 +01:00
2018-04-16 10:22:40 +02:00
2018-03-24 10:19:40 +01:00
2018-03-24 10:19:40 +01:00
2018-03-24 10:19:40 +01:00
2016-10-05 18:36:18 -04:00
2017-02-24 14:00:23 -08:00
2018-03-24 10:19:40 +01:00
2018-03-24 10:19:40 +01:00
2018-03-24 10:19:40 +01:00
2018-03-24 10:19:40 +01:00
2018-03-24 10:19:40 +01:00
2017-02-24 14:00:23 -08:00
2018-05-21 21:24:40 +02:00
2018-07-07 17:52:26 +02:00
2017-11-21 15:57:07 -08:00
2017-11-02 15:50:26 -07:00
2018-03-24 10:19:40 +01:00
2018-03-24 10:19:40 +01:00
2018-06-06 10:45:33 +02:00
2018-06-07 12:41:43 +02:00
2018-07-07 17:52:26 +02:00
2017-09-09 20:29:53 +02:00
2018-03-24 10:19:40 +01:00
2018-03-13 19:14:19 +01:00
2018-03-24 10:19:40 +01:00
2017-02-24 14:00:23 -08:00
2017-12-28 20:45:51 +01:00
2018-03-10 11:45:07 +01:00
2017-12-28 20:45:02 +01:00
2015-09-28 10:56:01 +02:00
2014-10-20 16:21:56 +02:00
2018-03-03 17:04:15 +01:00
2018-05-21 21:24:42 +02:00
2017-12-28 20:45:18 +01:00
2017-12-28 20:45:52 +01:00
2014-03-31 13:31:06 +02:00
2015-09-09 21:39:22 +02:00
2018-07-07 17:52:26 +02:00
2018-08-02 15:57:11 +02:00
2014-03-31 13:26:31 +02:00
2014-03-31 13:26:56 +02:00
2017-06-05 20:37:35 +02:00
2017-09-09 20:06:25 +02:00
2017-11-02 11:10:55 +01:00
2017-09-09 17:41:24 +02:00
2018-05-14 23:58:23 +01:00
2018-08-06 17:12:42 +02:00
2018-08-22 17:31:34 -07:00
2015-08-05 10:35:49 -07:00
2017-09-04 13:53:15 +02:00
2016-12-16 06:53:55 -08:00
2018-03-03 17:04:16 +01:00
2017-11-21 15:57:05 -08:00
2018-08-02 15:57:12 +02:00
2018-07-07 17:52:26 +02:00
2018-07-07 17:52:26 +02:00
2018-03-24 10:19:40 +01:00
2018-05-21 21:25:23 +02:00
2015-09-09 21:39:22 +02:00
2018-08-02 15:57:12 +02:00
2018-03-24 10:19:40 +01:00
2018-03-03 17:04:14 +01:00
2017-11-21 15:57:05 -08:00
2018-07-07 17:52:26 +02:00
2017-12-28 20:45:36 +01:00
2018-01-21 12:44:59 +01:00
2018-03-24 10:19:40 +01:00
2018-03-24 10:19:40 +01:00
2014-10-20 16:21:56 +02:00
2016-03-01 16:25:39 +01:00
2017-02-24 14:00:23 -08:00
2018-03-24 10:19:39 +01:00
2017-11-21 15:57:07 -08:00
2016-07-17 21:04:13 +02:00
2017-09-04 21:19:03 +02:00
2017-09-04 21:19:03 +02:00
2018-05-21 21:24:40 +02:00
2018-07-07 17:52:26 +02:00
2015-06-22 15:54:35 +02:00
2018-08-02 15:57:09 +02:00
2017-04-20 12:02:32 +01:00
2017-12-28 20:45:29 +01:00
2017-12-28 20:45:50 +01:00
2017-11-21 15:57:07 -08:00
2016-07-25 12:02:32 +02:00
2016-07-25 12:02:43 +02:00
2017-11-21 15:57:07 -08:00
2018-03-03 17:04:13 +01:00
2016-10-08 10:27:13 +02:00
2016-10-08 10:27:17 +02:00
2017-09-09 20:50:35 +02:00
2018-01-08 10:08:36 +00:00
2016-03-01 15:29:42 +01:00
2017-11-21 15:57:07 -08:00
2018-05-21 21:24:41 +02:00
2015-09-09 21:39:22 +02:00
2014-10-20 16:21:56 +02:00
2017-02-24 14:00:23 -08:00
2017-09-09 20:29:53 +02:00
2017-12-28 20:44:39 +01:00
2017-06-05 20:37:17 +02:00
2017-06-05 20:38:52 +02:00
2017-02-24 14:00:23 -08:00
2018-03-03 17:04:12 +01:00
2017-11-21 15:57:05 -08:00
2018-03-03 15:52:32 +01:00
2017-11-21 15:57:05 -08:00
2017-09-09 21:14:46 +02:00
2018-04-16 10:22:39 +02:00
2017-11-21 15:57:07 -08:00
2018-03-03 17:04:13 +01:00
2017-03-01 06:15:10 -08:00
2018-08-06 17:12:41 +02:00
2018-01-21 12:56:37 +01:00
2018-01-21 12:56:37 +01:00
2018-08-02 15:57:12 +02:00
2018-03-24 10:19:40 +01:00
2018-08-02 15:57:09 +02:00
2018-08-02 15:57:11 +02:00
2017-02-24 14:00:23 -08:00
2018-03-03 17:04:13 +01:00
2018-07-07 17:52:26 +02:00
2018-03-24 10:19:40 +01:00
2017-09-09 20:06:14 +02:00
2015-12-28 22:29:35 +01:00
2017-09-04 14:41:02 +01:00
2016-09-23 22:36:32 +02:00
2018-03-24 10:19:40 +01:00
2015-09-09 21:39:22 +02:00
2017-11-21 15:57:05 -08:00
2017-09-09 20:08:03 +02:00
2017-11-21 15:57:05 -08:00
2018-04-16 10:22:39 +02:00
2018-04-16 10:22:39 +02:00
2017-12-28 20:45:56 +01:00
2015-12-29 20:36:01 +01:00
2018-01-21 12:44:59 +01:00
2016-10-08 10:27:24 +02:00
2017-11-02 11:10:55 +01:00
2018-05-21 21:24:40 +02:00
2014-03-31 13:28:20 +02:00
2017-12-28 20:45:30 +01:00
2017-04-20 12:02:32 +01:00
2018-03-24 10:19:40 +01:00
2018-03-24 10:19:40 +01:00
2017-12-28 20:45:44 +01:00
2017-09-09 21:16:17 +02:00
2017-09-09 20:18:43 +02:00