1/* Copyright (C) 1995-2015 Free Software Foundation, Inc. 2 Contributed by Embecosm on behalf of Adapteva, Inc. 3 4This file is part of GCC. 5 6GCC is free software; you can redistribute it and/or modify it under 7the terms of the GNU General Public License as published by the Free 8Software Foundation; either version 3, or (at your option) any later 9version. 10 11GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12WARRANTY; without even the implied warranty of MERCHANTABILITY or 13FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14for more details. 15 16Under Section 7 of GPL version 3, you are granted additional 17permissions described in the GCC Runtime Library Exception, version 183.1, as published by the Free Software Foundation. 19 20You should have received a copy of the GNU General Public License and 21a copy of the GCC Runtime Library Exception along with this program; 22see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23<http://www.gnu.org/licenses/>. */ 24 25/* ANSI concatenation macros. */ 26 27#define CONCAT1(a, b) CONCAT2(a, b) 28#define CONCAT2(a, b) a ## b 29#define STRINGIFY2(a, b) STRINGIFY(a##b) 30#define STRINGIFY(a) #a 31 32/* Use the right prefix for global labels. */ 33 34#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) 35 36#define FSTAB(X,T) .stabs STRINGIFY2(X##:F,T),36,0,__LINE__,SYM(X) 37#define FUNC(X) .type SYM(X),@function 38#define HIDDEN_FUNC(X) FUNC(X)` .hidden SYM(X) 39#define ENDFUNC0(X) CONCAT1(.Lfe_,X): .size X,CONCAT1(.Lfe_,X)-X 40#define ENDFUNC(X) ENDFUNC0(SYM(X)) 41 42#define TMP0 r12 43#define TMP1 r16 44#define TMP2 r17 45#define TMP3 r18 46#define TMP4 r19 47#define TMP5 r20 48 49#define T_INT (0,1) 50 .stabs "int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,1,0 51#define T_UINT (0,2) 52 .stabs "unsigned int:t(0,2)=r(0,2);0;037777777777;",128,0,1,0 53