Line data Source code
1 : /* Functions for Linux Android as target machine for GNU C compiler.
2 : Copyright (C) 2013-2026 Free Software Foundation, Inc.
3 :
4 : This file is part of GCC.
5 :
6 : GCC is free software; you can redistribute it and/or modify
7 : it under the terms of the GNU General Public License as published by
8 : the Free Software Foundation; either version 3, or (at your option)
9 : any later version.
10 :
11 : GCC is distributed in the hope that it will be useful,
12 : but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : GNU General Public License for more details.
15 :
16 : You should have received a copy of the GNU General Public License
17 : along with GCC; see the file COPYING3. If not see
18 : <http://www.gnu.org/licenses/>. */
19 :
20 : #include "config.h"
21 : #include "system.h"
22 : #include "coretypes.h"
23 : #include "tm.h"
24 : #include "tree.h"
25 : #include "linux-protos.h"
26 : #include "target.h"
27 : #include "targhooks.h"
28 :
29 : bool
30 67566134 : linux_libc_has_function (enum function_class fn_class,
31 : tree type ATTRIBUTE_UNUSED)
32 : {
33 67566134 : if (OPTION_GLIBC || OPTION_MUSL)
34 : return true;
35 60944 : if (OPTION_BIONIC)
36 2344 : if (fn_class == function_c94
37 2344 : || fn_class == function_c99_misc
38 2344 : || fn_class == function_sincos)
39 : return true;
40 :
41 : return false;
42 : }
43 :
44 : unsigned
45 0 : linux_libm_function_max_error (unsigned cfn, machine_mode mode,
46 : bool boundary_p)
47 : {
48 0 : if (OPTION_GLIBC)
49 0 : return glibc_linux_libm_function_max_error (cfn, mode, boundary_p);
50 0 : return default_libm_function_max_error (cfn, mode, boundary_p);
51 : }
52 :
53 : unsigned
54 71 : linux_fortify_source_default_level ()
55 : {
56 71 : if (OPTION_GLIBC && TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 35)
57 71 : return 3;
58 :
59 : return 2;
60 : }
|