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
..
2018-08-14 15:27:12 +08:00
2018-08-15 13:41:08 -07:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-02-06 11:41:40 -08:00
2018-08-06 11:18:01 -07:00
2018-07-20 12:29:24 +10:00
2018-08-06 11:18:01 -07:00
2018-03-09 22:21:41 +00:00
2018-03-09 22:21:41 +00:00
2018-02-16 14:12:48 +00:00
2017-07-27 22:07:24 +02:00
2018-07-06 14:05:23 +01:00
2018-05-25 08:21:19 +01:00
2018-06-20 15:59:34 +02:00
2018-07-09 13:55:41 +01:00
2018-07-06 18:22:41 +01:00
2018-02-09 22:29:02 +00:00
2018-07-20 12:29:24 +10:00
2018-07-13 16:12:03 +01:00
2018-02-16 14:12:48 +00:00
2017-08-15 15:46:57 +01:00
2018-07-13 16:18:15 +01:00
2018-07-06 18:22:37 +01:00
2018-02-21 20:57:22 +00:00
2018-07-11 13:56:16 +01:00
2018-07-10 16:29:56 -07:00
2017-12-07 23:26:55 +00:00
2018-08-22 10:52:44 -07:00
2018-07-18 14:49:55 +01:00
2018-06-28 22:55:10 +01:00
2017-11-30 10:11:49 +02:00
2017-10-07 10:11:41 +01:00
2018-07-30 08:49:02 -04:00
2018-07-06 18:22:43 +01:00
2018-02-15 16:22:21 +00:00
2018-08-06 11:18:01 -07:00
2017-12-22 11:12:15 +00:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-09-18 19:46:36 +01:00
2018-02-12 23:34:50 -08:00
2017-11-13 15:59:03 +00:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2018-02-12 23:34:55 -08:00
2017-11-13 15:59:24 +00:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2018-03-29 13:25:30 +01:00
2018-03-29 13:25:30 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2018-07-19 18:39:31 +03:00
2018-07-19 18:39:31 +03:00
2018-07-16 11:25:28 +01:00
2018-07-09 13:55:41 +01:00
2018-08-15 17:39:07 -07:00
2018-06-05 16:45:01 +01:00
2018-06-07 10:24:50 +08:00
2018-05-29 13:53:07 +03:00
2018-03-08 10:07:18 +00:00
2018-08-15 13:41:10 -07:00
2018-07-09 13:55:41 +01:00
2018-07-06 18:22:43 +01:00
2018-04-18 21:09:11 +01:00
2018-07-16 11:23:45 +01:00
2017-09-29 12:30:17 +01:00
2018-01-15 10:29:18 +00:00
2017-07-09 18:48:37 -07:00
2018-02-08 15:08:51 +00:00
2017-05-03 11:08:48 +01:00
2018-03-12 11:24:49 -07:00
2018-05-02 23:57:18 +01:00
2018-07-07 08:09:43 +01:00
2017-11-02 11:10:55 +01:00
2018-06-11 14:03:47 +01:00
2018-08-22 17:31:34 -07:00
2018-06-05 21:11:20 +01:00
2018-06-05 16:57:01 +03:00
2018-07-19 12:27:46 +01:00
2018-07-06 18:23:07 +01:00
2018-07-06 12:14:16 +03:00
2018-06-14 15:59:09 +03:00
2018-06-28 13:10:44 +10:00
2018-06-28 13:10:44 +10:00
2018-08-15 17:39:07 -07:00
2018-06-20 12:00:31 -07:00
2018-06-28 20:56:35 +01:00
2018-07-05 16:40:51 +03:00
2018-03-21 09:40:55 -04:00
2018-06-19 17:18:24 +03:00
2018-05-02 13:05:01 +03:00
2018-08-15 13:41:10 -07:00
2018-07-06 14:05:23 +01:00
2018-07-06 14:05:23 +01:00
2018-08-06 11:18:01 -07:00
2018-08-20 15:38:44 -07:00
2018-06-18 14:46:04 +03:00
2018-06-14 14:58:22 -07:00
2018-07-20 10:46:49 +10:00
2018-07-20 12:29:24 +10:00
2018-04-10 13:12:22 +03:00
2018-07-19 05:46:30 +10:00
2018-06-21 19:01:40 +03:00
2018-08-20 15:38:44 -07:00
2017-08-16 18:02:00 +03:00
2018-07-06 10:54:05 +03:00
2018-07-06 10:54:05 +03:00
2018-06-19 15:47:49 +03:00
2018-07-13 22:32:20 +01:00
2018-06-29 10:06:31 +02:00
2018-05-22 09:44:02 +01:00
2017-09-25 16:54:09 +03:00
2018-05-24 16:05:19 +03:00
2018-03-15 10:00:03 +00:00
2018-04-30 16:01:13 +01:00
2018-01-03 14:02:10 +00:00
2018-04-10 17:15:29 +01:00
2018-03-28 20:35:17 +01:00
2018-03-23 17:03:24 +00:00
2017-12-06 14:41:47 +00:00
2018-06-12 15:44:45 +01:00
2018-06-12 15:44:45 +01:00
2018-06-12 15:44:47 +01:00
2018-03-14 15:35:37 +02:00
2018-07-19 10:13:26 +01:00
2017-12-14 08:06:54 +00:00
2018-07-14 19:21:20 +01:00
2018-06-28 22:51:32 +01:00
2018-07-10 16:46:09 +01:00
2017-05-30 15:59:47 +03:00
2018-06-14 19:20:33 +01:00
2018-06-12 16:19:22 -07:00
2018-08-20 15:38:44 -07:00
2018-07-13 18:22:22 +03:00
2018-03-23 17:03:24 +00:00
2018-03-02 09:04:45 +00:00
2018-06-28 22:51:33 +01:00
2018-06-28 22:51:33 +01:00
2018-07-12 17:31:28 +02:00
2018-08-15 17:39:07 -07:00
2018-03-07 15:07:39 +02:00
2018-07-19 13:23:43 +01:00
2018-07-19 10:13:26 +01:00
2018-06-18 14:46:22 +03:00
2018-07-20 12:29:24 +10:00
2018-05-03 16:41:04 -07:00
2018-02-21 20:57:22 +00:00
2018-07-13 18:40:27 +02:00
2018-06-14 13:48:10 +03:00
2018-06-14 13:48:10 +03:00
2018-03-13 13:49:39 -07:00
2018-07-19 18:39:31 +03:00
2018-07-06 14:33:35 +02:00
2018-08-06 11:18:01 -07:00
2018-07-12 23:33:38 -07:00
2017-08-14 12:15:49 +03:00
2018-08-15 13:41:01 -07:00
2018-07-16 17:17:27 +01:00
2018-07-05 16:40:51 +03:00
2018-07-20 10:46:49 +10:00
2017-10-11 08:56:56 +01:00
2018-07-20 12:29:24 +10:00
2018-07-12 10:18:19 +01:00
2018-03-23 17:03:24 +00:00
2018-05-02 13:40:17 -07:00
2018-06-28 22:51:33 +01:00
2018-03-23 17:03:24 +00:00
2018-08-15 13:41:05 -07:00
2018-08-15 13:41:05 -07:00
2018-06-18 14:44:52 +03:00
2018-03-28 14:42:56 +03:00
2018-03-14 15:35:37 +02:00
2018-08-06 11:18:04 -07:00
2018-04-14 18:36:45 +01:00
2018-08-20 15:38:44 -07:00
2018-07-19 05:46:30 +10:00
2018-07-06 12:13:34 +03:00
2018-07-06 10:54:05 +03:00
2018-07-06 10:54:10 +03:00