xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/arm/arm-c.c (revision 413d532bcc3f62d122e56d92e13ac64825a40baf)
1 /* Copyright (C) 2007 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 "tree.h"
25 #include "output.h"
26 #include "c-common.h"
27 
28 
29 /* Output C specific EABI object attributes.  These can not be done in
30    arm.c because they require information from the C frontend.  */
31 
32 static void arm_output_c_attributes(void)
33 {
34   /* Tag_ABI_PCS_wchar_t.  */
35   asm_fprintf (asm_out_file, "\t.eabi_attribute 18, %d\n",
36 	       (int)(TYPE_PRECISION (wchar_type_node) / BITS_PER_UNIT));
37 }
38 
39 
40 /* Setup so that common code calls arm_output_c_attributes.  */
41 
42 void arm_lang_object_attributes_init(void)
43 {
44   arm_lang_output_object_attributes_hook = arm_output_c_attributes;
45 }
46