sparc-c.c revision 1.6
1/* Subroutines used for macro/preprocessor support on SPARC. 2 Copyright (C) 2011-2017 Free Software Foundation, Inc. 3 4This file is part of GCC. 5 6GCC is free software; you can redistribute it and/or modify 7it under the terms of the GNU General Public License as published by 8the Free Software Foundation; either version 3, or (at your option) 9any later version. 10 11GCC is distributed in the hope that it will be useful, 12but WITHOUT ANY WARRANTY; without even the implied warranty of 13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14GNU General Public License for more details. 15 16You should have received a copy of the GNU General Public License 17along 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 27void 28sparc_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