(toppers-users 251) Re: ターゲット用の cpp 使用で cfg エラー
Takayuki WAKABAYASHI
takayuki @ ertl.ics.tut.ac.jp
2001年 8月 15日 (水) 14:00:20 JST
名市工研 斎藤さん
豊橋技術科学大学の若林です。
Naoki Saito <saito @ nmiri.city.nagoya.jp>さんは書きました:
> /usr/local/bin/sh-hitachi-elf-cpp -I. -I../include
> -I../config/sh3 -I../config/sh3/cat68701
> -DCONFIG_60MHZ -DWITH_STUB sample1.cfg | ../cfg/cfg
> Program was aborted with fatal errors
> (null)(13) : [#9"../systask/timer.cfg"INCLUDE] その静的APIはありません
こちらでも確認しました。
上記の問題は、2行連続で#で始まる行があると発生します。
前々から指摘されているパーサ部分の問題です。
この問題は、次のプログラム修正によって回避できます。
---8<---
修正場所 - simpleparser.cpp:171-198
if((ch = in->get()) == '#') から 後続するwhileブロックの末尾まで
修正内容
ch = in->get();
while( ch != '(' && !in->eof() )
{
if(ch == '#')
{
do
{
ch = in->get();
}while(ch != '\xa' && !in->eof());
}
if(ch == '\xa')
CurrentLinePos++;
if(ch != '\n' && ch != '\r' && ch != ' ' && ch != '\t')
buffer[pos++] = ch;
ch = in->get();
}
---8<---
斎藤さん ご報告ありがとうございました。
//-------------------------------------------------
//Takayuki WAKABAYASHI (わかばやし たかゆき)
// mailto: takayuki @ ertl.ics.tut.ac.jp
//-------------------------------------------------
//豊橋技術科学大学 工学研究科 情報工学専攻
// 組込みリアルタイムシステム研究室
// Embedded and realtime system laboratory
// Dept. of information and computer science
// Toyohashi univ. of technology