スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]©2ch.net (467レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
408: 2024/05/03(金) 13:00:20.63 ID:Vf2Lxl94(1)調 AAS
clangは、--targetオプションでターゲットを変更できますが
ひょんなことから、どうも、このオプションを無指定の時の
デフォルト値が、システムにインストールされているmsvcの
バージンによって変化するようなのですが、詳しい方
いらっしゃいませんか。たとえばそれにより、
char16_tがbuilt-in typeになるかどうかに違いが出てきます。
VS2019をインストールしていないとき、clang10やclang16(?)
は、デフォルトでは、char16_tがbuilt-in typeではありません。
このとき、出力された*.llの冒頭に灰化の記述があります:
target triple = "i686-pc-windows-msvc14.0.50727"
ところが、
-fms-compatibility
-fms-compatibility-version=19
を指定すると、char16_tがbuilt-in typeになり、
*.ll の冒頭の記述が変化し、
target triple = "i686-pc-windows-msvc19.0.0"
となります。上記のオプションの代わりにコマンドラインに
--target=i686-pc-windows-msvc19.0.0
と指定してもchar16_tに関してはbuilt-in type になりました。
ここまではいいのですが、不思議なことに、これらのオプションを
全く指定しなくても、なぜか、char16_t が built-in typeになって
いたことがありました。そのときは、インストールした時点で
VS2019がインストールされていたと思います。
今はインストールされていません。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.021s