summaryrefslogtreecommitdiff
path: root/src/pal/tests/palsuite/c_runtime/_strlwr/test1/test1.cpp
diff options
context:
space:
mode:
authorkchoi <code.kchoi@gmail.com>2016-09-07 14:12:22 -0700
committerJan Vorlicek <janvorli@microsoft.com>2016-09-07 23:12:22 +0200
commit4149bd2070e0a8beec6dedb238e6fd832a39611b (patch)
tree7aa9401597ad87d4d1d902643439af1614458b99 /src/pal/tests/palsuite/c_runtime/_strlwr/test1/test1.cpp
parent09133905fce3b541702044b6d2bbe942a6b40155 (diff)
downloadcoreclr-4149bd2070e0a8beec6dedb238e6fd832a39611b.tar.gz
coreclr-4149bd2070e0a8beec6dedb238e6fd832a39611b.tar.bz2
coreclr-4149bd2070e0a8beec6dedb238e6fd832a39611b.zip
Fix strict aliasing violation from conditional typedef of wchar_t by building entire project as C++ for Unix (#6801)
Enable building CoreCLR as C++ project on Unix This series of patches fixes the strict aliasing violation from the conditional typedef of wchar_t in src/pal/inc/pal_char16.h:40 * rename c files to cpp * modify all cmake files to change .c files to .cpp * apply c++ linkage to templates
Diffstat (limited to 'src/pal/tests/palsuite/c_runtime/_strlwr/test1/test1.cpp')
-rw-r--r--src/pal/tests/palsuite/c_runtime/_strlwr/test1/test1.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/pal/tests/palsuite/c_runtime/_strlwr/test1/test1.cpp b/src/pal/tests/palsuite/c_runtime/_strlwr/test1/test1.cpp
new file mode 100644
index 0000000000..1c4015e3e2
--- /dev/null
+++ b/src/pal/tests/palsuite/c_runtime/_strlwr/test1/test1.cpp
@@ -0,0 +1,42 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+/*============================================================================
+**
+** Source: test1.c
+**
+** Purpose:
+** Using memcmp, check to see that after changing a string into all lowercase
+** that it is the lowercase string that was expected.
+**
+**
+**==========================================================================*/
+
+#include <palsuite.h>
+
+int __cdecl main(int argc, char *argv[])
+{
+ char string[] = "aASdff";
+ char checkstr[] = "aasdff";
+ char *ret=NULL;
+
+ /*
+ * Initialize the PAL and return FAIL if this fails
+ */
+ if (0 != (PAL_Initialize(argc, argv)))
+ {
+ return FAIL;
+ }
+
+ ret = _strlwr(string);
+
+ if (memcmp(ret, checkstr, sizeof(checkstr)) != 0)
+ {
+ Fail ("ERROR: _strlwr returning incorrect value\n"
+ "Expected %s, got %s\n", checkstr, ret);
+ }
+
+ PAL_Terminate();
+ return PASS;
+}