summaryrefslogtreecommitdiffstats
path: root/codemaker
diff options
context:
space:
mode:
authorStephan Bergmann <stephan.bergmann@allotropia.de>2024-01-19 12:12:01 +0100
committerStephan Bergmann <stephan.bergmann@allotropia.de>2024-01-19 13:44:01 +0100
commit56ceb5db4eb3243d02c56c8cf21522d0373c28a9 (patch)
treedd895b1a8ba61e3d7d2f279a506ff8bf44f9624c /codemaker
parenttdf#159247 Fix crash while adding control with default properties (Dialog Edi... (diff)
downloadcore-56ceb5db4eb3243d02c56c8cf21522d0373c28a9.tar.gz
core-56ceb5db4eb3243d02c56c8cf21522d0373c28a9.zip
cppumaker: Work around problematic constant named "auto"
...which had been added all the way back in 2002 with 6cd0bbd8ce6ae2774fc61dacc0f81725ba038d79 "adding new file to HEAD" to constants group css.drawing.CaptionEscapeDirection, which has meanwhile been published, so no chance of cleaning that up. But cppumaker already has a mechanism to work around problematic UNOIDL identifiers, but which was only used for "new-style" entities when they got introduced, mainly to avoid compatibility issues when retroactively changing the code generated for existing entities. But for C++ keywords, the generated code was always broken, so no harm in fixing it, so introduce an additional IdentifierTranslateMode::KeywordsOnly and use that at least for constants, to address the immediate issue. (And with that, a hack can be removed from gb_UnoApiEmbindTarget__add_embind.) Change-Id: I5cf62fd8b3b298dff2ec28452fb97b424a4ba473 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162305 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Diffstat (limited to 'codemaker')
-rw-r--r--codemaker/source/commoncpp/commoncpp.cxx241
-rw-r--r--codemaker/source/cppumaker/cpputype.cxx6
2 files changed, 126 insertions, 121 deletions
diff --git a/codemaker/source/commoncpp/commoncpp.cxx b/codemaker/source/commoncpp/commoncpp.cxx
index 117afaca2c8a..a47a8d99526b 100644
--- a/codemaker/source/commoncpp/commoncpp.cxx
+++ b/codemaker/source/commoncpp/commoncpp.cxx
@@ -167,126 +167,127 @@ OString translateUnoToCppIdentifier(
/* unoIdentifier == "or_eq" */
|| unoIdentifier == "xor"
/* unoIdentifier == "xor_eq" */
- // Standard macros:
- || (unoIdentifier == "BUFSIZ"
- || unoIdentifier == "CLOCKS_PER_SEC"
- || unoIdentifier == "EDOM"
- || unoIdentifier == "EOF"
- || unoIdentifier == "ERANGE"
- || unoIdentifier == "EXIT_FAILURE"
- || unoIdentifier == "EXIT_SUCCESS"
- || unoIdentifier == "FILENAME_MAX"
- || unoIdentifier == "FOPEN_MAX"
- || unoIdentifier == "HUGE_VAL"
- || unoIdentifier == "LC_ALL"
- || unoIdentifier == "LC_COLLATE"
- || unoIdentifier == "LC_CTYPE"
- || unoIdentifier == "LC_MONETARY"
- || unoIdentifier == "LC_NUMERIC"
- || unoIdentifier == "LC_TIME"
- || unoIdentifier == "L_tmpnam"
- || unoIdentifier == "MB_CUR_MAX"
- || unoIdentifier == "NULL"
- || unoIdentifier == "RAND_MAX"
- || unoIdentifier == "SEEK_CUR"
- || unoIdentifier == "SEEK_END"
- || unoIdentifier == "SEEK_SET"
- || unoIdentifier == "SIGABRT"
- || unoIdentifier == "SIGFPE"
- || unoIdentifier == "SIGILL"
- || unoIdentifier == "SIGINT"
- || unoIdentifier == "SIGSEGV"
- || unoIdentifier == "SIGTERM"
- || unoIdentifier == "SIG_DFL"
- || unoIdentifier == "SIG_ERR"
- || unoIdentifier == "SIG_IGN"
- || unoIdentifier == "TMP_MAX"
- || unoIdentifier == "WCHAR_MAX"
- || unoIdentifier == "WCHAR_MIN"
- || unoIdentifier == "WEOF"
- /* unoIdentifier == "_IOFBF" */
- /* unoIdentifier == "_IOLBF" */
- /* unoIdentifier == "_IONBF" */
- || unoIdentifier == "assert"
- || unoIdentifier == "errno"
- || unoIdentifier == "offsetof"
- || unoIdentifier == "setjmp"
- || unoIdentifier == "stderr"
- || unoIdentifier == "stdin"
- || unoIdentifier == "stdout"
- /* unoIdentifier == "va_arg" */
- /* unoIdentifier == "va_end" */
- /* unoIdentifier == "va_start" */
- // Standard values:
- || unoIdentifier == "CHAR_BIT"
- || unoIdentifier == "CHAR_MAX"
- || unoIdentifier == "CHAR_MIN"
- || unoIdentifier == "DBL_DIG"
- || unoIdentifier == "DBL_EPSILON"
- || unoIdentifier == "DBL_MANT_DIG"
- || unoIdentifier == "DBL_MAX"
- || unoIdentifier == "DBL_MAX_10_EXP"
- || unoIdentifier == "DBL_MAX_EXP"
- || unoIdentifier == "DBL_MIN"
- || unoIdentifier == "DBL_MIN_10_EXP"
- || unoIdentifier == "DBL_MIN_EXP"
- || unoIdentifier == "FLT_DIG"
- || unoIdentifier == "FLT_EPSILON"
- || unoIdentifier == "FLT_MANT_DIG"
- || unoIdentifier == "FLT_MAX"
- || unoIdentifier == "FLT_MAX_10_EXP"
- || unoIdentifier == "FLT_MAX_EXP"
- || unoIdentifier == "FLT_MIN"
- || unoIdentifier == "FLT_MIN_10_EXP"
- || unoIdentifier == "FLT_MIN_EXP"
- || unoIdentifier == "FLT_RADIX"
- || unoIdentifier == "FLT_ROUNDS"
- || unoIdentifier == "INT_MAX"
- || unoIdentifier == "INT_MIN"
- || unoIdentifier == "LDBL_DIG"
- || unoIdentifier == "LDBL_EPSILON"
- || unoIdentifier == "LDBL_MANT_DIG"
- || unoIdentifier == "LDBL_MAX"
- || unoIdentifier == "LDBL_MAX_10_EXP"
- || unoIdentifier == "LDBL_MAX_EXP"
- || unoIdentifier == "LDBL_MIN"
- || unoIdentifier == "LDBL_MIN_10_EXP"
- || unoIdentifier == "LDBL_MIN_EXP"
- || unoIdentifier == "LONG_MAX"
- || unoIdentifier == "LONG_MIN"
- || unoIdentifier == "MB_LEN_MAX"
- || unoIdentifier == "SCHAR_MAX"
- || unoIdentifier == "SCHAR_MIN"
- || unoIdentifier == "SHRT_MAX"
- || unoIdentifier == "SHRT_MIN"
- || unoIdentifier == "UCHAR_MAX"
- || unoIdentifier == "UINT_MAX"
- || unoIdentifier == "ULONG_MAX"
- || unoIdentifier == "USHRT_MAX")
- || (transmode == IdentifierTranslationMode::Global
- && (// Standard types:
- /* unoIdentifier == "clock_t" */
- /* unoIdentifier == "div_t" */
- unoIdentifier == "FILE"
- /* unoIdentifier == "fpos_t" */
- /* unoIdentifier == "jmp_buf" */
- || unoIdentifier == "lconv"
- /* unoIdentifier == "ldiv_t" */
- /* unoIdentifier == "mbstate_t" */
- /* unoIdentifier == "ptrdiff_t" */
- /* unoIdentifier == "sig_atomic_t" */
- /* unoIdentifier == "size_t" */
- /* unoIdentifier == "time_t" */
- || unoIdentifier == "tm"
- /* unoIdentifier == "va_list" */
- /* unoIdentifier == "wctrans_t" */
- /* unoIdentifier == "wctype_t" */
- /* unoIdentifier == "wint_t" */
- // Standard namespaces:
- || unoIdentifier == "std"))
- // Others:
- || unoIdentifier == "NDEBUG"
- || (forbidden != nullptr && unoIdentifier == *forbidden) )
+ || (transmode != IdentifierTranslationMode::KeywordsOnly
+ // Standard macros:
+ && ((unoIdentifier == "BUFSIZ"
+ || unoIdentifier == "CLOCKS_PER_SEC"
+ || unoIdentifier == "EDOM"
+ || unoIdentifier == "EOF"
+ || unoIdentifier == "ERANGE"
+ || unoIdentifier == "EXIT_FAILURE"
+ || unoIdentifier == "EXIT_SUCCESS"
+ || unoIdentifier == "FILENAME_MAX"
+ || unoIdentifier == "FOPEN_MAX"
+ || unoIdentifier == "HUGE_VAL"
+ || unoIdentifier == "LC_ALL"
+ || unoIdentifier == "LC_COLLATE"
+ || unoIdentifier == "LC_CTYPE"
+ || unoIdentifier == "LC_MONETARY"
+ || unoIdentifier == "LC_NUMERIC"
+ || unoIdentifier == "LC_TIME"
+ || unoIdentifier == "L_tmpnam"
+ || unoIdentifier == "MB_CUR_MAX"
+ || unoIdentifier == "NULL"
+ || unoIdentifier == "RAND_MAX"
+ || unoIdentifier == "SEEK_CUR"
+ || unoIdentifier == "SEEK_END"
+ || unoIdentifier == "SEEK_SET"
+ || unoIdentifier == "SIGABRT"
+ || unoIdentifier == "SIGFPE"
+ || unoIdentifier == "SIGILL"
+ || unoIdentifier == "SIGINT"
+ || unoIdentifier == "SIGSEGV"
+ || unoIdentifier == "SIGTERM"
+ || unoIdentifier == "SIG_DFL"
+ || unoIdentifier == "SIG_ERR"
+ || unoIdentifier == "SIG_IGN"
+ || unoIdentifier == "TMP_MAX"
+ || unoIdentifier == "WCHAR_MAX"
+ || unoIdentifier == "WCHAR_MIN"
+ || unoIdentifier == "WEOF"
+ /* unoIdentifier == "_IOFBF" */
+ /* unoIdentifier == "_IOLBF" */
+ /* unoIdentifier == "_IONBF" */
+ || unoIdentifier == "assert"
+ || unoIdentifier == "errno"
+ || unoIdentifier == "offsetof"
+ || unoIdentifier == "setjmp"
+ || unoIdentifier == "stderr"
+ || unoIdentifier == "stdin"
+ || unoIdentifier == "stdout"
+ /* unoIdentifier == "va_arg" */
+ /* unoIdentifier == "va_end" */
+ /* unoIdentifier == "va_start" */
+ // Standard values:
+ || unoIdentifier == "CHAR_BIT"
+ || unoIdentifier == "CHAR_MAX"
+ || unoIdentifier == "CHAR_MIN"
+ || unoIdentifier == "DBL_DIG"
+ || unoIdentifier == "DBL_EPSILON"
+ || unoIdentifier == "DBL_MANT_DIG"
+ || unoIdentifier == "DBL_MAX"
+ || unoIdentifier == "DBL_MAX_10_EXP"
+ || unoIdentifier == "DBL_MAX_EXP"
+ || unoIdentifier == "DBL_MIN"
+ || unoIdentifier == "DBL_MIN_10_EXP"
+ || unoIdentifier == "DBL_MIN_EXP"
+ || unoIdentifier == "FLT_DIG"
+ || unoIdentifier == "FLT_EPSILON"
+ || unoIdentifier == "FLT_MANT_DIG"
+ || unoIdentifier == "FLT_MAX"
+ || unoIdentifier == "FLT_MAX_10_EXP"
+ || unoIdentifier == "FLT_MAX_EXP"
+ || unoIdentifier == "FLT_MIN"
+ || unoIdentifier == "FLT_MIN_10_EXP"
+ || unoIdentifier == "FLT_MIN_EXP"
+ || unoIdentifier == "FLT_RADIX"
+ || unoIdentifier == "FLT_ROUNDS"
+ || unoIdentifier == "INT_MAX"
+ || unoIdentifier == "INT_MIN"
+ || unoIdentifier == "LDBL_DIG"
+ || unoIdentifier == "LDBL_EPSILON"
+ || unoIdentifier == "LDBL_MANT_DIG"
+ || unoIdentifier == "LDBL_MAX"
+ || unoIdentifier == "LDBL_MAX_10_EXP"
+ || unoIdentifier == "LDBL_MAX_EXP"
+ || unoIdentifier == "LDBL_MIN"
+ || unoIdentifier == "LDBL_MIN_10_EXP"
+ || unoIdentifier == "LDBL_MIN_EXP"
+ || unoIdentifier == "LONG_MAX"
+ || unoIdentifier == "LONG_MIN"
+ || unoIdentifier == "MB_LEN_MAX"
+ || unoIdentifier == "SCHAR_MAX"
+ || unoIdentifier == "SCHAR_MIN"
+ || unoIdentifier == "SHRT_MAX"
+ || unoIdentifier == "SHRT_MIN"
+ || unoIdentifier == "UCHAR_MAX"
+ || unoIdentifier == "UINT_MAX"
+ || unoIdentifier == "ULONG_MAX"
+ || unoIdentifier == "USHRT_MAX")
+ || (transmode == IdentifierTranslationMode::Global
+ && (// Standard types:
+ /* unoIdentifier == "clock_t" */
+ /* unoIdentifier == "div_t" */
+ unoIdentifier == "FILE"
+ /* unoIdentifier == "fpos_t" */
+ /* unoIdentifier == "jmp_buf" */
+ || unoIdentifier == "lconv"
+ /* unoIdentifier == "ldiv_t" */
+ /* unoIdentifier == "mbstate_t" */
+ /* unoIdentifier == "ptrdiff_t" */
+ /* unoIdentifier == "sig_atomic_t" */
+ /* unoIdentifier == "size_t" */
+ /* unoIdentifier == "time_t" */
+ || unoIdentifier == "tm"
+ /* unoIdentifier == "va_list" */
+ /* unoIdentifier == "wctrans_t" */
+ /* unoIdentifier == "wctype_t" */
+ /* unoIdentifier == "wint_t" */
+ // Standard namespaces:
+ || unoIdentifier == "std"))
+ // Others:
+ || unoIdentifier == "NDEBUG"
+ || (forbidden != nullptr && unoIdentifier == *forbidden))) )
{
return OString::Concat(prefix) + "_" + unoIdentifier;
} else {
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index cfb1fd750a5f..2b995e1d31ae 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -1937,7 +1937,11 @@ void ConstantGroup::dumpDeclaration(FileStream & out)
out << "double";
break;
}
- out << " " << member.name << " = ";
+ out << " "
+ << codemaker::cpp::translateUnoToCppIdentifier(
+ u2b(member.name), "constant",
+ codemaker::cpp::IdentifierTranslationMode::KeywordsOnly)
+ << " = ";
switch (member.value.type) {
case unoidl::ConstantValue::TYPE_BOOLEAN:
out << (member.value.booleanValue ? "sal_True" : "sal_False");