You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2007/10/15 21:58:39 UTC
svn commit: r584880 - in /incubator/stdcxx/trunk/etc/config/src:
NO_OBJECT_MANGLING.cpp object_mangling_imp.cpp
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 <se...@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