祝・GCC 3.0リリース

■ このスレッドは過去ログ倉庫に格納されています
1さあね
垢版 |
NGNG
 一昔前は、そこらの商用コンパイラよりも良い最適化をする
といわれたGCCも最近は色あせてきてたけど。。。
 待望の新バージョンリリースで巻き返しなるか?

 とりあえずインストールしてみよう
2005/07/18(月) 07:45:07
バウンダリ関係かねえ。
libpcapを-g付きでcompileしてdebugが王道だと思うけど、
-mpreferred-stack-boundary= 辺りを試してみるのもいいかもねえ。
-march=k8にはなっているよね?
2005/07/18(月) 10:13:07
Linux 2.6.12.3にしてみたら動作が変わった…。

-O -finline-funcionsはokになりました。
-O2 -finline-functionsだと落ちます。
-O2はonになるフラグが多すぎて、ちょっと調べきれないです。

-finline-limitで11までに制限すればok。12以上で落ちます。
-march=k8指定、-mpreferred-stack-boundaryは4,8,12はどれも解決にはなりませんでした。

なんか、デバッグ情報が出るようになったので貼ってみます。libpcap-0.9.3です。
#0 find_levels_r (b=0x0) at optimize.c:222
#1 0x00002aaaaae2df2b in find_levels_r (b=0x6fe7b0) at optimize.c:230
#2 0x00002aaaaae2df1f in find_levels_r (b=0x6fdbc8) at optimize.c:229
#3 0x00002aaaaae2ec40 in opt_loop (root=0x6fdbc8, do_stmts=0)
at optimize.c:251
#4 0x00002aaaaae303fc in bpf_optimize (rootp=0x2aaaaaf463e0)
at optimize.c:1740
#5 0x00002aaaaae2592a in pcap_compile (p=0x6fd2b0, program=0x7fffffaf1260,
buf=0x6fd120 "port 80", optimize=1, mask=16777215) at gencode.c:386
#6 0x00000000004500f4 in ?? ()
#7 0x00002aaaaaf63893 in __libc_start_main () from /lib/libc.so.6

gcc-4.0.1で-fstack-check, 3.4.4で-fstack-protector使ってみたけど何も出ませんでした。
2005/07/18(月) 10:38:15
ifのjumpかな?
-Osだとどうだろう。

-falign-functions -falign-jumps -falign-loops -falign-labels
-freorder-blocks -fprefetch-loop-arrays がオフ。
2005/07/18(月) 11:19:08
-fno-strict-aliasing
をつけるとどうなる?

ttp://makimo.to/2ch/pc8_unix/1106/1106041204.html#582
ttp://slashdot.jp/comments.pl?sid=175355&cid=537217
2005/07/18(月) 11:35:46
>>623
-Osはだめでした。

>>624
いけました。ばっちりです。
いろいろ問題ありそうですけど、今のところこれ以外当たってないんですよね。
portageつかってるから、まずいのがわかっている場合は回避してる可能性がありますが。
626名無しさん@お腹いっぱい。
垢版 |
2005/09/18(日) 16:40:56
gcc4は-O1でも-fprefetch-loop-arrays効くのかな
2005/09/29(木) 09:12:48
4.0.2が出ました。
2005/09/29(木) 21:48:28
3.3や3.4より早いバイナリを作れるようになるのはいつですか?
2005/09/30(金) 00:18:55
4.3や4.4になるまでお待ちください。
2005/09/30(金) 07:45:55
つーか3.3, 3.4でいいじゃん。
4系はerror recoveryちょっと賢くなった気がするが。
2005/09/30(金) 14:43:19
GCCは3.2.xのころが一番早くて安定しててよかった。。。
2005/09/30(金) 14:44:13
631です。漢字間違えた。
「早」 → 「速」
2005/10/24(月) 01:07:39
でも4.xのcc1plusは明らかに3.xのより速いよ。
2005/10/24(月) 06:01:42
4.1のcc1plusは速い。
吐くコードは知らん。
635名無しさん@お腹いっぱい。
垢版 |
2005/11/28(月) 17:33:48
gcc-2.9では通るのにgcc-3.3では voidのとこでエラーになるんですが何故?
prase error before `!' token

2005/11/28(月) 17:46:07
コードさらせYO
2005/11/29(火) 14:54:40
なんでだお!
2005/11/29(火) 16:47:57
それだけの情報で、どう指摘するんだお!
2005/11/29(火) 19:12:21
先生! 問題を明確にしない限り、答える事もできないと思います!
\  
   ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ∧_∧∩
    ( ・∀・)/
 _ / /   /  
\⊂ノ ̄ ̄ ̄ ̄\
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
2005/11/29(火) 19:15:13
(・3・) 先生は出張中です。
2005/12/02(金) 14:04:25
3.4.5 が出ました。
2005/12/06(火) 23:45:35
4.2まだー?
2005/12/12(月) 19:33:39
5.0はどうですか
2005/12/21(水) 10:16:41
>>635
そのgccエラーメッセージおかしいよ
野良ビルドしたんじゃないの?
praseってスペルミスありえない
2005/12/21(水) 14:39:52
エラーメッセージはコピペが基本だよなあ
2005/12/30(金) 15:49:37
ところでアンインストールはどうやったらいいの?
make uninstallだと弾かれる。
2005/12/30(金) 16:06:53
アプリのアンインストールってどうやるの?
http://pc8.2ch.net/test/read.cgi/unix/1051739612/
648名無しさん@お腹いっぱい。
垢版 |
2006/02/25(土) 21:54:59
4.1って安定版?
2006/02/25(土) 22:13:30
まだスナップショットしか出てないと思うけど。
私はLinux on amd64でメインに使ってます。
650名無しさん@お腹いっぱい。
垢版 |
2006/02/26(日) 00:37:13
>649
完成したら4.2として公開されるのでしょうか?
2006/02/26(日) 02:40:45
4.2ってスナップ出てるんあないっけ?
2006/02/26(日) 22:37:36
>>650
4.1が完成したら4.1として公開されますよ。
Linuxみたいに「このバージョンは安定版、このバージョンは実験版」
という区別はありません。
653648
垢版 |
2006/02/26(日) 23:58:48
どうもありがとうございました
2006/02/27(月) 03:06:18
そうはいってもGCCってmajor > minorなうちは実験版という評価がもっぱらのような
2006/02/27(月) 18:26:02
2.5.8とか
2006/02/27(月) 18:48:03
gcc-1.4.2 はいいデキでしたよ。
2006/02/28(火) 12:40:22
>>654
評価っていうかジンクスでしょ
2006/03/01(水) 15:25:28
gcc-4.1.0 キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
659名無しさん@お腹いっぱい。
垢版 |
2006/03/02(木) 04:56:28
maji?
2006/03/02(木) 06:29:44
>>659
http://gcc.gnu.org/

> February 28, 2006
> GCC 4.1.0 has been released.

http://gcc.gnu.org/gcc-4.1/
2006/03/02(木) 21:52:08
4.0.2 までは素直にbuild通ってたのに4.1.0で落ちる orz
Solarisダメポ
2006/03/03(金) 12:29:17
Solarisはgccのバージョンが上がる最初の版は大抵そのままではうまくいかないw
2006/03/04(土) 18:54:23
New GCC Heavy on Optimization
http://www.internetnews.com/dev-news/article.php/3588926
664名無しさん@お腹いっぱい。
垢版 |
2006/03/05(日) 11:34:19
>>663 kwsk
665!= 633
垢版 |
2006/03/05(日) 15:06:27
>>664
十分に詳しいと思うが。もっと必要ならWikiなりML Archiveなり漁るが良し。
666名無しさん@お腹いっぱい。
垢版 |
2006/03/05(日) 17:30:07
「今度こそ、GCC 4.1正式リリース」
http://slashdot.jp/article.pl?sid=06/03/05/0253210
2006/03/11(土) 16:00:02
4.1使った人、どうよ?
2006/03/12(日) 15:01:42
.0のバージョンの割には3.4.0や4.0.0の時よりいい
2006/03/13(月) 19:49:58
GCC 4.0.3
http://kerneltrap.org/node/6320
2006/03/14(火) 10:19:50
sparc Solaris9 でlibtool と texinfo 入れて --disable-libgcj したらなんとか
gcc4.1.0コンパイルできた・・・
-m64 も使える。さて、何からやるか。
2006/03/15(水) 17:53:04
ちょっとコンパイルしてみたけど、以前のバージョンなら通ってたものが
エラーになるね。
error: static declaration of 'XXXXX' follows non-static declaration
とか、、、該当行のstatic外したら通ったが。
2006/03/19(日) 02:39:52
4系列になってから、全体的にCの構文に厳しくなったらしい。
muttなんかも構文警告が構文エラーになって、ビルドできなかった事がある。
2006/03/19(日) 22:33:39
3も2よりだいぶ厳しくなったといわれてたな。
2006/03/20(月) 12:26:36
LLVMまだ?
2006/03/25(土) 16:36:31
gcc4.1.0でgcc4.1.0を何回もコンパイルすると不定期にアセンブラが.identが見付からないよと言う壊れたコンパイラになる
2006/05/26(金) 15:37:24
gcc4.1.1きた?
2006/05/26(金) 17:14:25
>>676
ktkr
ttp://gcc.gnu.org/gcc-4.1/
2006/05/30(火) 15:35:05
gcc-4.1.1 Solaris玉砕 T_T);
2006/05/30(火) 20:31:56
GCCもそうだけど、GNUのツールってだいぶLinux-centricに
なってきて、広い影響力は以前より落ちている気がするね。
2006/05/31(水) 15:24:52
NetBSD-currentなんかも、ずっと3.3.3のまんまだもんな。

*BSDにおいてはGNU関連ツールは使わざるを得ないから使ってると
誰かが雑誌で言ってたな。
2006/05/31(水) 20:49:12
NetBSDは只今GCC4に切り替え中。

確かに NetBSD ぐらい CPU に対応してると、それ全部で使えるコンパイラを
新たに用意するのは難しいでしょうね。
GCCでもマイナーなCPUは切り捨てそうですけど。
2006/06/27(火) 20:26:29
OpenCC書いてくれTheo
683名無しさん@お腹いっぱい。
垢版 |
2006/09/03(日) 11:45:37
gcc 大きくなりすぎ
もっと軽い free な cc ないんだっけ?
2006/09/03(日) 12:14:51
お前には関係ない。
2006/09/03(日) 12:17:23
ビーのコアチームとやらで作ればいいじゃんwwwwwwwww
2006/09/04(月) 00:21:07
>>683
TenDRAを入れたいんだが未手付
ttp://www.tendra.org/
ttp://www.ten15.org/

後lccというのがある
ttp://www.cs.princeton.edu/software/lcc/
2006/09/04(月) 02:43:19
吐くコードが小さくて速けりゃgccが大きくたって問題はなかろうに。
軽い処理系だと十分なoptimizeができるとは思えんが。
2006/09/04(月) 13:12:28
gccもそのうちXみたいにモジュール化するんだろうか
2006/09/04(月) 14:12:08
TCC: Tiny C Compiler
http://fabrice.bellard.free.fr/tcc/

>>687
小さい軽い処理系に最適化なんて求めないよ
2006/09/04(月) 15:46:35
サイズに関する最適化は欲しい
2006/09/04(月) 18:40:32
熟女系の作品だとサイズが縮みます。
2006/09/04(月) 20:52:37
膨らむ奴もいる
2007/10/12(金) 01:45:29
保守
2007/10/18(木) 17:53:02
>>681
gccの問題というより、
NetBSDの方がバージョン移行のCPUテスター不足なんじゃないの?
Linuxはバージョン上げるのに成功しているし。
マイナーだと厳しいよね。
2007/11/04(日) 14:20:56
>>694
Linuxはとりあえずバージョン上げて、何かあったら大騒ぎするというやり方。
2008/02/16(土) 21:02:53
「Linuxは」というほどディストリでgccの扱い共通してない。
カーネルがgcc依存ってのくらい。
2008/06/06(金) 17:54:46
Fedora Core辺りは、
> とりあえずバージョン上げて、何かあったら大騒ぎする
のが仕事だしね。
698名無しさん@お腹いっぱい。
垢版 |
2008/06/24(火) 22:58:25
ほう、ついにGCC3.0が出たのか・・・時代の最先端を行く俺には欠かせないツールになるよ
699名無しさん@お腹いっぱい。
垢版 |
2008/08/11(月) 12:31:36
ところで、昔のC言語ではダメだったのに、今のCコンパイラでは
double sqrt(double); に
sqrt(2) とか引数に整数などdouble でないものを書いてもちゃんと
コンパイルして2の平方根の近似値を返すのはどうして?
プロトタイプ宣言を元にして、引数の型の自動変換が行われるの?
それってC++の仕様じゃないかな?
2008/08/11(月) 12:46:07
タイムトラベラーの方ですか?

C89以降、関数のプロトタイプ宣言(とそれに基いた昇格)はCでも当たり前の事ですが。
701名無しさん@お腹いっぱい。
垢版 |
2008/08/11(月) 16:11:49
ついでに質問しちゃおう。xを変数とするとき、

x = x++;

という代入文は、結果がどうなるか不定だと思うんだけども、
そこのあたりどうなっているでしょうか?
2008/08/11(月) 16:13:33
ム板で聞いた方がよくね
2008/08/11(月) 16:21:06
>>701
おいおい、よく見てみろ。(例が悪いよ)
= と ++ の動作が、どちらが先だとしても x の値は +1 されるだろ。
よって、結果がどうなるか不定ではない。
2008/08/11(月) 16:22:53
>>701
つ シーケンスポイント
規格持っているならそこを読んで。
ないならググッて。
2008/08/11(月) 16:28:20
せっかく2.95を超える世界制覇バージョンとなることが約束された3.0がリリースされたのに
他に言うことはないのか?
2008/08/11(月) 16:36:02
ないな。
707名無しさん@お腹いっぱい。
垢版 |
2008/08/11(月) 17:54:18
「シーケンスポイントに関する規約」に適合していないプログラムは
実行結果が保証されないことが分かった。
 さて、そうなると、規約を破っているソースコードに対しては、
それを警告してくれるコンパイラの機能が望まれる。
GCCではそのあたりがどうなっているのだろうか?
2008/08/11(月) 18:27:46
>>707
試せよ。
2008/08/11(月) 22:29:33
もうこの板のスレ2年過ぎたら強制dat落ちにしようぜ・・・
2008/08/12(火) 01:20:16
5年先まで見通してスレ立てればいいだけの話
2008/08/12(火) 11:18:38
投票所を作って、反対意見が出ないようなら削除依頼とかな
依頼してもなかなか削除されねーけど
2008/08/14(木) 10:05:42
>>701
なつかしいな、それ。KYKだっけ?
2008/08/14(木) 21:37:52
>>703
それは冗談で言っているのか。
714名無しさん@お腹いっぱい。
垢版 |
2008/08/16(土) 04:42:49
ぐぐった。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20958&forum=12&4
2008/08/18(月) 03:16:26
>>712
Yじゃねえ。
Nだ。


2008/08/18(月) 05:34:08
knkなつかしい.

ttp://pc.2ch.net/unix/kako/970/970678691.html
ttp://pc.2ch.net/unix/kako/1022/10221/1022165761.html
ttp://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/68560
ttp://web.archive.org/web/20030415200641/http://www.interq.or.jp/writer/knk/kyo/may23.html
2008/08/25(月) 03:29:13
このしらいさんという方も勘違いしてますね。
718名無しさん@お腹いっぱい。
垢版 |
NGNG?2BP(0)
OpenBSDは未だに、2.95ですね。
719名無しさん@お腹いっぱい。
垢版 |
2009/01/11(日) 15:34:03
gccで関数プロトタイプ宣言を自動的に生成する機能があると聞いたのですが、
ぐぐってみてもそのような機能は見つかりませんでした。
もし本当にそういう機能があれば、どなたか教えていただけないでしょうか。
またgccに限らず、*.cから*.hを自動的に生成するツールについておすすめのものがあれば教えてください。
2009/01/11(日) 19:31:36
GCC3スレにようこそw

ttp://www.kouno.jp/home/c_faq/c11.html#31
> 関数プロトタイプの自動生成ソフトはいくつか存在する。多くはlint に手を
> 入れたものになっている。CPROTOというプログラムが1992年3 月に
> comp.sources.miscにポストされた。他にもcextractというツー ルが存在する。
> コンパイラのベンダーの多くは単純なユーティリティー を用意している。
> 質問18.16も参照のこと。(古いコード用にプロトタ イプを生成するときは"狭い"
> 引数に注意すること。質問11.3も参照の こと。)

gccにそういう機能ってあったかなぁ
721名無しさん@お腹いっぱい。
垢版 |
2011/06/11(土) 00:12:40.83
class A { public: A(){} };

class B : public A
{
B() {A::A();}
};


↑こういうコードで、g++-4.1.2だとエラーなし、
g++-4.6.0だと cannot call constructor 'B::A' directly
というエラーが出ます。どう修正するのが適切ですか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況