xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/arm/arm-c.c (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1 /* Copyright (C) 2007-2015 Free Software Foundation, Inc.
2 
3    This file is part of GCC.
4 
5    GCC is free software; you can redistribute it and/or modify it under
6    the terms of the GNU General Public License as published by the Free
7    Software Foundation; either version 3, or (at your option) any later
8    version.
9 
10    GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11    WARRANTY; without even the implied warranty of MERCHANTABILITY or
12    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13    for more details.
14 
15    You should have received a copy of the GNU General Public License
16    along with GCC; see the file COPYING3.  If not see
17    <http://www.gnu.org/licenses/>.  */
18 
19 #include "config.h"
20 #include "system.h"
21 #include "coretypes.h"
22 #include "tm.h"
23 #include "tm_p.h"
24 #include "hash-set.h"
25 #include "machmode.h"
26 #include "vec.h"
27 #include "double-int.h"
28 #include "input.h"
29 #include "alias.h"
30 #include "symtab.h"
31 #include "wide-int.h"
32 #include "inchash.h"
33 #include "tree.h"
34 #include "c-family/c-common.h"
35 
36 /* Output C specific EABI object attributes.  These can not be done in
37    arm.c because they require information from the C frontend.  */
38 
39 static void
40 arm_output_c_attributes (void)
41 {
42   int wchar_size = (int)(TYPE_PRECISION (wchar_type_node) / BITS_PER_UNIT);
43   arm_emit_eabi_attribute ("Tag_ABI_PCS_wchar_t", 18, wchar_size);
44 }
45 
46 
47 /* Setup so that common code calls arm_output_c_attributes.  */
48 
49 void
50 arm_lang_object_attributes_init (void)
51 {
52   arm_lang_output_object_attributes_hook = arm_output_c_attributes;
53 }
54