xref: /trunk/main/bridges/source/cpp_uno/gcc3_linux_intel/abi.cxx (revision cf6516809c57e1bb0a940545cca99cdad54d4ce2)
1bcc22a4cSDamjan Jovanovic /**************************************************************
2bcc22a4cSDamjan Jovanovic  *
3bcc22a4cSDamjan Jovanovic  * Licensed to the Apache Software Foundation (ASF) under one
4bcc22a4cSDamjan Jovanovic  * or more contributor license agreements.  See the NOTICE file
5bcc22a4cSDamjan Jovanovic  * distributed with this work for additional information
6bcc22a4cSDamjan Jovanovic  * regarding copyright ownership.  The ASF licenses this file
7bcc22a4cSDamjan Jovanovic  * to you under the Apache License, Version 2.0 (the
8bcc22a4cSDamjan Jovanovic  * "License"); you may not use this file except in compliance
9bcc22a4cSDamjan Jovanovic  * with the License.  You may obtain a copy of the License at
10bcc22a4cSDamjan Jovanovic  *
11bcc22a4cSDamjan Jovanovic  *   http://www.apache.org/licenses/LICENSE-2.0
12bcc22a4cSDamjan Jovanovic  *
13bcc22a4cSDamjan Jovanovic  * Unless required by applicable law or agreed to in writing,
14bcc22a4cSDamjan Jovanovic  * software distributed under the License is distributed on an
15bcc22a4cSDamjan Jovanovic  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16bcc22a4cSDamjan Jovanovic  * KIND, either express or implied.  See the License for the
17bcc22a4cSDamjan Jovanovic  * specific language governing permissions and limitations
18bcc22a4cSDamjan Jovanovic  * under the License.
19bcc22a4cSDamjan Jovanovic  *
20bcc22a4cSDamjan Jovanovic  *************************************************************/
21bcc22a4cSDamjan Jovanovic 
22bcc22a4cSDamjan Jovanovic 
23bcc22a4cSDamjan Jovanovic 
24bcc22a4cSDamjan Jovanovic // MARKER(update_precomp.py): autogen include statement, do not remove
25bcc22a4cSDamjan Jovanovic #include "precompiled_bridges.hxx"
26bcc22a4cSDamjan Jovanovic 
27bcc22a4cSDamjan Jovanovic #include <typeinfo>
28bcc22a4cSDamjan Jovanovic #include <cstddef>
29bcc22a4cSDamjan Jovanovic 
30bcc22a4cSDamjan Jovanovic #include <uno/any2.h>
31bcc22a4cSDamjan Jovanovic #include <cppu/macros.hxx>
32bcc22a4cSDamjan Jovanovic 
33bcc22a4cSDamjan Jovanovic #include "share.hxx"
34bcc22a4cSDamjan Jovanovic 
35bcc22a4cSDamjan Jovanovic // At least Clang 3.8 can't compile our CPPU_CURRENT_NAMESPACE::__cxa_get_globals()
36*dcaf07f7SJohn Bampton // declaration with <exception> or anything else that indirectly includes <cxxabi.h>
37bcc22a4cSDamjan Jovanovic // included, as it sees it as a an overload of __cxxabi::__cxa_get_globals() with a
38bcc22a4cSDamjan Jovanovic // different return type. Thus, it has to be placed in a file that doesn't include
39bcc22a4cSDamjan Jovanovic // those, and wrapped in a function:
40bcc22a4cSDamjan Jovanovic namespace CPPU_CURRENT_NAMESPACE
41bcc22a4cSDamjan Jovanovic {
42bcc22a4cSDamjan Jovanovic   extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
43bcc22a4cSDamjan Jovanovic 
__INTERNAL__cxa_get_globals()44bcc22a4cSDamjan Jovanovic   __cxa_eh_globals *__INTERNAL__cxa_get_globals() throw()
45bcc22a4cSDamjan Jovanovic   {
46bcc22a4cSDamjan Jovanovic     return __cxa_get_globals();
47bcc22a4cSDamjan Jovanovic   }
48bcc22a4cSDamjan Jovanovic }
49