1 /* Copyright (C) 2007-2013 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 "c-family/c-common.h"
26 
27 /* Output C specific EABI object attributes.  These can not be done in
28    arm.c because they require information from the C frontend.  */
29 
30 static void
arm_output_c_attributes(void)31 arm_output_c_attributes (void)
32 {
33   int wchar_size = (int)(TYPE_PRECISION (wchar_type_node) / BITS_PER_UNIT);
34   arm_emit_eabi_attribute ("Tag_ABI_PCS_wchar_t", 18, wchar_size);
35 }
36 
37 
38 /* Setup so that common code calls arm_output_c_attributes.  */
39 
40 void
arm_lang_object_attributes_init(void)41 arm_lang_object_attributes_init (void)
42 {
43   arm_lang_output_object_attributes_hook = arm_output_c_attributes;
44 }
45