/* Producer string parsers for GDB.
- Copyright (C) 2012-2017 Free Software Foundation, Inc.
+ Copyright (C) 2012-2020 Free Software Foundation, Inc.
This file is part of GDB.
is NULL or it isn't GCC. */
extern int producer_is_gcc (const char *producer, int *major, int *minor);
+/* Returns true if the given PRODUCER string is Intel or false
+ otherwise. Sets the MAJOR and MINOR versions when not NULL.
+
+ Internal and external ICC versions have to be taken into account.
+ PRODUCER strings for internal releases are slightly different than
+ for public ones. Internal releases have a major release number and
+ 0 as minor release. External releases have 4 fields, 3 of them are
+ not 0 and only two are of interest, major and update.
+
+ Examples are:
+
+ Public release:
+ "Intel(R) Fortran Intel(R) 64 Compiler XE for applications
+ running on Intel(R) 64, Version 14.0.1.074 Build 20130716";
+ "Intel(R) C++ Intel(R) 64 Compiler XE for applications
+ running on Intel(R) 64, Version 14.0.1.074 Build 20130716";
+
+ Internal releases:
+ "Intel(R) C++ Intel(R) 64 Compiler for applications
+ running on Intel(R) 64, Version 18.0 Beta ....". */
+extern bool producer_is_icc (const char *producer, int *major, int *minor);
+
#endif