一昔前は、そこらの商用コンパイラよりも良い最適化をする
といわれたGCCも最近は色あせてきてたけど。。。
待望の新バージョンリリースで巻き返しなるか?
とりあえずインストールしてみよう
探検
祝・GCC 3.0リリース
■ このスレッドは過去ログ倉庫に格納されています
1さあね
NGNG313nobody
NGNG TLS サポートって TLS をどうサポートするんだろう?
下校できるとか
下校できるとか
NGNG
>>313
True Love Story カヨ
True Love Story カヨ
315名無しさん@お腹いっぱい。
NGNG 3.2.1いい感じだね。
安定してきた感じ。
安定してきた感じ。
NGNG
そろそろ、全面的に3を採用してもいい頃なんじゃないかねえ。
Cに関しては移行についての問題も少なそうだし。g++がなあ
2.XXはおかしいから早いところなくなって欲しいのだけど。
Cに関しては移行についての問題も少なそうだし。g++がなあ
2.XXはおかしいから早いところなくなって欲しいのだけど。
317名無しさん@お腹いっぱい。
NGNG 祝 Debian sid で gcc = gcc-3.2 化
NGNG
これで、開発系は全部がgcc-3.2になったのかな?
NGNG
>>318
まあ、Linux-2.5.54 は Documentation/Changes では
The recommended compiler for the kernel is gcc 2.95.x (x >= 3), and it
should be used when you need absolute stability. You may use gcc 3.0.x
instead if you wish, although it may cause problems. Later versions of gcc
have not received much testing for Linux kernel compilation, and there are
almost certainly bugs (mainly, but not exclusively, in the kernel) that
will need to be fixed in order to use these compilers. In any case, using
pgcc instead of plain gcc is just asking for trouble.
なんて書かれてはいるけどね。
まあ、Linux-2.5.54 は Documentation/Changes では
The recommended compiler for the kernel is gcc 2.95.x (x >= 3), and it
should be used when you need absolute stability. You may use gcc 3.0.x
instead if you wish, although it may cause problems. Later versions of gcc
have not received much testing for Linux kernel compilation, and there are
almost certainly bugs (mainly, but not exclusively, in the kernel) that
will need to be fixed in order to use these compilers. In any case, using
pgcc instead of plain gcc is just asking for trouble.
なんて書かれてはいるけどね。
NGNG
vim 6.1のconfigureにもこんなのがあるなぁ。
if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"'
CFLAGS="$CFLAGS -fno-strength-reduce"
fi
if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"'
CFLAGS="$CFLAGS -fno-strength-reduce"
fi
321名無しさん@お腹いっぱい。
NGNGNGNG
>>322
ちなみに、debian sid 標準なのは pre-release な 3.2.2。2003-01-09 版。
ちなみに、debian sid 標準なのは pre-release な 3.2.2。2003-01-09 版。
324山崎渉
NGNG (^^)
325名無しさん@お腹いっぱい。
NGNG 3.3ってどうよ
NGNG
NGNG
しかし、最近は簡単にマイナーバージョンを上げるなぁ。
NGNG
>>327
3.3ってのは実質3.2だってことをお忘れなく。
3.3ってのは実質3.2だってことをお忘れなく。
NGNG
3.1.1 -> 3.2 になったからってことかな?
330名無しさん@お腹いっぱい。
NGNG http://gcc.gnu.org/install/finalinstall.html
> We strongly recommend to install into a target directory where there is no
> previous version of GCC present.
これって、gcc をバージョンアップするときは以前のバージョンを消せということ?
> We strongly recommend to install into a target directory where there is no
> previous version of GCC present.
これって、gcc をバージョンアップするときは以前のバージョンを消せということ?
NGNG
上書きしてトラブっても自力で対処できないような香具師は
おとなしく新しいディレクトリ掘っとけ、ということでしょう。
/usr/local/gcc-3.2.2/ とか。
おとなしく新しいディレクトリ掘っとけ、ということでしょう。
/usr/local/gcc-3.2.2/ とか。
NGNG
>>330
混ぜるなキケンってこと
混ぜるなキケンってこと
NGNG
>>332
あんたは、バージョンごとにディレクトリ分けてるのかい?
あんたは、バージョンごとにディレクトリ分けてるのかい?
NGNG
NGNG
NGNG
もれはCVSの日付で分けてるけど。
NGNG
338山崎渉
NGNG (^^)
339名無しさん@お腹いっぱい。
NGNGNGNG
長寿だなぁ、このスレ。
341山崎渉
NGNG (^^)
342あぼーん
NGNGあぼーん
343名無しさん@お腹いっぱい。
NGNG age
NGNG
gcc-3.2.3 リリース記念sage
345名無しさん@Emacs
NGNG >>344
遅
遅
NGNG
NGNG
ちゃんと3.2.2がCurrentReleaseになったのは4/25
だし。遅いってことも無いんじゃない?
上で3.2.2キタ━(゚∀゚)━!って言ってたのはDebianに
PreReleaseが入ったってだけだし。
だし。遅いってことも無いんじゃない?
上で3.2.2キタ━(゚∀゚)━!って言ってたのはDebianに
PreReleaseが入ったってだけだし。
NGNG
間違えた。3.2.3ね。
NGNG
debian serge の無印gccがgcc-3.2(3.2.3) になってったよ!
さらば2.95
さらば2.95
350名無しさん@お腹いっぱい。
NGNG Pentium Mで最適化って-mcpu=pentium3でエエのかしら?
i686にしといたほうが無難か?
i686にしといたほうが無難か?
352名無しさん@お腹いっぱい。
NGNG -mcpu=pentium3と-mcpu=i686ってどこがちがうの?
NGNG
i686にはPenPro,Pen2やAthlonも含むんじゃないの?
354名無しさん@お腹いっぱい。
NGNG355名無しさん@お腹いっぱい。
NGNG 3.3リリースあげ
http://gcc.gnu.org/gcc-3.3/
http://gcc.gnu.org/gcc-3.3/
NGNG
9か月ぶり。おめでとう!!
NGNG
3.3だとglibc-2.3.2がコンパイル通らなくねっすか?
NGNG
359あぼーん
NGNGあぼーん
360名無しさん@お腹いっぱい。
NGNG gcc 3.3 でCのコードをコンパイルしようとした時,
/tmp/ccSthUIX.s: Assembler messages:
/tmp/ccSthUIX.s:1820: Error: invalid character '.' in mnemonic
というようなエラーが出てきて,該当するアセンブリ出力を見てみたら
cmovl.ge %eax, %ebx
というものだったんだけど,これは gcc 側がおかしなニーモニックを
吐き出しているのか,それとも as 側がおかしいのか,どちらでしょうか?
as は binutils 2.13.2.1
/tmp/ccSthUIX.s: Assembler messages:
/tmp/ccSthUIX.s:1820: Error: invalid character '.' in mnemonic
というようなエラーが出てきて,該当するアセンブリ出力を見てみたら
cmovl.ge %eax, %ebx
というものだったんだけど,これは gcc 側がおかしなニーモニックを
吐き出しているのか,それとも as 側がおかしいのか,どちらでしょうか?
as は binutils 2.13.2.1
361360
NGNG http://www.intel.com/design/intarch/techinfo/pentium/instrefc.htm#75304
を見ると,"cmovl.ge"なんて命令はなさそうだし,gcc側がおかしいのかなぁ.
を見ると,"cmovl.ge"なんて命令はなさそうだし,gcc側がおかしいのかなぁ.
NGNG
363名無しさん@お腹いっぱい。
NGNG gcc2.9x系と3.0との違いは何ですか?
ポインタだけでも結構ですので、ご存知の方がいれば
おしえてください。
ポインタだけでも結構ですので、ご存知の方がいれば
おしえてください。
NGNG
>>364
さんくす。
主な変更点は、
・最適化の強化(末尾再帰呼び出しの除去など)
・サポートするプラットフォームの増加(IA64など)
・Javaのサポート
・C++まわりの改良
・C言語の新しい規格C99への対応を強化(完全準拠ではないみたい)
・新しく書き直されたプリプロセッサ
・内部仕様の変更(ガーベージコレクションを採用、文脈自由文法の
解析アルゴリズムを変更など)
こんなかんじでしょうか。
ところで
「New tail call and sibling call elimination optimizations.」
は末尾再帰呼び出しの除去だと思ったんだけど、あってる?
さんくす。
主な変更点は、
・最適化の強化(末尾再帰呼び出しの除去など)
・サポートするプラットフォームの増加(IA64など)
・Javaのサポート
・C++まわりの改良
・C言語の新しい規格C99への対応を強化(完全準拠ではないみたい)
・新しく書き直されたプリプロセッサ
・内部仕様の変更(ガーベージコレクションを採用、文脈自由文法の
解析アルゴリズムを変更など)
こんなかんじでしょうか。
ところで
「New tail call and sibling call elimination optimizations.」
は末尾再帰呼び出しの除去だと思ったんだけど、あってる?
NGNG
再帰だけじゃなくて、
return foo();
みたいのを関数呼び出しからジャンプに変更するとかも含まれんじゃないかな。
return foo();
みたいのを関数呼び出しからジャンプに変更するとかも含まれんじゃないかな。
NGNG
NGNG
そもそも見慣れない構文なんだが。C99か?
いずれにしても、そんな機能を使ってるプログラムは
まず無いだろうな。
いずれにしても、そんな機能を使ってるプログラムは
まず無いだろうな。
369名無しさん@お腹いっぱい。
NGNG Debian/sarge使ってます。
g++を3.3.1-0pre0にしたらblitz++がコンパイルできなくなっちゃって、
3.3-2に戻したらコンパイルできるようになりました。
gccが悪いのかblitz++が悪いのかはわかりません。
こういうときはどこかに報告するべき?
g++を3.3.1-0pre0にしたらblitz++がコンパイルできなくなっちゃって、
3.3-2に戻したらコンパイルできるようになりました。
gccが悪いのかblitz++が悪いのかはわかりません。
こういうときはどこかに報告するべき?
NGNG
371名無しさん@お腹いっぱい。
NGNG /* BEGIN-----------
#include<iostream>
#include<fstream>
using namespace std;
int main(){ return 0; }
/* END-------------
というプログラムをFreeBSD5.1のGCC3.2.2でコンパイルしたら
#include<fstream>の部分が原因で、
/usr/include/g++/fstream:304: warning: `typename std::basic_filebuf<_CharT,
_Traits>::int_type' is implicitly a typename
/usr/include/g++/fstream:304: warning: implicit typename is deprecated, please
see the documentation for details
/usr/include/g++/fstream:309: warning: `typename std::basic_filebuf<_CharT,
_Traits>::int_type' is implicitly a typename
/usr/include/g++/fstream:309: warning: implicit typename is deprecated, please
see the documentation for details
というエラーがでます。
GCC2.9.5では何もエラーは起らないのですが、原因知ってる人がいたらおねがいします。
#include<iostream>
#include<fstream>
using namespace std;
int main(){ return 0; }
/* END-------------
というプログラムをFreeBSD5.1のGCC3.2.2でコンパイルしたら
#include<fstream>の部分が原因で、
/usr/include/g++/fstream:304: warning: `typename std::basic_filebuf<_CharT,
_Traits>::int_type' is implicitly a typename
/usr/include/g++/fstream:304: warning: implicit typename is deprecated, please
see the documentation for details
/usr/include/g++/fstream:309: warning: `typename std::basic_filebuf<_CharT,
_Traits>::int_type' is implicitly a typename
/usr/include/g++/fstream:309: warning: implicit typename is deprecated, please
see the documentation for details
というエラーがでます。
GCC2.9.5では何もエラーは起らないのですが、原因知ってる人がいたらおねがいします。
NGNG
(´-`).。oO(warningとerrorの区別がつかないDQNがここにもひとり…)
NGNG
(´-`).。oO('GCC2.9.5'とは随分若いバージョンを使ってるな)
NGNG
(´-`).。oO(それ以前に2.9.xなんてバージョン世間一般に公開されてないだろ)
NGNG
NGNG
"正しい"プログラムだからこそwarningになるのであって、
"正しくない"プログラムが(errorではなく)warningにしかならないのであれば、
そっちのほうが大問題。
まあ、C++規格のうつろいの激しさを知らないピュアな>>375に乾杯。
"正しくない"プログラムが(errorではなく)warningにしかならないのであれば、
そっちのほうが大問題。
まあ、C++規格のうつろいの激しさを知らないピュアな>>375に乾杯。
377371
NGNG >"正しい"プログラムだからこそwarningになるのであって、
>
結局このwarningは消せないのでしょうか?
毎回出て来るのは正直ウザいので
>
結局このwarningは消せないのでしょうか?
毎回出て来るのは正直ウザいので
NGNG
>>377
portsのgcc32かgcc33でもインスコして常にそっちを使うようmake.confで指定しとくとか
portsのgcc32かgcc33でもインスコして常にそっちを使うようmake.confで指定しとくとか
NGNG
warning
NGNG
とりあえずCFLAGSに"-Werror"を付けておけば
warningで悩まされることはなくなる次第
warningで悩まされることはなくなる次第
NGNG
ワーニング
NGNG
NGNG
非建設的な煽りは御遠慮ください
NGNG
>>383
372-384のうち375の前半と378以外は全て非建設的だがな。
372-384のうち375の前半と378以外は全て非建設的だがな。
NGNG
わはは、ピュアな脊髄反射だなあw
んで、マジレスするとISO/IEC 14882には
そもそもここで言うerrorとかwarningという用語は登場しないし、
"正しい"プログラムにdiagnostic messageを出してはいけないとも書いてないわけだが。
んで、マジレスするとISO/IEC 14882には
そもそもここで言うerrorとかwarningという用語は登場しないし、
"正しい"プログラムにdiagnostic messageを出してはいけないとも書いてないわけだが。
NGNG
そういう話題はプログラミング板とかでやって。
NGNG
NGNG
>>385
もうやめとけw
もうやめとけw
NGNG
>>385の方がやや劣勢?
NGNG
まあ、とりあえず、
> `typename std::basic_filebuf<_CharT, _Traits>::int_type' is implicitly a typename
> implicit typename is deprecated
ちゅうことで。
> `typename std::basic_filebuf<_CharT, _Traits>::int_type' is implicitly a typename
> implicit typename is deprecated
ちゅうことで。
392あぼーん
NGNGあぼーん
393名無しさん@お腹いっぱい。
NGNG gcc3.3でmips用が作れない…。
どうしたものか
どうしたものか
NGNG
NGNG
>>393
エラーはどんなかんじなの?
エラーはどんなかんじなの?
396393
NGNG >>395
はい、まず手順から
gcc-3.3.tar.gz,newlib-1.11.0.tar.gz,binutils-2.13.2.1.tar.gzを
ftp.ring.gr.jpからもってくる
~/source/toolchain/以下に展開する。
# binutilsのインストール
cd binutils-2.13.2.1
./configure --prefix=/usr/local/cross --target=mips-embedded-elf
make
su -m
make install
ここで~/.cshrcに手を入れて/usr/local/crossにPATHを通す。
source ~/.cshrc
はい、まず手順から
gcc-3.3.tar.gz,newlib-1.11.0.tar.gz,binutils-2.13.2.1.tar.gzを
ftp.ring.gr.jpからもってくる
~/source/toolchain/以下に展開する。
# binutilsのインストール
cd binutils-2.13.2.1
./configure --prefix=/usr/local/cross --target=mips-embedded-elf
make
su -m
make install
ここで~/.cshrcに手を入れて/usr/local/crossにPATHを通す。
source ~/.cshrc
397393
NGNG # gccのインストール
cd ,../gcc-3.3
ln -s ../newlib-1.11.0/newlib .
./configure --prefix=/usr/local/cross --target=mips-embedded-elf \
--with-newlib --enable-languages="c,c++"
make (ここでエラー)
xgcc: installation problem, cannot exec `mips-tfile': No such file or directory
*** Error code 1
Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3/gcc
*** Error code 1
Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3/gcc
*** Error code 1
Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3
googleでmips-tflileを検索すると--with-gnu-asをつけた方がよい
との例があったので、それを追加して再チャレンジ
http://www.spacelan.ne.jp/~m-yana/micro/gnu/mips/mipsegcs.htm
(gcc-3.3/ ディレクトリは一度消してやりなおし)
cd ,../gcc-3.3
ln -s ../newlib-1.11.0/newlib .
./configure --prefix=/usr/local/cross --target=mips-embedded-elf \
--with-newlib --enable-languages="c,c++"
make (ここでエラー)
xgcc: installation problem, cannot exec `mips-tfile': No such file or directory
*** Error code 1
Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3/gcc
*** Error code 1
Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3/gcc
*** Error code 1
Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3
googleでmips-tflileを検索すると--with-gnu-asをつけた方がよい
との例があったので、それを追加して再チャレンジ
http://www.spacelan.ne.jp/~m-yana/micro/gnu/mips/mipsegcs.htm
(gcc-3.3/ ディレクトリは一度消してやりなおし)
398393
NGNG make (またエラー)
tiswctype.c ..linked
twctrans.c ..linked
twctype.c ..linked
wctype.exp ..linked
creating cache ../config.cache
configure: error: can not find install-sh or install.sh in .. ./..
*** Error code 1
Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3
ここで力尽きました。(gcc-3.3/ にはinstall-shがあるのに・・・)
tiswctype.c ..linked
twctrans.c ..linked
twctype.c ..linked
wctype.exp ..linked
creating cache ../config.cache
configure: error: can not find install-sh or install.sh in .. ./..
*** Error code 1
Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3
ここで力尽きました。(gcc-3.3/ にはinstall-shがあるのに・・・)
399393
NGNG 本当は--enable-sharedと--enable-threadsもつけたいのですが
まず基本をするためにこのように(>>396-398)しました。
ただわからないのは、BSDには自前のlibcがあるのに
newlibが必要なのかと言うところです。
googleで検索するとみんなやり方がばらばらで
調べれば調べるほどどんどんわからなくなっていきます。。。
まず基本をするためにこのように(>>396-398)しました。
ただわからないのは、BSDには自前のlibcがあるのに
newlibが必要なのかと言うところです。
googleで検索するとみんなやり方がばらばらで
調べれば調べるほどどんどんわからなくなっていきます。。。
400393
NGNG このやり方はgoogleとEmbedde UNIX,、
UNIX USERのGBA特集(--targetの指定の仕方)を参考にしました。
長くなりましたがよろしくお願いします
UNIX USERのGBA特集(--targetの指定の仕方)を参考にしました。
長くなりましたがよろしくお願いします
401393
NGNG 何度もすいません
hostはAthlon-xp1800+(つまりi386)のNetBSDです。
hostはAthlon-xp1800+(つまりi386)のNetBSDです。
NGNG
そんなに苦労して再コンパイルしたって、
目に見えて大きな変化は無いと思うんだけどね。
目に見えて大きな変化は無いと思うんだけどね。
NGNG
install-shをそれっぽいディレクトリにばらまいてみては?
NGNG
っていうか、 .. って云ってるんだから gcc-3.3/ じゃなくてその上、
toolchain/ に置けばよさそうな気がする…
昔 cygwin で gcc compile したときも、一つ上に置いてたし。
toolchain/ に置けばよさそうな気がする…
昔 cygwin で gcc compile したときも、一つ上に置いてたし。
405393
NGNGNGNG
NGNG
>>406
は?
は?
NGNG
>>407
夏厨は放置プレーしる
夏厨は放置プレーしる
NGNG
無知がnewlib使ってGPL汚染ウマー
NGNG
newlibってeCosのためのライブラリだと思ってたけど
これって間違ってますか?
これって間違ってますか?
NGNG
まあもともとは組み込みOS向けのちっこいlibcってことで開発
されたんだろうけど、いまとなってはCygwinが主要ターゲットって
説も…。
されたんだろうけど、いまとなってはCygwinが主要ターゲットって
説も…。
NGNG
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で ★2 [ぐれ★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 高市「金正恩総書記と会談したい」 国交ある国ですらまともに外交出来ないのに北朝鮮相手に何が出来るのこいつ [878970802]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 【正論】有識者「高市早苗に合理的配慮をしなかった野党が悪い」 [175344491]
- 日経平均、49000円割れ 国賊高市を許すな ★2 [402859164]
- 吉村はん「高市さんは発言を撤回する必要ないですよ。中国の大阪総領事が謝罪すべき」 [256556981]
