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