一昔前は、そこらの商用コンパイラよりも良い最適化をする
といわれたGCCも最近は色あせてきてたけど。。。
待望の新バージョンリリースで巻き返しなるか?
とりあえずインストールしてみよう
探検
祝・GCC 3.0リリース
■ このスレッドは過去ログ倉庫に格納されています
1さあね
NGNG310名無しさん@お腹いっぱい。
NGNG propolice開発者です。GCCに提出している部分はGPLとしていますから、この部分に関して特許の心配はありません。
但し他のコンパイラ製品には適用されます。
このスレッドは見ているわけではないので、できれば私宛にメールを送ってください。アドレスはホームページから探してください。
但し他のコンパイラ製品には適用されます。
このスレッドは見ているわけではないので、できれば私宛にメールを送ってください。アドレスはホームページから探してください。
311名無しさん@お腹いっぱい。
NGNGNGNG
>Support for thread local storage has been added to the IA-32 and x86-64 ports.
ほう。port限定だけど3.3でTLSサポート入るのか。
>IBM ROMP, romp-*-*
>IBM大騒ぎ、romp-*-*
(´∀`)
ほう。port限定だけど3.3でTLSサポート入るのか。
>IBM ROMP, romp-*-*
>IBM大騒ぎ、romp-*-*
(´∀`)
313nobody
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のためのライブラリだと思ってたけど
これって間違ってますか?
これって間違ってますか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 焼き芋を輪切りにして天ぷらにすると美味しいよ
- プロレスラーってロープに振ると走って戻ってくるけど
- インターネットで金儲けする奴が現れ始めてきてほんとつまらんくなったなネットも
- お前らお嫁さん見つけた?
- インシテミル映画見るから
- 2000年の思い出
