/**
* Unicode String literals in C++.
- * Dependent on the platform properties, different UnicodeString
- * constructors should be used to create a UnicodeString object from
- * a string literal.
- * The macros are defined for maximum performance.
+ *
+ * Note: these macros are not recommended for new code.
+ * Prior to the availability of C++11 and u"unicode string literals",
+ * these macros were provided for portability and efficiency when
+ * initializing UnicodeStrings from literals.
+ *
* They work only for strings that contain "invariant characters", i.e.,
* only latin letters, digits, and some punctuation.
* See utypes.h for details.
* The string parameter must be a C string literal.
* The length of the string, not including the terminating
* <code>NUL</code>, must be specified as a constant.
- * The U_STRING_DECL macro should be invoked exactly once for one
- * such string variable before it is used.
* @stable ICU 2.0
*/
-#if defined(U_DECLARE_UTF16)
-# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const UChar *)U_DECLARE_UTF16(cs), _length)
-#elif U_SIZEOF_WCHAR_T==U_SIZEOF_UCHAR && (U_CHARSET_FAMILY==U_ASCII_FAMILY || (U_SIZEOF_UCHAR == 2 && defined(U_WCHAR_IS_UTF16)))
-# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const UChar *)L ## cs, _length)
-#elif U_SIZEOF_UCHAR==1 && U_CHARSET_FAMILY==U_ASCII_FAMILY
-# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const UChar *)cs, _length)
-#else
-# define UNICODE_STRING(cs, _length) icu::UnicodeString(cs, _length, US_INV)
-#endif
+#define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const UChar *)u ## cs, _length)
/**
* Unicode String literals in C++.
fi
if [ "$GXX" = yes ]; then
- # if CXXFLAGS does not have a "-std=" setting, set it now to -std=c++0x,
+ # if CXXFLAGS does not have a "-std=" setting, set it now to -std=c++11,
# and check that the compiler still works.
if ! echo "$CXXFLAGS" | grep '\-std=' >/dev/null 2>&1; then
OLD_CXXFLAGS="${CXXFLAGS}"
- CXXFLAGS="$CXXFLAGS --std=c++0x"
+ CXXFLAGS="$CXXFLAGS -std=c++11"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we have a C++11 compiler" >&5
$as_echo_n "checking if we have a C++11 compiler... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cxx11_okay" >&5
$as_echo "$cxx11_okay" >&6; }
if [ $cxx11_okay = yes ]; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Adding CXXFLAGS option --std=c++0x" >&5
-$as_echo "$as_me: Adding CXXFLAGS option --std=c++0x" >&6;}
- UCONFIG_CXXFLAGS="${UCONFIG_CXXFLAGS} --std=c++0x"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Adding CXXFLAGS option -std=c++11" >&5
+$as_echo "$as_me: Adding CXXFLAGS option -std=c++11" >&6;}
+ UCONFIG_CXXFLAGS="${UCONFIG_CXXFLAGS} -std=c++11"
else
CXXFLAGS="$OLD_CXXFLAGS"
fi
fi
if [[ "$GXX" = yes ]]; then
- # if CXXFLAGS does not have a "-std=" setting, set it now to -std=c++0x,
+ # if CXXFLAGS does not have a "-std=" setting, set it now to -std=c++11,
# and check that the compiler still works.
if ! echo "$CXXFLAGS" | grep '\-std=' >/dev/null 2>&1; then
OLD_CXXFLAGS="${CXXFLAGS}"
- CXXFLAGS="$CXXFLAGS --std=c++0x"
+ CXXFLAGS="$CXXFLAGS -std=c++11"
AC_MSG_CHECKING([[if we have a C++11 compiler]])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[cxx11_okay=yes],[cxx11_okay=no])
AC_MSG_RESULT($cxx11_okay)
if [[ $cxx11_okay = yes ]]; then
- AC_MSG_NOTICE([Adding CXXFLAGS option --std=c++0x])
- UCONFIG_CXXFLAGS="${UCONFIG_CXXFLAGS} --std=c++0x"
+ AC_MSG_NOTICE([Adding CXXFLAGS option -std=c++11])
+ UCONFIG_CXXFLAGS="${UCONFIG_CXXFLAGS} -std=c++11"
else
CXXFLAGS="$OLD_CXXFLAGS"
fi
THE_COMP="the GNU C++"
RELEASE_CFLAGS='-O3'
RELEASE_CXXFLAGS='-O3'
- CXXFLAGS="--std=c++03"
export CXXFLAGS
;;
MSYS/MSVC)