source: atk2-sc3_fl850f1l/arch/ccrh/Compiler.h

Last change on this file was 117, checked in by ertl-ishikawa, 9 years ago

ATK2-SC3 1.3.2 FL850F1L(RH850F1L)依存部(GCC/GHS/CCRH)を追加

File size: 3.7 KB
RevLine 
[117]1/*
2 * TOPPERS ATK2
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 * Automotive Kernel Version 2
5 *
6 * Copyright (C) 2011-2014 by Center for Embedded Computing Systems
7 * Graduate School of Information Science, Nagoya Univ., JAPAN
8 *
9 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
11 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
14 * スコード中に含まれていること.
15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
18 * の無保証規定を掲載すること.
19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
20 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
21 * と.
22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
23 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
25 * 報告すること.
26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
28 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
29 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
30 * 免責すること.
31 *
32 * 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕
33 * 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので
34 * はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利
35 * 用する者に対して,AUTOSARパートナーになることを求めている.
36 *
37 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
38 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
39 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
40 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
41 * の責任を負わない.
42 *
43 * $Id: Compiler.h 164 2015-06-03 01:22:29Z t_ishikawa $
44 */
45
46/*
47 * コンパイラ依存定義
48 */
49
50#ifndef TOPPERS_COMPILER_H
51#define TOPPERS_COMPILER_H
52
53#include "Compiler_Cfg.h"
54
55#define AUTOMATIC
56#define TYPEDEF
57#define NULL_PTR ((void *) 0)
58
59#define FUNC(rettype, memclass) rettype
60#define FUNC_P2CONST(rettype, ptrclass, memclass) const rettype *
61#define FUNC_P2VAR(rettype, ptrclass, memclass) rettype *
62#define P2VAR(ptrtype, memclass, ptrclass) ptrtype *
63#define P2CONST(ptrtype, memclass, ptrclass) const ptrtype *
64#define CONSTP2VAR(ptrtype, memclass, ptrclass) ptrtype * const
65#define CONSTP2CONST(ptrtype, memclass, ptrclass) const ptrtype * const
66#define P2FUNC(rettype, ptrclass, fctname) rettype (*fctname)
67#define CONST(consttype, memclass) const consttype
68#define VAR(vartype, memclass) vartype
69
70/*
71 * CXでは,インライン関数は「#pragma」を利用して、関数定義の前に
72 * インライン化するシンボルを予め指定しなければならない.
73 * インライン化するシンボルは,"xxx_inline_symbol.h"にて定義し,
74 * そのため,「Inline」シンボルは空マクロとして実装する.
75 */
76#define INLINE
77#define LOCAL_INLINE static
78
79/* インライン指定シンボルの登録 */
80#include "target_inline_symbols.h"
81
82//#define asm __asm
83//#define Asm __asm /* インラインアセンブラ(最適化抑止)*/
84
85#define NoReturn
86
87/* コンパイラ依存のデータ型の定義 */
88#ifndef TOPPERS_MACRO_ONLY
89
90#include <limits.h>
91
92/*
93 * 空ラベルの定義
94 * cxでは大きさゼロの配列はコンパイルエラーになるため、
95 * ここで別途定義する。
96 */
97#define TOPPERS_EMPTY_LABEL(x, y) x y[1]
98
99#endif /* TOPPERS_MACRO_ONLY */
100
101#endif /* TOPPERS_COMPILER_H */
Note: See TracBrowser for help on using the repository browser.