一昔前は、そこらの商用コンパイラよりも良い最適化をする
といわれたGCCも最近は色あせてきてたけど。。。
待望の新バージョンリリースで巻き返しなるか?
とりあえずインストールしてみよう
祝・GCC 3.0リリース
■ このスレッドは過去ログ倉庫に格納されています
1さあね
NGNG289名無しさん@お腹いっぱい。
NGNG g++3で書いた中身C++、インターフェースCなライブラリを、g++2
から利用する(またはその逆)ための、良い方法は無いでしょうか?
普通にやろうとすると__dynamic_castなどが衝突するので、
リンカ側で色々工夫をする必要があるようなのです。
FreeBSDで、-symbolicなどを駆使して、一応例外などを
動かすことはできましたが、とてもポータブルとは思えない
ので、もっと正しい方法があれば教えてください。
から利用する(またはその逆)ための、良い方法は無いでしょうか?
普通にやろうとすると__dynamic_castなどが衝突するので、
リンカ側で色々工夫をする必要があるようなのです。
FreeBSDで、-symbolicなどを駆使して、一応例外などを
動かすことはできましたが、とてもポータブルとは思えない
ので、もっと正しい方法があれば教えてください。
290名無しさん@お腹いっぱい。
NGNG 64bit Solaris 8でgcc 3.2をコンパイルできた人いますか?
Companion CDで入る/opt/sfw/bin/gcc (2.95.3)を使って
やっているのですが(make checkの)エラーが消えません。
$ /usr/local/bin/tar xvfz gcc-3.2.tar.gz
$ cd gcc-3.2; mkdir objdir; cd objdir
$ echo $PATH
/opt/sfw/bin /usr/bin /bin /usr/ccs/bin /usr/local/bin
$ ../configure --enable-languages=c,c++ --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --disable-nls
$ /usr/local/bin/make bootstrap (Errorは出ません。)
$ echo $TCL_LIBRARY
/usr/local/lib/tcl8.4
$ echo $DEJAGNULIBS
/usr/local/share/dejagnu
$ /usr/local/bin/make -k check | tee check.log
で,check.logからサマリ部分だけ抜き出すと、
Companion CDで入る/opt/sfw/bin/gcc (2.95.3)を使って
やっているのですが(make checkの)エラーが消えません。
$ /usr/local/bin/tar xvfz gcc-3.2.tar.gz
$ cd gcc-3.2; mkdir objdir; cd objdir
$ echo $PATH
/opt/sfw/bin /usr/bin /bin /usr/ccs/bin /usr/local/bin
$ ../configure --enable-languages=c,c++ --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --disable-nls
$ /usr/local/bin/make bootstrap (Errorは出ません。)
$ echo $TCL_LIBRARY
/usr/local/lib/tcl8.4
$ echo $DEJAGNULIBS
/usr/local/share/dejagnu
$ /usr/local/bin/make -k check | tee check.log
で,check.logからサマリ部分だけ抜き出すと、
291名無しさん@お腹いっぱい。
NGNG === libstdc++-v3 Summary ===
# of expected passes 407
# of unexpected failures 2
# of unexpected successes 10
# of expected failures 16
=== gcc Summary ===
# of expected passes 18688
# of expected failures 66
# of unsupported tests 111
=== g++ Summary ===
# of expected passes 7248
# of unexpected failures 3
# of expected failures 88
# of untested testcases 21
# of unsupported tests 4
bootstrapまでは通っているけどtestsuiteのC++関連の
unexpected failuresがあるのが不安です。
http://gcc.gnu.org/gcc-3.2/buildstat.htmlを見ると
(Test resultsでエラーがある人もいるけど)Successfulの
人もそれ以上に結構いて、なんで私のだけエラーが出るのかと...
# of expected passes 407
# of unexpected failures 2
# of unexpected successes 10
# of expected failures 16
=== gcc Summary ===
# of expected passes 18688
# of expected failures 66
# of unsupported tests 111
=== g++ Summary ===
# of expected passes 7248
# of unexpected failures 3
# of expected failures 88
# of untested testcases 21
# of unsupported tests 4
bootstrapまでは通っているけどtestsuiteのC++関連の
unexpected failuresがあるのが不安です。
http://gcc.gnu.org/gcc-3.2/buildstat.htmlを見ると
(Test resultsでエラーがある人もいるけど)Successfulの
人もそれ以上に結構いて、なんで私のだけエラーが出るのかと...
292名無しさん@お腹いっぱい。
NGNG $ cd gcc/
$ for file in *.o ; do cmp $file stage2/$file; done
でのstage2とstage3の比較はOKのようなのですが...
そもそもtestsuiteでunexpexted failuresが0になるものでしょうか。
gccをsourceからbuildするのは初めてなのでよく作法/流儀が...
Package版があるようなのでそっちを入れた方がいいんでしょうか。
$ for file in *.o ; do cmp $file stage2/$file; done
でのstage2とstage3の比較はOKのようなのですが...
そもそもtestsuiteでunexpexted failuresが0になるものでしょうか。
gccをsourceからbuildするのは初めてなのでよく作法/流儀が...
Package版があるようなのでそっちを入れた方がいいんでしょうか。
NGNG
gcc3.xをメインに使わないやしは氏ね
294名無しさん@お腹いっぱい。
NGNG gcc 3.2.1
http://gcc.gnu.org/gcc-3.2/changes.html
http://gcc.gnu.org/gcc-3.2/changes.html
NGNG
gcc-3.2でperl-5.6.1がmake出来ない(´・ω・`) ショボーン
NGNG
>>295
もしよければ詳細キボンヌ
gcc-3.2は最適化でバグがあるらしいね…「-fno-strength-reduce」を追加して対処
した方がいいらしい(Vim-6.1のパッチ260より)
gcc-3.2.1ではfixされているのかな?
もしよければ詳細キボンヌ
gcc-3.2は最適化でバグがあるらしいね…「-fno-strength-reduce」を追加して対処
した方がいいらしい(Vim-6.1のパッチ260より)
gcc-3.2.1ではfixされているのかな?
297295
NGNG これと同じ ttp://archive.develooper.com/perl5-porters@perl.org/msg84835.html
パッチあったんで助かったYo!
パッチあったんで助かったYo!
NGNG
299名無しさん@お腹いっぱい。
NGNG ttp://www.coyotegulch.com/reviews/intel_comp/intel_gcc_bench2.html
300名無しさん@お腹いっぱい。
NGNGNGNG
NGNG
正式書類にはこう書くのか(藁
インターナショナル・ビジネス・マシーンズ・コーポレ−ション
インターナショナル・ビジネス・マシーンズ・コーポレ−ション
NGNG
>>300
使ってもお金とられなきゃ特許でもいいや…
使ってもお金とられなきゃ特許でもいいや…
NGNG
泳がせておいて後で回収と言うunisys方式もあるよ。
305名無しさん@お腹いっぱい。
NGNG 特許を申請した理由が知りたい…
日付からするとパッチを公開した時期なのかな?
日付からするとパッチを公開した時期なのかな?
NGNG
特許申請しないと公開させてもらえなかったのかも。
特許の文書もやけに教育的だし。
特許の文書もやけに教育的だし。
307名無しさん@お腹いっぱい。
NGNG 特許は申請じゃなくて出願するもんだろう。
308あぼーん
NGNGあぼーん
309名無しさん@お腹いっぱい。
NGNG みなさん、リリース間近の3.3は試していますか?
310名無しさん@お腹いっぱい。
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
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 農林水産省「春頃にはコメ価格落ち着くのでは」新米の取引価格、過去最高を更新。 [256556981]
