BareMetal: Dump additional macros of C{51|251} compiler

We need also dump the missed __MODEL__, __STDC__, __FLOAT64__,
and __MODSRC__ macros:

 * http://www.keil.com/support/man/docs/c51/c51_pp_predefmacroconst.htm
 * http://www.keil.com/support/man/docs/c251/c251_pp_predefmacroconst.htm

Other macros (like the __DATE__, __FILE__, and etc) we can ignore.

Change-Id: I9a60aa29c542413e47d4ef95b686648e5f216730
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Denis Shienkov
2020-04-02 16:22:27 +03:00
parent 2033b438ca
commit 7b73d286fc

View File

@@ -104,13 +104,33 @@ static Macros dumpMcsPredefinedMacros(const FilePath &compiler, const QStringLis
fakeIn.write("# if defined(__CX51__)\n");
fakeIn.write("# pragma message (VAR_NAME_VALUE(__CX51__))\n");
fakeIn.write("# endif\n");
fakeIn.write("# if defined(__MODEL__)\n");
fakeIn.write("# pragma message (VAR_NAME_VALUE(__MODEL__))\n");
fakeIn.write("# endif\n");
fakeIn.write("# if defined(__STDC__)\n");
fakeIn.write("# pragma message (VAR_NAME_VALUE(__STDC__))\n");
fakeIn.write("# endif\n");
fakeIn.write("#endif\n");
// Prepare for C251 compiler.
fakeIn.write("#if defined(__C251__)\n");
fakeIn.write("# define VAR_NAME_VALUE(var) \"\"|#var|VALUE(var)|\"\"\n");
fakeIn.write("# if defined(__C251__)\n");
fakeIn.write("# warning (VAR_NAME_VALUE(__C251__))\n");
fakeIn.write("# endif\n");
fakeIn.write("# if defined(__MODEL__)\n");
fakeIn.write("# warning (VAR_NAME_VALUE(__MODEL__))\n");
fakeIn.write("# endif\n");
fakeIn.write("# if defined(__STDC__)\n");
fakeIn.write("# warning (VAR_NAME_VALUE(__STDC__))\n");
fakeIn.write("# endif\n");
fakeIn.write("# if defined(__FLOAT64__)\n");
fakeIn.write("# warning (VAR_NAME_VALUE(__FLOAT64__))\n");
fakeIn.write("# endif\n");
fakeIn.write("# if defined(__MODSRC__)\n");
fakeIn.write("# warning (VAR_NAME_VALUE(__MODSRC__))\n");
fakeIn.write("# endif\n");
fakeIn.write("#endif\n");
fakeIn.close();