1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef INCLUDED_WARNINGS_GUARD_UNICODE_REGEX_H
25 #define INCLUDED_WARNINGS_GUARD_UNICODE_REGEX_H
26 
27 // Because the GCC system_header mechanism doesn't work in .c/.cxx compilation
28 // units and more important affects the rest of the current include file, the
29 // warnings guard is separated into this header file on its own.
30 
31 // External unicode includes (from icu) cause warning C4668 on Windows.
32 // We want to minimize the patches to external headers, so the warnings are
33 // disabled here instead of in the header file itself.
34 #ifdef _MSC_VER
35 #pragma warning(push, 1)
36 #elif defined __GNUC__
37 #pragma GCC system_header
38 #endif
39 #include <unicode/regex.h>
40 #ifdef _MSC_VER
41 #pragma warning(pop)
42 #endif
43 
44 #endif // INCLUDED_WARNINGS_GUARD_UNICODE_REGEX_H
45