1 /* Subroutines used for macro/preprocessor support on SPARC. 2 Copyright (C) 2011-2017 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 "c-family/c-common.h" 25 #include "c-family/c-pragma.h" 26 27 void 28 sparc_target_macros (void) 29 { 30 builtin_define_std ("sparc"); 31 32 if (TARGET_ARCH64) 33 { 34 cpp_assert (parse_in, "cpu=sparc64"); 35 cpp_assert (parse_in, "machine=sparc64"); 36 } 37 else 38 { 39 cpp_assert (parse_in, "cpu=sparc"); 40 cpp_assert (parse_in, "machine=sparc"); 41 } 42 43 if (TARGET_VIS4B) 44 { 45 cpp_define (parse_in, "__VIS__=0x410"); 46 cpp_define (parse_in, "__VIS=0x410"); 47 } 48 else if (TARGET_VIS4) 49 { 50 cpp_define (parse_in, "__VIS__=0x400"); 51 cpp_define (parse_in, "__VIS=0x400"); 52 } 53 else if (TARGET_VIS3) 54 { 55 cpp_define (parse_in, "__VIS__=0x300"); 56 cpp_define (parse_in, "__VIS=0x300"); 57 } 58 else if (TARGET_VIS2) 59 { 60 cpp_define (parse_in, "__VIS__=0x200"); 61 cpp_define (parse_in, "__VIS=0x200"); 62 } 63 else if (TARGET_VIS) 64 { 65 cpp_define (parse_in, "__VIS__=0x100"); 66 cpp_define (parse_in, "__VIS=0x100"); 67 } 68 } 69