[Libreoffice-commits] core.git: accessibility/inc avmedia/inc basctl/inc basic/inc chart2/inc compilerplugins/clang connectivity/inc cui/inc dbaccess/inc desktop/inc extensions/inc external/icu filter/inc forms/inc formula/inc fpicker/inc framework/inc include/editeng include/fpicker include/rtl include/sfx2 include/svl include/svtools include/svx reportdesign/inc sal/qa scaddins/inc scaddins/source sccomp/inc sc/inc sd/inc sfx2/inc starmath/inc svtools/inc svx/inc svx/source sw/inc uui/inc vcl/inc writerperfect/inc xmlsecurity/inc

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sat Nov 17 16:17:48 UTC 2018


 accessibility/inc/strings.hrc                 |    2 
 avmedia/inc/strings.hrc                       |    2 
 basctl/inc/strings.hrc                        |    2 
 basic/inc/basic.hrc                           |    2 
 basic/inc/strings.hrc                         |    2 
 chart2/inc/strings.hrc                        |    2 
 compilerplugins/clang/test/stringconstant.cxx |    2 
 connectivity/inc/strings.hrc                  |    2 
 cui/inc/strings.hrc                           |    2 
 cui/inc/treeopt.hrc                           |    2 
 dbaccess/inc/query.hrc                        |    2 
 dbaccess/inc/strings.hrc                      |    2 
 desktop/inc/strings.hrc                       |    2 
 extensions/inc/command.hrc                    |    2 
 extensions/inc/showhide.hrc                   |    2 
 extensions/inc/stringarrays.hrc               |    2 
 extensions/inc/strings.hrc                    |    2 
 extensions/inc/yesno.hrc                      |    2 
 external/icu/UnpackedTarball_icu.mk           |    1 
 external/icu/char8_t.patch                    |   19 +
 filter/inc/strings.hrc                        |    2 
 forms/inc/strings.hrc                         |    2 
 formula/inc/core_resource.hrc                 |    2 
 formula/inc/strings.hrc                       |    2 
 fpicker/inc/strings.hrc                       |    2 
 framework/inc/strings.hrc                     |    2 
 include/editeng/editrids.hrc                  |    2 
 include/fpicker/strings.hrc                   |    2 
 include/rtl/string.hxx                        |    4 
 include/rtl/stringutils.hxx                   |   22 +
 include/sfx2/strings.hrc                      |    2 
 include/svl/svl.hrc                           |    2 
 include/svtools/strings.hrc                   |    2 
 include/svx/strings.hrc                       |    2 
 include/svx/svxitems.hrc                      |    2 
 reportdesign/inc/stringarray.hrc              |    2 
 reportdesign/inc/strings.hrc                  |    2 
 sal/qa/rtl/textenc/rtl_textcvt.cxx            |    3 
 sc/inc/compiler.hrc                           |    2 
 sc/inc/globstr.hrc                            |    4 
 sc/inc/pvfundlg.hrc                           |    2 
 sc/inc/scerrors.hrc                           |    2 
 sc/inc/scfuncs.hrc                            |    2 
 sc/inc/scstyles.hrc                           |    2 
 sc/inc/strings.hrc                            |    4 
 sc/inc/units.hrc                              |    2 
 scaddins/inc/analysis.hrc                     |    2 
 scaddins/inc/datefunc.hrc                     |    2 
 scaddins/inc/pricing.hrc                      |    2 
 scaddins/inc/strings.hrc                      |    2 
 scaddins/source/analysis/deffuncname.hxx      |  404 +++++++++++++-------------
 sccomp/inc/strings.hrc                        |    2 
 sd/inc/DocumentRenderer.hrc                   |    2 
 sd/inc/errhdl.hrc                             |    2 
 sd/inc/family.hrc                             |    2 
 sd/inc/strings.hrc                            |    2 
 sfx2/inc/dinfdlg.hrc                          |    2 
 sfx2/inc/doctempl.hrc                         |    2 
 starmath/inc/smmod.hrc                        |    2 
 starmath/inc/strings.hrc                      |    2 
 svtools/inc/borderline.hrc                    |    2 
 svtools/inc/errtxt.hrc                        |    2 
 svtools/inc/langtab.hrc                       |    2 
 svtools/inc/templwin.hrc                      |    2 
 svx/inc/fieldunit.hrc                         |    2 
 svx/inc/fmstring.hrc                          |    2 
 svx/inc/frmsel.hrc                            |    2 
 svx/inc/numberingtype.hrc                     |    2 
 svx/inc/samecontent.hrc                       |    2 
 svx/inc/spacing.hrc                           |    2 
 svx/inc/svxerr.hrc                            |    2 
 svx/inc/swframeposstrings.hrc                 |    2 
 svx/inc/tabwin.hrc                            |    2 
 svx/inc/txenctab.hrc                          |    2 
 svx/source/dialog/page.hrc                    |    2 
 sw/inc/app.hrc                                |    2 
 sw/inc/cnttab.hrc                             |    2 
 sw/inc/dbui.hrc                               |    2 
 sw/inc/error.hrc                              |    2 
 sw/inc/mmaddressblockpage.hrc                 |    2 
 sw/inc/optload.hrc                            |    2 
 sw/inc/pageformatpanel.hrc                    |    2 
 sw/inc/strings.hrc                            |    4 
 sw/inc/utlui.hrc                              |    2 
 uui/inc/ids.hrc                               |    2 
 uui/inc/strings.hrc                           |    2 
 vcl/inc/font/OpenTypeFeatureStrings.hrc       |    2 
 vcl/inc/print.hrc                             |    2 
 vcl/inc/printaccessoryview.hrc                |    2 
 vcl/inc/strings.hrc                           |    2 
 vcl/inc/units.hrc                             |    2 
 writerperfect/inc/strings.hrc                 |    2 
 xmlsecurity/inc/strings.hrc                   |    2 
 93 files changed, 341 insertions(+), 292 deletions(-)

New commits:
commit c89a4996b82881988eb9cc1eeaf24e0d8f9e6dce
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Sat Nov 17 15:46:38 2018 +0100
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Sat Nov 17 17:17:26 2018 +0100

    Adapt to C++2a char_t
    
    u8 literals incompatibly change their type (as implemented by recent Clang
    trunk)
    
    Change-Id: Ia4f7b91f5d86656a056303d2754981ab2093a739
    Reviewed-on: https://gerrit.libreoffice.org/63494
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/accessibility/inc/strings.hrc b/accessibility/inc/strings.hrc
index 6e713e15d6b8..b65855534fea 100644
--- a/accessibility/inc/strings.hrc
+++ b/accessibility/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef ACCESSIBILITY_HELPER_ACCESSIBLESTRINGS_HRC_
 #define ACCESSIBILITY_HELPER_ACCESSIBLESTRINGS_HRC_
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_STR_ACC_NAME_BROWSEBUTTON           NC_("RID_STR_ACC_NAME_BROWSEBUTTON", "Browse")
 #define STR_SVT_ACC_ACTION_EXPAND               NC_("STR_SVT_ACC_ACTION_EXPAND", "Expand" )
diff --git a/avmedia/inc/strings.hrc b/avmedia/inc/strings.hrc
index ea001490d87a..cc1692a220b3 100644
--- a/avmedia/inc/strings.hrc
+++ b/avmedia/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_AVMEDIA_INC_STRINGS_HRC
 #define INCLUDED_AVMEDIA_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define AVMEDIA_STR_OPEN            NC_("AVMEDIA_STR_OPEN", "Open")
 #define AVMEDIA_STR_INSERT          NC_("AVMEDIA_STR_INSERT", "Apply")
diff --git a/basctl/inc/strings.hrc b/basctl/inc/strings.hrc
index aa9ebb37f7c5..090519fd5a9d 100644
--- a/basctl/inc/strings.hrc
+++ b/basctl/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef BASCTL_INC_BASIDESH_HRC
 #define BASCTL_INC_BASIDESH_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_STR_FILTER_ALLFILES             NC_("RID_STR_FILTER_ALLFILES", "<All>")
 #define RID_STR_NOMODULE                    NC_("RID_STR_NOMODULE", "< No Module >")
diff --git a/basic/inc/basic.hrc b/basic/inc/basic.hrc
index 36fe29f11ef3..c860fce7aaed 100644
--- a/basic/inc/basic.hrc
+++ b/basic/inc/basic.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_BASIC_INC_STRINGS_HRC
 #define INCLUDED_BASIC_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 std::pair<const char*, ErrCode> const RID_BASIC_START[] =
 {
diff --git a/basic/inc/strings.hrc b/basic/inc/strings.hrc
index deab90a91eb5..c257ac2fd225 100644
--- a/basic/inc/strings.hrc
+++ b/basic/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_BASIC_INC_STRINGS_HRC
 #define INCLUDED_BASIC_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_BASICKEY_FORMAT_ON          NC_("STR_BASICKEY_FORMAT_ON", "On")
 #define STR_BASICKEY_FORMAT_OFF         NC_("STR_BASICKEY_FORMAT_OFF", "Off")
diff --git a/chart2/inc/strings.hrc b/chart2/inc/strings.hrc
index e2eb6085f8f0..c991de019bc2 100644
--- a/chart2/inc/strings.hrc
+++ b/chart2/inc/strings.hrc
@@ -19,7 +19,7 @@
 #ifndef CHART_STRINGS_HRC
 #define CHART_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_DLG_CHART_WIZARD                        NC_("STR_DLG_CHART_WIZARD", "Chart Wizard")
 #define STR_DLG_SMOOTH_LINE_PROPERTIES              NC_("STR_DLG_SMOOTH_LINE_PROPERTIES", "Smooth Lines")
diff --git a/compilerplugins/clang/test/stringconstant.cxx b/compilerplugins/clang/test/stringconstant.cxx
index ee79c5738ac9..068d34f5078d 100644
--- a/compilerplugins/clang/test/stringconstant.cxx
+++ b/compilerplugins/clang/test/stringconstant.cxx
@@ -67,7 +67,9 @@ int main() {
 
     (void) OUString("xxx", 2, RTL_TEXTENCODING_ASCII_US); // expected-error {{suspicious 'rtl::OUString' constructor with literal of length 3 and non-matching length argument 2 [loplugin:stringconstant]}}
 
+#if !defined __cpp_char8_t
     (void) OUString(u8"xxx", 3, RTL_TEXTENCODING_ASCII_US); // expected-error {{simplify construction of 'OUString' with string constant argument [loplugin:stringconstant]}}
+#endif
 
     (void) OUString("\x80", 1, RTL_TEXTENCODING_UTF8); // expected-error {{suspicious 'rtl::OUString' constructor with text encoding 'RTL_TEXTENCODING_UTF8' but non-UTF-8 content [loplugin:stringconstant]}}
 
diff --git a/connectivity/inc/strings.hrc b/connectivity/inc/strings.hrc
index 129a41826b02..2be7348f065c 100644
--- a/connectivity/inc/strings.hrc
+++ b/connectivity/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef CONNECTIVITY_STRINGS_HRC
 #define CONNECTIVITY_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 // = the mozab driver's resource strings
 #define STR_ERR_EXECUTING_QUERY                 NC_("STR_ERR_EXECUTING_QUERY", "An error occurred while executing the query.")
diff --git a/cui/inc/strings.hrc b/cui/inc/strings.hrc
index db0c46269e29..743c974caef4 100644
--- a/cui/inc/strings.hrc
+++ b/cui/inc/strings.hrc
@@ -19,7 +19,7 @@
 #ifndef INCLUDED_CUI_INC_STRINGS_HRC
 #define INCLUDED_CUI_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_SVXSTR_KEY_CONFIG_DIR                   NC_("RID_SVXSTR_KEY_CONFIG_DIR", "Configuration")
 #define RID_SVXSTR_KEY_WORK_PATH                    NC_("RID_SVXSTR_KEY_WORK_PATH", "My Documents")
diff --git a/cui/inc/treeopt.hrc b/cui/inc/treeopt.hrc
index 9f7b71c6f2ae..824e0fd369e8 100644
--- a/cui/inc/treeopt.hrc
+++ b/cui/inc/treeopt.hrc
@@ -23,7 +23,7 @@
 #include <sal/types.h>
 #include <sfx2/pageids.hxx>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, sal_uInt16> SID_GENERAL_OPTIONS_RES[] =
 {
diff --git a/dbaccess/inc/query.hrc b/dbaccess/inc/query.hrc
index 00a17a34aeef..fe4042517603 100644
--- a/dbaccess/inc/query.hrc
+++ b/dbaccess/inc/query.hrc
@@ -19,7 +19,7 @@
 #ifndef INCLUDED_VCL_INC_PRINTACCESSORYVIEW_HRC
 #define INCLUDED_VCL_INC_PRINTACCESSORYVIEW_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RSC_QUERY_OBJECT_TYPE[] =
 {
diff --git a/dbaccess/inc/strings.hrc b/dbaccess/inc/strings.hrc
index 1cadb41966f9..840e0b87e5e1 100644
--- a/dbaccess/inc/strings.hrc
+++ b/dbaccess/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_DBACCESS_SOURCE_CORE_INC_CORE_RESOURCE_HRC
 #define INCLUDED_DBACCESS_SOURCE_CORE_INC_CORE_RESOURCE_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_STR_CONNECTION_INVALID                  NC_("RID_STR_CONNECTION_INVALID", "No connection could be established.")
 #define RID_STR_TABLE_IS_FILTERED                   NC_("RID_STR_TABLE_IS_FILTERED", "The table $name$ already exists. It is not visible because it has been filtered out.")
diff --git a/desktop/inc/strings.hrc b/desktop/inc/strings.hrc
index 912f76626b0e..6d70648d069a 100644
--- a/desktop/inc/strings.hrc
+++ b/desktop/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_STRINGS_HRC
 #define INCLUDED_VCL_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_STR_COPYING_PACKAGE                             NC_("RID_STR_COPYING_PACKAGE", "Copying: ")
 #define RID_STR_ERROR_WHILE_ADDING                          NC_("RID_STR_ERROR_WHILE_ADDING", "Error while adding: ")
diff --git a/extensions/inc/command.hrc b/extensions/inc/command.hrc
index be373257e202..8ae09743b154 100644
--- a/extensions/inc/command.hrc
+++ b/extensions/inc/command.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_EXTENSIONS_INC_COMMAND_HRC
 #define INCLUDED_EXTENSIONS_INC_COMMAND_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 namespace {
 
diff --git a/extensions/inc/showhide.hrc b/extensions/inc/showhide.hrc
index 6081f7d5c39a..0f7ec42ad346 100644
--- a/extensions/inc/showhide.hrc
+++ b/extensions/inc/showhide.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_EXTENSIONS_INC_SHOWHIDE_HRC
 #define INCLUDED_EXTENSIONS_INC_SHOWHIDE_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 namespace {
 
diff --git a/extensions/inc/stringarrays.hrc b/extensions/inc/stringarrays.hrc
index 4f05d7475df1..c7053e143bf0 100644
--- a/extensions/inc/stringarrays.hrc
+++ b/extensions/inc/stringarrays.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_EXTENSIONS_INC_STRINGARRAYS_HRC
 #define INCLUDED_EXTENSIONS_INC_STRINGARRAYS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RID_RSC_ENUM_VERTICAL_ALIGN[] =
 {
diff --git a/extensions/inc/strings.hrc b/extensions/inc/strings.hrc
index 436c273ffd40..d4a1318605ca 100644
--- a/extensions/inc/strings.hrc
+++ b/extensions/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_EXTENSIONS_INC_STRINGS_HRC
 #define INCLUDED_EXTENSIONS_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_STR_EDITMASK                        NC_("RID_STR_EDITMASK", "Edit mask")
 #define RID_STR_LITERALMASK                     NC_("RID_STR_LITERALMASK", "Literal mask")
diff --git a/extensions/inc/yesno.hrc b/extensions/inc/yesno.hrc
index 8c6df7b537ae..3992a1e8ab28 100644
--- a/extensions/inc/yesno.hrc
+++ b/extensions/inc/yesno.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_EXTENSIONS_INC_YESNO_HRC
 #define INCLUDED_EXTENSIONS_INC_YESNO_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 namespace {
 
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
index 83a2968eb3fd..b241e8db7c13 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -37,6 +37,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
 	external/icu/icu4c-khmerbreakengine.patch.1 \
 	external/icu/icu4c-61-werror-shadow.patch.1 \
 	external/icu/gcc9.patch \
+	external/icu/char8_t.patch \
 ))
 
 $(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict))
diff --git a/external/icu/char8_t.patch b/external/icu/char8_t.patch
new file mode 100644
index 000000000000..d13b29634bc5
--- /dev/null
+++ b/external/icu/char8_t.patch
@@ -0,0 +1,19 @@
+--- source/common/ucasemap.cpp
++++ source/common/ucasemap.cpp
+@@ -687,13 +687,13 @@
+             if (change) {
+                 ByteSinkUtil::appendTwoBytes(upper, sink);
+                 if ((data & HAS_EITHER_DIALYTIKA) != 0) {
+-                    sink.Append(u8"\u0308", 2);  // restore or add a dialytika
++                    sink.Append(reinterpret_cast<char const *>(u8"\u0308"), 2);  // restore or add a dialytika
+                 }
+                 if (addTonos) {
+-                    sink.Append(u8"\u0301", 2);
++                    sink.Append(reinterpret_cast<char const *>(u8"\u0301"), 2);
+                 }
+                 while (numYpogegrammeni > 0) {
+-                    sink.Append(u8"\u0399", 2);
++                    sink.Append(reinterpret_cast<char const *>(u8"\u0399"), 2);
+                     --numYpogegrammeni;
+                 }
+             }
diff --git a/filter/inc/strings.hrc b/filter/inc/strings.hrc
index 279fee3eedbf..e864eef12142 100644
--- a/filter/inc/strings.hrc
+++ b/filter/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_FILTER_INC_STRINGS_HRC
 #define INCLUDED_FILTER_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_COLUMN_HEADER_NAME                  NC_("STR_COLUMN_HEADER_NAME", "Name")
 #define STR_COLUMN_HEADER_TYPE                  NC_("STR_COLUMN_HEADER_TYPE", "Type")
diff --git a/forms/inc/strings.hrc b/forms/inc/strings.hrc
index 50a5a19504f1..56f8f3d3217b 100644
--- a/forms/inc/strings.hrc
+++ b/forms/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_STRINGS_HRC
 #define INCLUDED_VCL_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_BASELISTBOX_ERROR_FILLLIST              NC_("RID_BASELISTBOX_ERROR_FILLLIST", "The contents of a combo box or list field could not be determined.")
 #define RID_STR_IMPORT_GRAPHIC                      NC_("RID_STR_IMPORT_GRAPHIC", "Insert Image" )
diff --git a/formula/inc/core_resource.hrc b/formula/inc/core_resource.hrc
index 4cc928fd9a6a..9d97fd771d9e 100644
--- a/formula/inc/core_resource.hrc
+++ b/formula/inc/core_resource.hrc
@@ -23,7 +23,7 @@
 #include <formula/compiler.hxx>
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 /** These English names are used to store/load ODFF as of ODF v1.2. */
 // NAMES CAN ONLY BE CHANGED WHEN PROVIDING BACKWARD AND FORWARD COMPATIBILITY
diff --git a/formula/inc/strings.hrc b/formula/inc/strings.hrc
index 1d654c08e7da..154daca73ea1 100644
--- a/formula/inc/strings.hrc
+++ b/formula/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_STRINGS_HRC
 #define INCLUDED_VCL_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_OPTIONAL        NC_("STR_OPTIONAL", "(optional)")
 #define STR_REQUIRED        NC_("STR_REQUIRED", "(required)")
diff --git a/fpicker/inc/strings.hrc b/fpicker/inc/strings.hrc
index 0dc082212e02..05acac0935fc 100644
--- a/fpicker/inc/strings.hrc
+++ b/fpicker/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_STRINGS_HRC
 #define INCLUDED_VCL_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_EXPLORERFILE_OPEN                       NC_("STR_EXPLORERFILE_OPEN", "Open")
 #define STR_EXPLORERFILE_SAVE                       NC_("STR_EXPLORERFILE_SAVE", "Save as")
diff --git a/framework/inc/strings.hrc b/framework/inc/strings.hrc
index 5a1cdea24093..ef3ad73c1956 100644
--- a/framework/inc/strings.hrc
+++ b/framework/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_FRAMEWORK_INC_STRINGS_HRC
 #define INCLUDED_FRAMEWORK_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_MENU_HEADFOOTALL                        NC_("STR_MENU_HEADFOOTALL", "All" )
 #define STR_UPDATEDOC                               NC_("STR_UPDATEDOC", "~Update" )
diff --git a/include/editeng/editrids.hrc b/include/editeng/editrids.hrc
index c073b290d037..5a75b4ff8c85 100644
--- a/include/editeng/editrids.hrc
+++ b/include/editeng/editrids.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_INCLUDE_EDITENG_EDITRIDS_HRC
 #define INCLUDED_INCLUDE_EDITENG_EDITRIDS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 // enum SvxBreak ------------------------------------------------------------
 #define RID_SVXITEMS_BREAK_NONE                 NC_("RID_SVXITEMS_BREAK_NONE", "No break")
diff --git a/include/fpicker/strings.hrc b/include/fpicker/strings.hrc
index 3452509ab6b2..d86a5c569e7b 100644
--- a/include/fpicker/strings.hrc
+++ b/include/fpicker/strings.hrc
@@ -9,7 +9,7 @@
 #ifndef INCLUDED_FPICKER_FPICKER_HRC
 #define INCLUDED_FPICKER_FPICKER_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_SVT_FILEPICKER_AUTO_EXTENSION           NC_("STR_SVT_FILEPICKER_AUTO_EXTENSION", "~Automatic file name extension")
 #define STR_SVT_FILEPICKER_PASSWORD                 NC_("STR_SVT_FILEPICKER_PASSWORD", "Save with pass~word")
diff --git a/include/rtl/string.hxx b/include/rtl/string.hxx
index f19d8713eaae..812ceb71cd9e 100644
--- a/include/rtl/string.hxx
+++ b/include/rtl/string.hxx
@@ -1804,6 +1804,10 @@ struct SAL_WARN_UNUSED OStringLiteral
 {
     template< int N >
     explicit OStringLiteral( const char (&str)[ N ] ) : size( N - 1 ), data( str ) { assert( strlen( str ) == N - 1 ); }
+#if defined __cpp_char8_t
+    template< int N >
+    explicit OStringLiteral( const char8_t (&str)[ N ] ) : size( N - 1 ), data( reinterpret_cast<char const *>(str) ) { assert( strlen( data ) == N - 1 ); }
+#endif
     int size;
     const char* data;
 };
diff --git a/include/rtl/stringutils.hxx b/include/rtl/stringutils.hxx
index e9aacbc3becb..f7cd0ad1a47d 100644
--- a/include/rtl/stringutils.hxx
+++ b/include/rtl/stringutils.hxx
@@ -207,6 +207,28 @@ struct ConstCharArrayDetector< const char[ 1 ], T >
 };
 #endif
 
+#if defined LIBO_INTERNAL_ONLY && defined __cpp_char8_t
+template<std::size_t N, typename T>
+struct ConstCharArrayDetector<char8_t const [N], T> {
+    using Type = T;
+    static constexpr bool const ok = true;
+    static constexpr std::size_t const length = N - 1;
+#if HAVE_CXX14_CONSTEXPR
+    constexpr
+#endif
+    static bool isValid(char8_t const (& literal)[N]) {
+        for (std::size_t i = 0; i != N - 1; ++i) {
+            if (literal[i] == u8'\0') {
+                return false;
+            }
+        }
+        return literal[N - 1] == u8'\0';
+    }
+    static constexpr char const * toPointer(char8_t const (& literal)[N])
+    { return reinterpret_cast<char const *>(literal); }
+};
+#endif
+
 #if defined LIBO_INTERNAL_ONLY
 template<std::size_t N, typename T>
 struct ConstCharArrayDetector<sal_Unicode const [N], T> {
diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc
index 322f5b23667f..6eee0347c0b7 100644
--- a/include/sfx2/strings.hrc
+++ b/include/sfx2/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SFX2_INC_STRINGS_HRC
 #define INCLUDED_SFX2_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_TEMPLATE_FILTER                     NC_("STR_TEMPLATE_FILTER", "Templates")
 #define STR_SAVEDOC                             NC_("STR_SAVEDOC", "~Save")
diff --git a/include/svl/svl.hrc b/include/svl/svl.hrc
index d9869d05aeb1..cd60edf6c346 100644
--- a/include/svl/svl.hrc
+++ b/include/svl/svl.hrc
@@ -19,7 +19,7 @@
 #ifndef INCLUDED_SVL_SVL_HRC
 #define INCLUDED_SVL_SVL_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 //  Internet Media Type Presentations
 
diff --git a/include/svtools/strings.hrc b/include/svtools/strings.hrc
index 3325069ddfee..84987002c7fb 100644
--- a/include/svtools/strings.hrc
+++ b/include/svtools/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SVTOOLS_INC_STRINGS_HRC
 #define INCLUDED_SVTOOLS_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_UNDO                                NC_("STR_UNDO", "Undo: ")
 #define STR_REDO                                NC_("STR_REDO", "Re~do: ")
diff --git a/include/svx/strings.hrc b/include/svx/strings.hrc
index b93953e046e7..2d722447bdc4 100644
--- a/include/svx/strings.hrc
+++ b/include/svx/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SVX_INC_STRINGS_HRC
 #define INCLUDED_SVX_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_ObjNameSingulNONE                               NC_("STR_ObjNameSingulNONE", "Drawing object")
 #define STR_ObjNamePluralNONE                               NC_("STR_ObjNamePluralNONE", "Drawing objects")
diff --git a/include/svx/svxitems.hrc b/include/svx/svxitems.hrc
index 1d11ec7acdf9..052c7fbd285c 100644
--- a/include/svx/svxitems.hrc
+++ b/include/svx/svxitems.hrc
@@ -26,7 +26,7 @@
 #include <editeng/editids.hrc>
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, sal_uInt16> RID_ATTR_NAMES[] =
 {
diff --git a/reportdesign/inc/stringarray.hrc b/reportdesign/inc/stringarray.hrc
index 6c91b21102b4..b49f401d0f54 100644
--- a/reportdesign/inc/stringarray.hrc
+++ b/reportdesign/inc/stringarray.hrc
@@ -10,7 +10,7 @@
 #ifndef INCLUDED_REPORTDESIGN_INC_FNP_HRC
 #define INCLUDED_REPORTDESIGN_INC_FNP_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RID_STR_FORCENEWPAGE_CONST[] =
 {
diff --git a/reportdesign/inc/strings.hrc b/reportdesign/inc/strings.hrc
index 1766d3f6b209..bcabc42faa08 100644
--- a/reportdesign/inc/strings.hrc
+++ b/reportdesign/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_REPORTDESIGN_INC_STRINGS_HRC
 #define INCLUDED_REPORTDESIGN_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_STR_PROPPAGE_DEFAULT                NC_("RID_STR_PROPPAGE_DEFAULT", "General")
 #define RID_STR_PROPPAGE_DATA                   NC_("RID_STR_PROPPAGE_DATA", "Data")
diff --git a/sal/qa/rtl/textenc/rtl_textcvt.cxx b/sal/qa/rtl/textenc/rtl_textcvt.cxx
index 2fed8e82ecb1..339075decba3 100644
--- a/sal/qa/rtl/textenc/rtl_textcvt.cxx
+++ b/sal/qa/rtl/textenc/rtl_textcvt.cxx
@@ -2918,11 +2918,12 @@ void Test::testInvalidUtf8() {
         auto const converter = rtl_createTextToUnicodeConverter(
             RTL_TEXTENCODING_JAVA_UTF8);
         CPPUNIT_ASSERT(converter != nullptr);
+        OStringLiteral const input(u8"\U00010000");
         sal_Unicode buf[TEST_STRING_SIZE];
         sal_uInt32 info;
         sal_Size converted;
         auto const size = rtl_convertTextToUnicode(
-            converter, nullptr, RTL_CONSTASCII_STRINGPARAM(u8"\U00010000"), buf,
+            converter, nullptr, input.data, input.size, buf,
             TEST_STRING_SIZE,
             (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
              | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
diff --git a/sc/inc/compiler.hrc b/sc/inc/compiler.hrc
index 1df61083bbf9..a97948f55b59 100644
--- a/sc/inc/compiler.hrc
+++ b/sc/inc/compiler.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SC_INC_COMPILER_HRC
 #define INCLUDED_SC_INC_COMPILER_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RID_FUNCTION_CATEGORIES[] =
 {
diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc
index 849db2c574d0..aba2cceea750 100644
--- a/sc/inc/globstr.hrc
+++ b/sc/inc/globstr.hrc
@@ -20,8 +20,8 @@
 #ifndef SC_GLOBSTR_HRC
 #define SC_GLOBSTR_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
-#define NNC_(Context, StringSingular, StringPlural) (Context "\004" u8##StringSingular "\004" u8##StringPlural)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
+#define NNC_(Context, StringSingular, StringPlural) reinterpret_cast<char const *>(Context "\004" u8##StringSingular "\004" u8##StringPlural)
 
 /*
  * This file is reserved for string IDs of permanently loaded resident string
diff --git a/sc/inc/pvfundlg.hrc b/sc/inc/pvfundlg.hrc
index 5759cb3656fb..e4aa89264892 100644
--- a/sc/inc/pvfundlg.hrc
+++ b/sc/inc/pvfundlg.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SC_INC_PVFUNDLG_HRC
 #define INCLUDED_SC_INC_PVFUNDLG_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* SCSTR_DPFUNCLISTBOX[] =
 {
diff --git a/sc/inc/scerrors.hrc b/sc/inc/scerrors.hrc
index 3672a27b1a70..d7095c3be6a2 100644
--- a/sc/inc/scerrors.hrc
+++ b/sc/inc/scerrors.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SC_INC_SCERRORS_HRC
 #define INCLUDED_SC_INC_SCERRORS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #include "scerrors.hxx"
 
diff --git a/sc/inc/scfuncs.hrc b/sc/inc/scfuncs.hrc
index 90a07857b33b..e09a12f4e4c7 100644
--- a/sc/inc/scfuncs.hrc
+++ b/sc/inc/scfuncs.hrc
@@ -19,7 +19,7 @@
 #ifndef INCLUDED_SC_INC_SCFUNCS_HRC
 #define INCLUDED_SC_INC_SCFUNCS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 /* Resource file for the function wizard / autopilot.
  *
diff --git a/sc/inc/scstyles.hrc b/sc/inc/scstyles.hrc
index fcc78b9258de..ab47ff33ed9a 100644
--- a/sc/inc/scstyles.hrc
+++ b/sc/inc/scstyles.hrc
@@ -22,7 +22,7 @@
 
 #include <svl/style.hxx>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, SfxStyleSearchBits> RID_CELLSTYLEFAMILY[] =
 {
diff --git a/sc/inc/strings.hrc b/sc/inc/strings.hrc
index faaf973452a3..eac103571466 100644
--- a/sc/inc/strings.hrc
+++ b/sc/inc/strings.hrc
@@ -20,8 +20,8 @@
 #ifndef INCLUDED_SC_INC_STRINGS_HRC
 #define INCLUDED_SC_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
-#define NNC_(Context, StringSingular, StringPlural) (Context "\004" u8##StringSingular "\004" u8##StringPlural)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
+#define NNC_(Context, StringSingular, StringPlural) reinterpret_cast<char const *>(Context "\004" u8##StringSingular "\004" u8##StringPlural)
 
 // Strings for interface names -------------------------------------------
 
diff --git a/sc/inc/units.hrc b/sc/inc/units.hrc
index db6417ac7f40..1ce44ba00197 100644
--- a/sc/inc/units.hrc
+++ b/sc/inc/units.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SC_INC_UNITS_HRC
 #define INCLUDED_SC_INC_UNITS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, FieldUnit> SCSTR_UNIT[] =
 {
diff --git a/scaddins/inc/analysis.hrc b/scaddins/inc/analysis.hrc
index 07878a7954f9..99a22d52de90 100644
--- a/scaddins/inc/analysis.hrc
+++ b/scaddins/inc/analysis.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SCADDINS_INC_ANALYSIS_HRC
 #define INCLUDED_SCADDINS_INC_ANALYSIS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* ANALYSIS_Workday[] =
 {
diff --git a/scaddins/inc/datefunc.hrc b/scaddins/inc/datefunc.hrc
index f5401fb299df..89a6d395d150 100644
--- a/scaddins/inc/datefunc.hrc
+++ b/scaddins/inc/datefunc.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SCADDINS_INC_PRICING_HRC
 #define INCLUDED_SCADDINS_INC_PRICING_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* DATE_FUNCDESC_DiffWeeks[] =
 {
diff --git a/scaddins/inc/pricing.hrc b/scaddins/inc/pricing.hrc
index c54a387a86fc..0a13edb59a4e 100644
--- a/scaddins/inc/pricing.hrc
+++ b/scaddins/inc/pricing.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SCADDINS_INC_PRICING_HRC
 #define INCLUDED_SCADDINS_INC_PRICING_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 // function and parameter description
 const char* PRICING_FUNCDESC_OptBarrier[] =
diff --git a/scaddins/inc/strings.hrc b/scaddins/inc/strings.hrc
index b7ab057e4f8e..def666d4344d 100644
--- a/scaddins/inc/strings.hrc
+++ b/scaddins/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SCADDINS_INC_STRINGS_HRC
 #define INCLUDED_SCADDINS_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 // function names as accessible from cells
 #define PRICING_FUNCNAME_OptBarrier                     NC_("PRICING_FUNCNAME_OptBarrier", "OPT_BARRIER")
diff --git a/scaddins/source/analysis/deffuncname.hxx b/scaddins/source/analysis/deffuncname.hxx
index a29109aa7379..ee193e21ef9e 100644
--- a/scaddins/source/analysis/deffuncname.hxx
+++ b/scaddins/source/analysis/deffuncname.hxx
@@ -22,608 +22,608 @@
 
 static const char* ANALYSIS_DEFFUNCNAME_Workday[2] =
 {
-    u8"ARBEITSTAG",
-    u8"WORKDAY"
+    reinterpret_cast<char const *>(u8"ARBEITSTAG"),
+    reinterpret_cast<char const *>(u8"WORKDAY")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Yearfrac[2] =
 {
-    u8"BRTEILJAHRE",
-    u8"YEARFRAC"
+    reinterpret_cast<char const *>(u8"BRTEILJAHRE"),
+    reinterpret_cast<char const *>(u8"YEARFRAC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Edate[2] =
 {
-    u8"EDATUM",
-    u8"EDATE"
+    reinterpret_cast<char const *>(u8"EDATUM"),
+    reinterpret_cast<char const *>(u8"EDATE")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Weeknum[2] =
 {
-    u8"KALENDERWOCHE",
-    u8"WEEKNUM"
+    reinterpret_cast<char const *>(u8"KALENDERWOCHE"),
+    reinterpret_cast<char const *>(u8"WEEKNUM")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Eomonth[2] =
 {
-    u8"MONATSENDE",
-    u8"EOMONTH"
+    reinterpret_cast<char const *>(u8"MONATSENDE"),
+    reinterpret_cast<char const *>(u8"EOMONTH")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Networkdays[2] =
 {
-    u8"NETTOARBEITSTAGE",
-    u8"NETWORKDAYS"
+    reinterpret_cast<char const *>(u8"NETTOARBEITSTAGE"),
+    reinterpret_cast<char const *>(u8"NETWORKDAYS")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Amordegrc[2] =
 {
-    u8"AMORDEGRK",
-    u8"AMORDEGRC"
+    reinterpret_cast<char const *>(u8"AMORDEGRK"),
+    reinterpret_cast<char const *>(u8"AMORDEGRC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Amorlinc[2] =
 {
-    u8"AMORLINEARK",
-    u8"AMORLINC"
+    reinterpret_cast<char const *>(u8"AMORLINEARK"),
+    reinterpret_cast<char const *>(u8"AMORLINC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Accrint[2] =
 {
-    u8"AUFGELZINS",
-    u8"ACCRINT"
+    reinterpret_cast<char const *>(u8"AUFGELZINS"),
+    reinterpret_cast<char const *>(u8"ACCRINT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Accrintm[2] =
 {
-    u8"AUFGELZINSF",
-    u8"ACCRINTM"
+    reinterpret_cast<char const *>(u8"AUFGELZINSF"),
+    reinterpret_cast<char const *>(u8"ACCRINTM")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Received[2] =
 {
-    u8"AUSZAHLUNG",
-    u8"RECEIVED"
+    reinterpret_cast<char const *>(u8"AUSZAHLUNG"),
+    reinterpret_cast<char const *>(u8"RECEIVED")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Disc[2] =
 {
-    u8"DISAGIO",
-    u8"DISC"
+    reinterpret_cast<char const *>(u8"DISAGIO"),
+    reinterpret_cast<char const *>(u8"DISC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Duration[2] =
 {
-    u8"DURATION",
-    u8"DURATION"
+    reinterpret_cast<char const *>(u8"DURATION"),
+    reinterpret_cast<char const *>(u8"DURATION")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Effect[2] =
 {
-    u8"EFFEKTIV",
-    u8"EFFECT"
+    reinterpret_cast<char const *>(u8"EFFEKTIV"),
+    reinterpret_cast<char const *>(u8"EFFECT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Cumprinc[2] =
 {
-    u8"KUMKAPITAL",
-    u8"CUMPRINC"
+    reinterpret_cast<char const *>(u8"KUMKAPITAL"),
+    reinterpret_cast<char const *>(u8"CUMPRINC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Cumipmt[2] =
 {
-    u8"KUMZINSZ",
-    u8"CUMIPMT"
+    reinterpret_cast<char const *>(u8"KUMZINSZ"),
+    reinterpret_cast<char const *>(u8"CUMIPMT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Price[2] =
 {
-    u8"KURS",
-    u8"PRICE"
+    reinterpret_cast<char const *>(u8"KURS"),
+    reinterpret_cast<char const *>(u8"PRICE")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Pricedisc[2] =
 {
-    u8"KURSDISAGIO",
-    u8"PRICEDISC"
+    reinterpret_cast<char const *>(u8"KURSDISAGIO"),
+    reinterpret_cast<char const *>(u8"PRICEDISC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Pricemat[2] =
 {
-    u8"KURSFÄLLIG",
-    u8"PRICEMAT"
+    reinterpret_cast<char const *>(u8"KURSFÄLLIG"),
+    reinterpret_cast<char const *>(u8"PRICEMAT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Mduration[2] =
 {
-    u8"MDURATION",
-    u8"MDURATION"
+    reinterpret_cast<char const *>(u8"MDURATION"),
+    reinterpret_cast<char const *>(u8"MDURATION")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Nominal[2] =
 {
-    u8"NOMINAL",
-    u8"NOMINAL"
+    reinterpret_cast<char const *>(u8"NOMINAL"),
+    reinterpret_cast<char const *>(u8"NOMINAL")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Dollarfr[2] =
 {
-    u8"NOTIERUNGBRU",
-    u8"DOLLARFR"
+    reinterpret_cast<char const *>(u8"NOTIERUNGBRU"),
+    reinterpret_cast<char const *>(u8"DOLLARFR")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Dollarde[2] =
 {
-    u8"NOTIERUNGDEZ",
-    u8"DOLLARDE"
+    reinterpret_cast<char const *>(u8"NOTIERUNGDEZ"),
+    reinterpret_cast<char const *>(u8"DOLLARDE")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Yield[2] =
 {
-    u8"RENDITE",
-    u8"YIELD"
+    reinterpret_cast<char const *>(u8"RENDITE"),
+    reinterpret_cast<char const *>(u8"YIELD")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Yielddisc[2] =
 {
-    u8"RENDITEDIS",
-    u8"YIELDDISC"
+    reinterpret_cast<char const *>(u8"RENDITEDIS"),
+    reinterpret_cast<char const *>(u8"YIELDDISC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Yieldmat[2] =
 {
-    u8"RENDITEFÄLL",
-    u8"YIELDMAT"
+    reinterpret_cast<char const *>(u8"RENDITEFÄLL"),
+    reinterpret_cast<char const *>(u8"YIELDMAT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Tbilleq[2] =
 {
-    u8"TBILLÄQUIV",
-    u8"TBILLEQ"
+    reinterpret_cast<char const *>(u8"TBILLÄQUIV"),
+    reinterpret_cast<char const *>(u8"TBILLEQ")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Tbillprice[2] =
 {
-    u8"TBILLKURS",
-    u8"TBILLPRICE"
+    reinterpret_cast<char const *>(u8"TBILLKURS"),
+    reinterpret_cast<char const *>(u8"TBILLPRICE")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Tbillyield[2] =
 {
-    u8"TBILLRENDITE",
-    u8"TBILLYIELD"
+    reinterpret_cast<char const *>(u8"TBILLRENDITE"),
+    reinterpret_cast<char const *>(u8"TBILLYIELD")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Oddfprice[2] =
 {
-    u8"UNREGER.KURS",
-    u8"ODDFPRICE"
+    reinterpret_cast<char const *>(u8"UNREGER.KURS"),
+    reinterpret_cast<char const *>(u8"ODDFPRICE")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Oddfyield[2] =
 {
-    u8"UNREGER.REND",
-    u8"ODDFYIELD"
+    reinterpret_cast<char const *>(u8"UNREGER.REND"),
+    reinterpret_cast<char const *>(u8"ODDFYIELD")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Oddlprice[2] =
 {
-    u8"UNREGLE.KURS",
-    u8"ODDLPRICE"
+    reinterpret_cast<char const *>(u8"UNREGLE.KURS"),
+    reinterpret_cast<char const *>(u8"ODDLPRICE")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Oddlyield[2] =
 {
-    u8"UNREGLE.REND",
-    u8"ODDLYIELD"
+    reinterpret_cast<char const *>(u8"UNREGLE.REND"),
+    reinterpret_cast<char const *>(u8"ODDLYIELD")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Xirr[2] =
 {
-    u8"XINTZINSFUSS",
-    u8"XIRR"
+    reinterpret_cast<char const *>(u8"XINTZINSFUSS"),
+    reinterpret_cast<char const *>(u8"XIRR")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Xnpv[2] =
 {
-    u8"XKAPITALWERT",
-    u8"XNPV"
+    reinterpret_cast<char const *>(u8"XKAPITALWERT"),
+    reinterpret_cast<char const *>(u8"XNPV")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Intrate[2] =
 {
-    u8"ZINSSATZ",
-    u8"INTRATE"
+    reinterpret_cast<char const *>(u8"ZINSSATZ"),
+    reinterpret_cast<char const *>(u8"INTRATE")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Coupncd[2] =
 {
-    u8"ZINSTERMNZ",
-    u8"COUPNCD"
+    reinterpret_cast<char const *>(u8"ZINSTERMNZ"),
+    reinterpret_cast<char const *>(u8"COUPNCD")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Coupdays[2] =
 {
-    u8"ZINSTERMTAGE",
-    u8"COUPDAYS"
+    reinterpret_cast<char const *>(u8"ZINSTERMTAGE"),
+    reinterpret_cast<char const *>(u8"COUPDAYS")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Coupdaysnc[2] =
 {
-    u8"ZINSTERMTAGNZ",
-    u8"COUPDAYSNC"
+    reinterpret_cast<char const *>(u8"ZINSTERMTAGNZ"),
+    reinterpret_cast<char const *>(u8"COUPDAYSNC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Coupdaybs[2] =
 {
-    u8"ZINSTERMTAGVA",
-    u8"COUPDAYBS"
+    reinterpret_cast<char const *>(u8"ZINSTERMTAGVA"),
+    reinterpret_cast<char const *>(u8"COUPDAYBS")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Couppcd[2] =
 {
-    u8"ZINSTERMVZ",
-    u8"COUPPCD"
+    reinterpret_cast<char const *>(u8"ZINSTERMVZ"),
+    reinterpret_cast<char const *>(u8"COUPPCD")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Coupnum[2] =
 {
-    u8"ZINSTERMZAHL",
-    u8"COUPNUM"
+    reinterpret_cast<char const *>(u8"ZINSTERMZAHL"),
+    reinterpret_cast<char const *>(u8"COUPNUM")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Fvschedule[2] =
 {
-    u8"ZW2",
-    u8"FVSCHEDULE"
+    reinterpret_cast<char const *>(u8"ZW2"),
+    reinterpret_cast<char const *>(u8"FVSCHEDULE")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Iseven[2] =
 {
-    u8"ISTGERADE",
-    u8"ISEVEN"
+    reinterpret_cast<char const *>(u8"ISTGERADE"),
+    reinterpret_cast<char const *>(u8"ISEVEN")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Isodd[2] =
 {
-    u8"ISTUNGERADE",
-    u8"ISODD"
+    reinterpret_cast<char const *>(u8"ISTUNGERADE"),
+    reinterpret_cast<char const *>(u8"ISODD")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Gcd[2] =
 {
-    u8"GGT",
-    u8"GCD"
+    reinterpret_cast<char const *>(u8"GGT"),
+    reinterpret_cast<char const *>(u8"GCD")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Lcm[2] =
 {
-    u8"KGV",
-    u8"LCM"
+    reinterpret_cast<char const *>(u8"KGV"),
+    reinterpret_cast<char const *>(u8"LCM")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Multinomial[2] =
 {
-    u8"POLYNOMIAL",
-    u8"MULTINOMIAL"
+    reinterpret_cast<char const *>(u8"POLYNOMIAL"),
+    reinterpret_cast<char const *>(u8"MULTINOMIAL")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Seriessum[2] =
 {
-    u8"POTENZREIHE",
-    u8"SERIESSUM"
+    reinterpret_cast<char const *>(u8"POTENZREIHE"),
+    reinterpret_cast<char const *>(u8"SERIESSUM")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Quotient[2] =
 {
-    u8"QUOTIENT",
-    u8"QUOTIENT"
+    reinterpret_cast<char const *>(u8"QUOTIENT"),
+    reinterpret_cast<char const *>(u8"QUOTIENT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Mround[2] =
 {
-    u8"VRUNDEN",
-    u8"MROUND"
+    reinterpret_cast<char const *>(u8"VRUNDEN"),
+    reinterpret_cast<char const *>(u8"MROUND")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Sqrtpi[2] =
 {
-    u8"WURZELPI",
-    u8"SQRTPI"
+    reinterpret_cast<char const *>(u8"WURZELPI"),
+    reinterpret_cast<char const *>(u8"SQRTPI")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Randbetween[2] =
 {
-    u8"ZUFALLSBEREICH",
-    u8"RANDBETWEEN"
+    reinterpret_cast<char const *>(u8"ZUFALLSBEREICH"),
+    reinterpret_cast<char const *>(u8"RANDBETWEEN")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Besseli[2] =
 {
-    u8"BESSELI",
-    u8"BESSELI"
+    reinterpret_cast<char const *>(u8"BESSELI"),
+    reinterpret_cast<char const *>(u8"BESSELI")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Besselj[2] =
 {
-    u8"BESSELJ",
-    u8"BESSELJ"
+    reinterpret_cast<char const *>(u8"BESSELJ"),
+    reinterpret_cast<char const *>(u8"BESSELJ")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Besselk[2] =
 {
-    u8"BESSELK",
-    u8"BESSELK"
+    reinterpret_cast<char const *>(u8"BESSELK"),
+    reinterpret_cast<char const *>(u8"BESSELK")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Bessely[2] =
 {
-    u8"BESSELY",
-    u8"BESSELY"
+    reinterpret_cast<char const *>(u8"BESSELY"),
+    reinterpret_cast<char const *>(u8"BESSELY")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Bin2Dec[2] =
 {
-    u8"BININDEZ",
-    u8"BIN2DEC"
+    reinterpret_cast<char const *>(u8"BININDEZ"),
+    reinterpret_cast<char const *>(u8"BIN2DEC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Bin2Hex[2] =
 {
-    u8"BININHEX",
-    u8"BIN2HEX"
+    reinterpret_cast<char const *>(u8"BININHEX"),
+    reinterpret_cast<char const *>(u8"BIN2HEX")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Bin2Oct[2] =
 {
-    u8"BININOKT",
-    u8"BIN2OCT"
+    reinterpret_cast<char const *>(u8"BININOKT"),
+    reinterpret_cast<char const *>(u8"BIN2OCT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Delta[2] =
 {
-    u8"DELTA",
-    u8"DELTA"
+    reinterpret_cast<char const *>(u8"DELTA"),
+    reinterpret_cast<char const *>(u8"DELTA")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Dec2Bin[2] =
 {
-    u8"DEZINBIN",
-    u8"DEC2BIN"
+    reinterpret_cast<char const *>(u8"DEZINBIN"),
+    reinterpret_cast<char const *>(u8"DEC2BIN")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Dec2Hex[2] =
 {
-    u8"DEZINHEX",
-    u8"DEC2HEX"
+    reinterpret_cast<char const *>(u8"DEZINHEX"),
+    reinterpret_cast<char const *>(u8"DEC2HEX")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Dec2Oct[2] =
 {
-    u8"DEZINOKT",
-    u8"DEC2OCT"
+    reinterpret_cast<char const *>(u8"DEZINOKT"),
+    reinterpret_cast<char const *>(u8"DEC2OCT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Erf[2] =
 {
-    u8"GAUSSFEHLER",
-    u8"ERF"
+    reinterpret_cast<char const *>(u8"GAUSSFEHLER"),
+    reinterpret_cast<char const *>(u8"ERF")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Erfc[2] =
 {
-    u8"GAUSSFKOMPL",
-    u8"ERFC"
+    reinterpret_cast<char const *>(u8"GAUSSFKOMPL"),
+    reinterpret_cast<char const *>(u8"ERFC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Gestep[2] =
 {
-    u8"GGANZZAHL",
-    u8"GESTEP"
+    reinterpret_cast<char const *>(u8"GGANZZAHL"),
+    reinterpret_cast<char const *>(u8"GESTEP")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Hex2Bin[2] =
 {
-    u8"HEXINBIN",
-    u8"HEX2BIN"
+    reinterpret_cast<char const *>(u8"HEXINBIN"),
+    reinterpret_cast<char const *>(u8"HEX2BIN")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Hex2Dec[2] =
 {
-    u8"HEXINDEZ",
-    u8"HEX2DEC"
+    reinterpret_cast<char const *>(u8"HEXINDEZ"),
+    reinterpret_cast<char const *>(u8"HEX2DEC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Hex2Oct[2] =
 {
-    u8"HEXINOKT",
-    u8"HEX2OCT"
+    reinterpret_cast<char const *>(u8"HEXINOKT"),
+    reinterpret_cast<char const *>(u8"HEX2OCT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imabs[2] =
 {
-    u8"IMABS",
-    u8"IMABS"
+    reinterpret_cast<char const *>(u8"IMABS"),
+    reinterpret_cast<char const *>(u8"IMABS")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imaginary[2] =
 {
-    u8"IMAGINÄRTEIL",
-    u8"IMAGINARY"
+    reinterpret_cast<char const *>(u8"IMAGINÄRTEIL"),
+    reinterpret_cast<char const *>(u8"IMAGINARY")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Impower[2] =
 {
-    u8"IMAPOTENZ",
-    u8"IMPOWER"
+    reinterpret_cast<char const *>(u8"IMAPOTENZ"),
+    reinterpret_cast<char const *>(u8"IMPOWER")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imargument[2] =
 {
-    u8"IMARGUMENT",
-    u8"IMARGUMENT"
+    reinterpret_cast<char const *>(u8"IMARGUMENT"),
+    reinterpret_cast<char const *>(u8"IMARGUMENT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imcos[2] =
 {
-    u8"IMCOS",
-    u8"IMCOS"
+    reinterpret_cast<char const *>(u8"IMCOS"),
+    reinterpret_cast<char const *>(u8"IMCOS")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imdiv[2] =
 {
-    u8"IMDIV",
-    u8"IMDIV"
+    reinterpret_cast<char const *>(u8"IMDIV"),
+    reinterpret_cast<char const *>(u8"IMDIV")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imexp[2] =
 {
-    u8"IMEXP",
-    u8"IMEXP"
+    reinterpret_cast<char const *>(u8"IMEXP"),
+    reinterpret_cast<char const *>(u8"IMEXP")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imconjugate[2] =
 {
-    u8"IMKONJUGIERTE",
-    u8"IMCONJUGATE"
+    reinterpret_cast<char const *>(u8"IMKONJUGIERTE"),
+    reinterpret_cast<char const *>(u8"IMCONJUGATE")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imln[2] =
 {
-    u8"IMLN",
-    u8"IMLN"
+    reinterpret_cast<char const *>(u8"IMLN"),
+    reinterpret_cast<char const *>(u8"IMLN")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imlog10[2] =
 {
-    u8"IMLOG10",
-    u8"IMLOG10"
+    reinterpret_cast<char const *>(u8"IMLOG10"),
+    reinterpret_cast<char const *>(u8"IMLOG10")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imlog2[2] =
 {
-    u8"IMLOG2",
-    u8"IMLOG2"
+    reinterpret_cast<char const *>(u8"IMLOG2"),
+    reinterpret_cast<char const *>(u8"IMLOG2")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Improduct[2] =
 {
-    u8"IMPRODUKT",
-    u8"IMPRODUCT"
+    reinterpret_cast<char const *>(u8"IMPRODUKT"),
+    reinterpret_cast<char const *>(u8"IMPRODUCT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imreal[2] =
 {
-    u8"IMREALTEIL",
-    u8"IMREAL"
+    reinterpret_cast<char const *>(u8"IMREALTEIL"),
+    reinterpret_cast<char const *>(u8"IMREAL")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imsin[2] =
 {
-    u8"IMSIN",
-    u8"IMSIN"
+    reinterpret_cast<char const *>(u8"IMSIN"),
+    reinterpret_cast<char const *>(u8"IMSIN")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imsub[2] =
 {
-    u8"IMSUB",
-    u8"IMSUB"
+    reinterpret_cast<char const *>(u8"IMSUB"),
+    reinterpret_cast<char const *>(u8"IMSUB")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imsum[2] =
 {
-    u8"IMSUMME",
-    u8"IMSUM"
+    reinterpret_cast<char const *>(u8"IMSUMME"),
+    reinterpret_cast<char const *>(u8"IMSUM")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imsqrt[2] =
 {
-    u8"IMWURZEL",
-    u8"IMSQRT"
+    reinterpret_cast<char const *>(u8"IMWURZEL"),
+    reinterpret_cast<char const *>(u8"IMSQRT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imtan[2] =
 {
-    u8"IMTAN",
-    u8"IMTAN"
+    reinterpret_cast<char const *>(u8"IMTAN"),
+    reinterpret_cast<char const *>(u8"IMTAN")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imsec[2] =
 {
-    u8"IMSEC",
-    u8"IMSEC"
+    reinterpret_cast<char const *>(u8"IMSEC"),
+    reinterpret_cast<char const *>(u8"IMSEC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imcsc[2] =
 {
-    u8"IMCSC",
-    u8"IMCSC"
+    reinterpret_cast<char const *>(u8"IMCSC"),
+    reinterpret_cast<char const *>(u8"IMCSC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imcot[2] =
 {
-    u8"IMCOT",
-    u8"IMCOT"
+    reinterpret_cast<char const *>(u8"IMCOT"),
+    reinterpret_cast<char const *>(u8"IMCOT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imsinh[2] =
 {
-    u8"IMSINH",
-    u8"IMSINH"
+    reinterpret_cast<char const *>(u8"IMSINH"),
+    reinterpret_cast<char const *>(u8"IMSINH")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imcosh[2] =
 {
-    u8"IMCOSH",
-    u8"IMCOSH"
+    reinterpret_cast<char const *>(u8"IMCOSH"),
+    reinterpret_cast<char const *>(u8"IMCOSH")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imsech[2] =
 {
-    u8"IMSECH",
-    u8"IMSECH"
+    reinterpret_cast<char const *>(u8"IMSECH"),
+    reinterpret_cast<char const *>(u8"IMSECH")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Imcsch[2] =
 {
-    u8"IMCSCH",
-    u8"IMCSCH"
+    reinterpret_cast<char const *>(u8"IMCSCH"),
+    reinterpret_cast<char const *>(u8"IMCSCH")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Complex[2] =
 {
-    u8"KOMPLEXE",
-    u8"COMPLEX"
+    reinterpret_cast<char const *>(u8"KOMPLEXE"),
+    reinterpret_cast<char const *>(u8"COMPLEX")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Oct2Bin[2] =
 {
-    u8"OKTINBIN",
-    u8"OCT2BIN"
+    reinterpret_cast<char const *>(u8"OKTINBIN"),
+    reinterpret_cast<char const *>(u8"OCT2BIN")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Oct2Dec[2] =
 {
-    u8"OKTINDEZ",
-    u8"OCT2DEC"
+    reinterpret_cast<char const *>(u8"OKTINDEZ"),
+    reinterpret_cast<char const *>(u8"OCT2DEC")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Oct2Hex[2] =
 {
-    u8"OKTINHEX",
-    u8"OCT2HEX"
+    reinterpret_cast<char const *>(u8"OKTINHEX"),
+    reinterpret_cast<char const *>(u8"OCT2HEX")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Convert[2] =
 {
-    u8"UMWANDELN",
-    u8"CONVERT"
+    reinterpret_cast<char const *>(u8"UMWANDELN"),
+    reinterpret_cast<char const *>(u8"CONVERT")
 };
 
 static const char* ANALYSIS_DEFFUNCNAME_Factdouble[2] =
 {
-    u8"ZWEIFAKULTÄT",
-    u8"FACTDOUBLE"
+    reinterpret_cast<char const *>(u8"ZWEIFAKULTÄT"),
+    reinterpret_cast<char const *>(u8"FACTDOUBLE")
 };
 
 #endif
diff --git a/sccomp/inc/strings.hrc b/sccomp/inc/strings.hrc
index ad6c095e68af..8a6e65f578a5 100644
--- a/sccomp/inc/strings.hrc
+++ b/sccomp/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SCCOMP_INC_STRINGS_HRC
 #define INCLUDED_SCCOMP_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_SOLVER_COMPONENT        NC_("RID_SOLVER_COMPONENT", "%PRODUCTNAME Linear Solver")
 #define RID_COINMP_SOLVER_COMPONENT NC_("RID_COINMP_SOLVER_COMPONENT", "%PRODUCTNAME CoinMP Linear Solver")
diff --git a/sd/inc/DocumentRenderer.hrc b/sd/inc/DocumentRenderer.hrc
index 137f406e35d5..d64235ef3873 100644
--- a/sd/inc/DocumentRenderer.hrc
+++ b/sd/inc/DocumentRenderer.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SD_INC_DOCUMENTRENDERER_HRC
 #define INCLUDED_SD_INC_DOCUMENTRENDERER_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* STR_IMPRESS_PRINT_UI_CONTENT_CHOICES[] =
 {
diff --git a/sd/inc/errhdl.hrc b/sd/inc/errhdl.hrc
index f568a0292f62..309dbfc47324 100644
--- a/sd/inc/errhdl.hrc
+++ b/sd/inc/errhdl.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SD_INC_ERRHDL_HRC
 #define INCLUDED_SD_INC_ERRHDL_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #include "sderror.hxx"
 
diff --git a/sd/inc/family.hrc b/sd/inc/family.hrc
index 2d10e42b7305..fdf02a73729d 100644
--- a/sd/inc/family.hrc
+++ b/sd/inc/family.hrc
@@ -22,7 +22,7 @@
 
 #include <svl/style.hxx>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, SfxStyleSearchBits> RID_GRAPHICSTYLEFAMILY[] =
 {
diff --git a/sd/inc/strings.hrc b/sd/inc/strings.hrc
index 986b318f4628..b211873b8fa2 100644
--- a/sd/inc/strings.hrc
+++ b/sd/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SD_INC_STRINGS_HRC
 #define INCLUDED_SD_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_NULL                                        NC_("STR_NULL", "None")
 #define STR_INSERTPAGE                                  NC_("STR_INSERTPAGE", "Insert Slide")
diff --git a/sfx2/inc/dinfdlg.hrc b/sfx2/inc/dinfdlg.hrc
index 69447b1833c9..c03d0a4223a7 100644
--- a/sfx2/inc/dinfdlg.hrc
+++ b/sfx2/inc/dinfdlg.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SFX2_INC_DINFDLG_HRC
 #define INCLUDED_SFX2_INC_DINFDLG_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* SFX_CB_PROPERTY_STRINGARRAY[] =
 {
diff --git a/sfx2/inc/doctempl.hrc b/sfx2/inc/doctempl.hrc
index f897a187759e..23a199ef47ce 100644
--- a/sfx2/inc/doctempl.hrc
+++ b/sfx2/inc/doctempl.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SFX2_INC_DOCTEMPL_HRC
 #define INCLUDED_SFX2_INC_DOCTEMPL_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* TEMPLATE_LONG_NAMES_ARY[] =
 {
diff --git a/starmath/inc/smmod.hrc b/starmath/inc/smmod.hrc
index f946e61cc513..59a4a7cd845f 100644
--- a/starmath/inc/smmod.hrc
+++ b/starmath/inc/smmod.hrc
@@ -9,7 +9,7 @@
 #ifndef INCLUDED_VCL_INC_STRINGS_HRC
 #define INCLUDED_VCL_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RID_UI_SYMBOLSET_NAMES[] =
 {
diff --git a/starmath/inc/strings.hrc b/starmath/inc/strings.hrc
index 8ef050ec8a56..fc6f9bae05f0 100644
--- a/starmath/inc/strings.hrc
+++ b/starmath/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SM_INC_STRINGS_HRC
 #define INCLUDED_SM_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define RID_PLUSX_HELP                      NC_("RID_PLUSX_HELP", "+ Sign" )
 #define RID_MINUSX_HELP                     NC_("RID_MINUSX_HELP", "- Sign" )
diff --git a/svtools/inc/borderline.hrc b/svtools/inc/borderline.hrc
index 07e4f1cf79c1..1b6ddcf4337a 100644
--- a/svtools/inc/borderline.hrc
+++ b/svtools/inc/borderline.hrc
@@ -11,7 +11,7 @@
 
 #include <editeng/borderline.hxx>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, SvxBorderLineStyle> RID_SVXSTR_BORDERLINE[] =
 {
diff --git a/svtools/inc/errtxt.hrc b/svtools/inc/errtxt.hrc
index d341a91ee503..e5694df18ffd 100644
--- a/svtools/inc/errtxt.hrc
+++ b/svtools/inc/errtxt.hrc
@@ -23,7 +23,7 @@
 #include <svtools/sfxecode.hxx>
 #include <svtools/soerr.hxx>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const ErrMsgCode RID_ERRCTX[] =
 {
diff --git a/svtools/inc/langtab.hrc b/svtools/inc/langtab.hrc
index 0ff23912f9a1..9de0eb1dfb66 100644
--- a/svtools/inc/langtab.hrc
+++ b/svtools/inc/langtab.hrc
@@ -22,7 +22,7 @@
 
 #include <i18nlangtag/lang.h>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, LanguageType> STR_ARR_SVT_LANGUAGE_TABLE[] =
 {
diff --git a/svtools/inc/templwin.hrc b/svtools/inc/templwin.hrc
index 5eef305ef0e0..c90fdcc1031f 100644
--- a/svtools/inc/templwin.hrc
+++ b/svtools/inc/templwin.hrc
@@ -22,7 +22,7 @@
 
 #include <svtools/controldims.hxx>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define DI_TITLE                1
 #define DI_FROM                 2
diff --git a/svx/inc/fieldunit.hrc b/svx/inc/fieldunit.hrc
index b4c4a97e4c31..f16238550efe 100644
--- a/svx/inc/fieldunit.hrc
+++ b/svx/inc/fieldunit.hrc
@@ -23,7 +23,7 @@
 #include <tools/fldunit.hxx>
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, FieldUnit> RID_SVXSTR_FIELDUNIT_TABLE[] =
 {
diff --git a/svx/inc/fmstring.hrc b/svx/inc/fmstring.hrc
index 3b4c9b07fe4a..7a78d0ae2623 100644
--- a/svx/inc/fmstring.hrc
+++ b/svx/inc/fmstring.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SVX_INC_FMSTRING_HRC
 #define INCLUDED_SVX_INC_FMSTRING_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RID_RSC_SQL_INTERNATIONAL[] =
 {
diff --git a/svx/inc/frmsel.hrc b/svx/inc/frmsel.hrc
index 8b3e0fb25e4d..da3c258b293c 100644
--- a/svx/inc/frmsel.hrc
+++ b/svx/inc/frmsel.hrc
@@ -22,7 +22,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 std::pair<const char*, sal_uInt16> RID_SVXSTR_FRMSEL_TEXTS[] =
 {
diff --git a/svx/inc/numberingtype.hrc b/svx/inc/numberingtype.hrc
index 3dcf0d89655b..989f0be0aec4 100644
--- a/svx/inc/numberingtype.hrc
+++ b/svx/inc/numberingtype.hrc
@@ -22,7 +22,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, int> RID_SVXSTRARY_NUMBERINGTYPE[] =
 {
diff --git a/svx/inc/samecontent.hrc b/svx/inc/samecontent.hrc
index 7c7ffe5445f1..b4a6bc8d667d 100644
--- a/svx/inc/samecontent.hrc
+++ b/svx/inc/samecontent.hrc
@@ -11,7 +11,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, int> RID_SVXSTRARY_SAMECONTENT[] =
 {
diff --git a/svx/inc/spacing.hrc b/svx/inc/spacing.hrc
index 2f2b219f5242..3d4e93dc02b3 100644
--- a/svx/inc/spacing.hrc
+++ b/svx/inc/spacing.hrc
@@ -11,7 +11,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 // To translators: this is a listbox labelled by "Spacing:", inch units
 const std::pair<const char*, int> RID_SVXSTRARY_SPACING_INCH[] =
diff --git a/svx/inc/svxerr.hrc b/svx/inc/svxerr.hrc
index 8a02afa34acc..79409d118b41 100644
--- a/svx/inc/svxerr.hrc
+++ b/svx/inc/svxerr.hrc
@@ -22,7 +22,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #include <svx/svxerr.hxx>
 #include <editeng/editerr.hxx>
diff --git a/svx/inc/swframeposstrings.hrc b/svx/inc/swframeposstrings.hrc
index f45b06531478..df4d92a976fb 100644
--- a/svx/inc/swframeposstrings.hrc
+++ b/svx/inc/swframeposstrings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SVX_INC_SWFRAMEPOSSTRINGS_HRC
 #define INCLUDED_SVX_INC_SWFRAMEPOSSTRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 //the following string have to match the (enum values) positions in svx/swframeposstrings.hxx!
 const char* RID_SVXSW_FRAMEPOSITIONS[] =
diff --git a/svx/inc/tabwin.hrc b/svx/inc/tabwin.hrc
index ac0a1221efda..8ab1888038da 100644
--- a/svx/inc/tabwin.hrc
+++ b/svx/inc/tabwin.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SVX_INC_TABWIN_HRC
 #define INCLUDED_SVX_INC_TABWIN_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RID_RSC_TABWIN_PREFIX[] =
 {
diff --git a/svx/inc/txenctab.hrc b/svx/inc/txenctab.hrc
index 6481cb722804..e7171fbd1097 100644
--- a/svx/inc/txenctab.hrc
+++ b/svx/inc/txenctab.hrc
@@ -23,7 +23,7 @@
 #include <rtl/textenc.h>
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 // Encodings for which no conversion exist yet are commented out.
 
diff --git a/svx/source/dialog/page.hrc b/svx/source/dialog/page.hrc
index f4d3e9518f1e..6dc8e72f0fa6 100644
--- a/svx/source/dialog/page.hrc
+++ b/svx/source/dialog/page.hrc
@@ -23,7 +23,7 @@
 #include <i18nutil/paper.hxx>
 #include <utility>
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, int> RID_SVXSTRARY_PAPERSIZE_STD[] =
 {
diff --git a/sw/inc/app.hrc b/sw/inc/app.hrc
index f92bdbfe1688..9b195c02e60d 100644
--- a/sw/inc/app.hrc
+++ b/sw/inc/app.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SW_INC_APP_HRC
 #define INCLUDED_SW_INC_APP_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #include <svl/style.hxx>
 
diff --git a/sw/inc/cnttab.hrc b/sw/inc/cnttab.hrc
index 70eefcdac564..f0823fd24997 100644
--- a/sw/inc/cnttab.hrc
+++ b/sw/inc/cnttab.hrc
@@ -22,7 +22,7 @@
 
 #include "tox.hxx"
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, SwTOOElements> RES_SRCTYPES[] =
 {
diff --git a/sw/inc/dbui.hrc b/sw/inc/dbui.hrc
index d602c4f2d548..47c4e0420300 100644
--- a/sw/inc/dbui.hrc
+++ b/sw/inc/dbui.hrc
@@ -22,7 +22,7 @@
 
 #include "rcid.hrc"
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 // Elements -----------------------------------------------------------------
 #define MM_PART_TITLE                   0
diff --git a/sw/inc/error.hrc b/sw/inc/error.hrc
index 1e61b007cf98..e15abf9cacf4 100644
--- a/sw/inc/error.hrc
+++ b/sw/inc/error.hrc
@@ -22,7 +22,7 @@
 
 #include "swerror.h"
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define ERR_CODE( class, err )  ErrCode(ErrCodeArea::Sw, class, err.GetCode())
 #define WARN_CODE( class, err ) ErrCode(ErrCodeArea::Sw, class, err.GetCode())
diff --git a/sw/inc/mmaddressblockpage.hrc b/sw/inc/mmaddressblockpage.hrc
index 3b5126d1d5c2..ba026a890411 100644
--- a/sw/inc/mmaddressblockpage.hrc
+++ b/sw/inc/mmaddressblockpage.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SW_INC_MMADDRESSBLOCK_HRC
 #define INCLUDED_SW_INC_MMADDRESSBLOCK_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RA_SALUTATION[] =
 {
diff --git a/sw/inc/optload.hrc b/sw/inc/optload.hrc
index 24463db8929b..9614b48b56fe 100644
--- a/sw/inc/optload.hrc
+++ b/sw/inc/optload.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SW_INC_OPTLOAD_HRC
 #define INCLUDED_SW_INC_OPTLOAD_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, FieldUnit> STR_ARR_METRIC[] =
 {
diff --git a/sw/inc/pageformatpanel.hrc b/sw/inc/pageformatpanel.hrc
index e35bd64c4997..ecad14cf51a2 100644
--- a/sw/inc/pageformatpanel.hrc
+++ b/sw/inc/pageformatpanel.hrc
@@ -10,7 +10,7 @@
 #ifndef INCLUDED_SW_INC_PAGEFORMATPANEL_HRC
 #define INCLUDED_SW_INC_PAGEFORMATPANEL_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 // To translators: this is a listbox labelled by "Margins:", inch units
 const char* RID_PAGEFORMATPANEL_MARGINS_INCH[] =
diff --git a/sw/inc/strings.hrc b/sw/inc/strings.hrc
index 5866598a5214..f0a07cd6e1b0 100644
--- a/sw/inc/strings.hrc
+++ b/sw/inc/strings.hrc
@@ -20,8 +20,8 @@
 #ifndef INCLUDED_SW_INC_STRINGS_HRC
 #define INCLUDED_SW_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
-#define NNC_(Context, StringSingular, StringPlural) (Context "\004" u8##StringSingular "\004" u8##StringPlural)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
+#define NNC_(Context, StringSingular, StringPlural) reinterpret_cast<char const *>(Context "\004" u8##StringSingular "\004" u8##StringPlural)
 
 // Format names
 #define STR_POOLCHR_FOOTNOTE                    NC_("STR_POOLCHR_FOOTNOTE", "Footnote Characters")
diff --git a/sw/inc/utlui.hrc b/sw/inc/utlui.hrc
index 8a74ba247068..3d356fc9bc0c 100644
--- a/sw/inc/utlui.hrc
+++ b/sw/inc/utlui.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SW_INC_UTLUI_HRC
 #define INCLUDED_SW_INC_UTLUI_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RID_SHELLRES_AUTOFMTSTRS[] =
 {
diff --git a/uui/inc/ids.hrc b/uui/inc/ids.hrc
index 84d409f083ef..061c2a77bd80 100644
--- a/uui/inc/ids.hrc
+++ b/uui/inc/ids.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_UUI_INC_IDS_HRC
 #define INCLUDED_UUI_INC_IDS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const std::pair<const char*, ErrCode> RID_UUI_ERRHDL[] =
 {
diff --git a/uui/inc/strings.hrc b/uui/inc/strings.hrc
index 22deb50f2837..7c327b579738 100644
--- a/uui/inc/strings.hrc
+++ b/uui/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_UUI_INC_STRINGS_HRC
 #define INCLUDED_UUI_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_ENTER_PASSWORD_TO_OPEN              NC_("STR_ENTER_PASSWORD_TO_OPEN", "Enter password to open file: \n")
 #define STR_ENTER_PASSWORD_TO_MODIFY            NC_("STR_ENTER_PASSWORD_TO_MODIFY", "Enter password to modify file: \n")
diff --git a/vcl/inc/font/OpenTypeFeatureStrings.hrc b/vcl/inc/font/OpenTypeFeatureStrings.hrc
index d5813ed31c2f..88a90f2c7d5a 100644
--- a/vcl/inc/font/OpenTypeFeatureStrings.hrc
+++ b/vcl/inc/font/OpenTypeFeatureStrings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_FONT_OPENTYPEFEATRESTRINGS_HRC
 #define INCLUDED_VCL_INC_FONT_OPENTYPEFEATRESTRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_FONT_FEATURE_ID_AALT          NC_("STR_FONT_FEATURE_ID_AALT", "Access All Alternates")
 #define STR_FONT_FEATURE_ID_AFRC          NC_("STR_FONT_FEATURE_ID_AFRC", "Alternative (Vertical) Fractions")
diff --git a/vcl/inc/print.hrc b/vcl/inc/print.hrc
index b1b3d47c7be3..505f508b45b8 100644
--- a/vcl/inc/print.hrc
+++ b/vcl/inc/print.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_PRINT_HRC
 #define INCLUDED_VCL_INC_PRINT_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* RID_STR_PAPERNAMES[] =
 {
diff --git a/vcl/inc/printaccessoryview.hrc b/vcl/inc/printaccessoryview.hrc
index e47ac03eb5cc..936c5b2bcce4 100644
--- a/vcl/inc/printaccessoryview.hrc
+++ b/vcl/inc/printaccessoryview.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_PRINTACCESSORYVIEW_HRC
 #define INCLUDED_VCL_INC_PRINTACCESSORYVIEW_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 const char* SV_PRINT_NATIVE_STRINGS[] =
 {
diff --git a/vcl/inc/strings.hrc b/vcl/inc/strings.hrc
index 1475e2a65ceb..dfaa89fda9e5 100644
--- a/vcl/inc/strings.hrc
+++ b/vcl/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_STRINGS_HRC
 #define INCLUDED_VCL_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define SV_RESID_STRING_NOSELECTIONPOSSIBLE          NC_("SV_RESID_STRING_NOSELECTIONPOSSIBLE", "<No selection possible>")
 
diff --git a/vcl/inc/units.hrc b/vcl/inc/units.hrc
index 031ffab67ec3..2fd522723e66 100644
--- a/vcl/inc/units.hrc
+++ b/vcl/inc/units.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_UNITS_HRC
 #define INCLUDED_VCL_INC_UNITS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 std::pair<const char*, FieldUnit> SV_FUNIT_STRINGS[] =
 {
diff --git a/writerperfect/inc/strings.hrc b/writerperfect/inc/strings.hrc
index 2bd8d27ac82a..a85c1fb7157c 100644
--- a/writerperfect/inc/strings.hrc
+++ b/writerperfect/inc/strings.hrc
@@ -10,7 +10,7 @@
 #ifndef INCLUDED_WRITERPERFECT_INC_STRINGS_HRC
 #define INCLUDED_WRITERPERFECT_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_ENCODING_DIALOG_TITLE               NC_("STR_ENCODING_DIALOG_TITLE", "Import file")
 #define STR_ENCODING_DIALOG_TITLE_MSMULTIPLAN   NC_("STR_ENCODING_DIALOG_TITLE_MSMULTIPLAN", "Import MS Multiplan for DOS file")
diff --git a/xmlsecurity/inc/strings.hrc b/xmlsecurity/inc/strings.hrc
index b572082ec6cf..1505e3583d38 100644
--- a/xmlsecurity/inc/strings.hrc
+++ b/xmlsecurity/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_XMLSECURITY_INC_STRINGS_HRC
 #define INCLUDED_XMLSECURITY_INC_STRINGS_HRC
 
-#define NC_(Context, String) (Context "\004" u8##String)
+#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
 
 #define STR_CERTIFICATE_NOT_VALIDATED               NC_("STR_CERTIFICATE_NOT_VALIDATED", "The certificate could not be validated.")
 #define STR_HEADERBAR                               NC_("STR_HEADERBAR", "Field\tValue")


More information about the Libreoffice-commits mailing list