incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject [Fwd: svn commit: r584880 - in /incubator/stdcxx/trunk/etc/config/src: NO_OBJECT_MANGLING.cpp object_mangling_imp.cpp]
Date Mon, 15 Oct 2007 20:13:51 GMT
Hi Farid,

Do I need to do something special in order for the VisualStudio
infrastructure to pick up this test or is it handled automatically
like on UNIX? The tricky part that I'm worried about is setting
LDOPTS in the main test to link it with object_mangling_imp.o.

Travis, do you know this part of the infrastructure yet to be able
to tell?

Thanks
Martin

-------- Original Message --------
Subject: svn commit: r584880 - in 
/incubator/stdcxx/trunk/etc/config/src: NO_OBJECT_MANGLING.cpp 
object_mangling_imp.cpp
Date: Mon, 15 Oct 2007 19:58:39 -0000
From: sebor@apache.org
Reply-To: stdcxx-dev@incubator.apache.org
To: stdcxx-commits@incubator.apache.org

Author: sebor
Date: Mon Oct 15 12:58:38 2007
New Revision: 584880

URL: http://svn.apache.org/viewvc?rev=584880&view=rev
Log:
2007-10-15  Martin Sebor  <sebor@roguewave.com>

	* NO_OBJECT_MANGLING.cpp: New config test to determine whether
	namespace-scope objects have their types mangled into their
	names (as done by MSVC) or not (other compilers).
	* object_mangling_imp.cpp: Helper file to go with the above.

Added:
     incubator/stdcxx/trunk/etc/config/src/NO_OBJECT_MANGLING.cpp 
(with props)
     incubator/stdcxx/trunk/etc/config/src/object_mangling_imp.cpp 
(with props)

Added: incubator/stdcxx/trunk/etc/config/src/NO_OBJECT_MANGLING.cpp
URL: 
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/src/NO_OBJECT_MANGLING.cpp?rev=584880&view=auto
==============================================================================
--- incubator/stdcxx/trunk/etc/config/src/NO_OBJECT_MANGLING.cpp (added)
+++ incubator/stdcxx/trunk/etc/config/src/NO_OBJECT_MANGLING.cpp Mon Oct 
15 12:58:38 2007
@@ -0,0 +1,37 @@
+// checking for object name mangling
+
+/***************************************************************************
+ *
+ * Licensed to the Apache Software  Foundation (ASF) under one or more
+ * contributor  license agreements.  See  the NOTICE  file distributed
+ * with  this  work  for  additional information  regarding  copyright
+ * ownership.   The ASF  licenses this  file to  you under  the Apache
+ * License, Version  2.0 (the  License); you may  not use  this file
+ * except in  compliance with the License.   You may obtain  a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the  License is distributed on an  "AS IS" BASIS,
+ * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY  KIND, either  express or
+ * implied.   See  the License  for  the  specific language  governing
+ * permissions and limitations under the License.
+ *
+ * Copyright 1999-2007 Rogue Wave Software, Inc.
+ *
+ 
**************************************************************************/
+
+#ifdef _RWSTD_object_mangling_imp
+  // link with the object file below
+  // LDOPTS = object_mangling_imp.o
+#endif   // _RWSTD_object_mangling_imp
+
+// declared but not defined here (defined in object_mangling_imp.cpp)
+extern int declared_int_defined_char_array;
+
+int main ()
+{
+    // return 0 to indicate that the object has non-zero value
+    return !declared_int_defined_char_array;
+}

Propchange: incubator/stdcxx/trunk/etc/config/src/NO_OBJECT_MANGLING.cpp
------------------------------------------------------------------------------
     svn:eol-style = native

Propchange: incubator/stdcxx/trunk/etc/config/src/NO_OBJECT_MANGLING.cpp
------------------------------------------------------------------------------
     svn:keywords = Id

Added: incubator/stdcxx/trunk/etc/config/src/object_mangling_imp.cpp
URL: 
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/src/object_mangling_imp.cpp?rev=584880&view=auto
==============================================================================
--- incubator/stdcxx/trunk/etc/config/src/object_mangling_imp.cpp (added)
+++ incubator/stdcxx/trunk/etc/config/src/object_mangling_imp.cpp Mon 
Oct 15 12:58:38 2007
@@ -0,0 +1,29 @@
+
+/***************************************************************************
+ *
+ * Licensed to the Apache Software  Foundation (ASF) under one or more
+ * contributor  license agreements.  See  the NOTICE  file distributed
+ * with  this  work  for  additional information  regarding  copyright
+ * ownership.   The ASF  licenses this  file to  you under  the Apache
+ * License, Version  2.0 (the  License); you may  not use  this file
+ * except in  compliance with the License.   You may obtain  a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the  License is distributed on an  "AS IS" BASIS,
+ * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY  KIND, either  express or
+ * implied.   See  the License  for  the  specific language  governing
+ * permissions and limitations under the License.
+ *
+ * Copyright 1999-2007 Rogue Wave Software, Inc.
+ *
+ 
**************************************************************************/
+
+char declared_int_defined_char_array [sizeof (int)] = {
+    // define the object to have a different type than its declaration
+    // in NO_NAME_MANGLING.cpp to detect whether mangled object names
+    // include type information or not
+    '\1'
+};

Propchange: incubator/stdcxx/trunk/etc/config/src/object_mangling_imp.cpp
------------------------------------------------------------------------------
     svn:eol-style = native

Propchange: incubator/stdcxx/trunk/etc/config/src/object_mangling_imp.cpp
------------------------------------------------------------------------------
     svn:keywords = Id



Mime
View raw message