structs of structs don't seem to work
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
まず、報告されている OSL 1.13.12.0.2 環境で、示されている StructA と StructB の初期化ケースを再現します。報告者は osltoy を使用していると述べていますが、issue 2035 によって阻まれています。一時変数のケースで引き続きゼロが生成されるかを確認し、修正を定義する前に、関連するコンパイラまたはコード生成の経路を特定してください。
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
Adding a struct to a struct seems to result in undefined initialization behavior.
OSL version and dependencies
- OSL branch/version: 1.13.12.0.2
- OS: Rocky Linux release 9.4
- C++ compiler: clang-15.0.7.3
- LLVM version: llvm-15.0.7.1
- OIIO version: OpenImageIO-2.4.13.0.4
- Qt version: Qt-5.15.3.8
To Reproduce
Steps to reproduce the behavior:
Given the following structs:
struct StructA
{
float cellRand;
point minDist;
point closest;
point secondClosest;
float edgeDist;
};
struct StructB
{
StructA result;
int level;
float scale;
};
and given a shading function with signature:
StructA somefunction();
If you try and initialize using:
StructB value = StructB(somefunction(), 0, 1.0);
all the attributes are correctly set in the various structs, but if, instead, you do:
StructA temp = somefunction();
StructB value = StructB(temp, 0, 1.0);
then value is incorrect, and the result member is filled with zeroes.
Evidence
- I was trying to assemble a full test example using osltoy, but was blocked by: https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/issues/2035
It'd be great for someone else to confirm they can reproduce this behavior, thanks!
- 主要言語
- C++
- スター
- 2.3k
- フォーク
- 414
- 平均マージ
- 2日 14時間
- マージ済み PR(30日)
- 13
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
AcademySoftwareFoundation/OpenShadingLanguage のほかの issue
-
build / testing / port / CI
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
AcademySoftwareFoundation/OpenShadingLanguage#2148 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
AcademySoftwareFoundation/OpenShadingLanguage#2109 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
AcademySoftwareFoundation/OpenShadingLanguage#2175 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
AcademySoftwareFoundation/OpenShadingLanguage#2146 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
AcademySoftwareFoundation/OpenShadingLanguage#2135 ·
メンテナーはふだん 1 日以内に返信
AcademySoftwareFoundation/OpenShadingLanguage の issue をすべて見る
似ている issue
-
bug
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
isl-org/Open3D#7585 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
Unconfirmed bug
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
luanti-org/luanti#17605 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
area: config area: firmware priority: P2 - medium size: S type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Mizithra/ActiveTerrain#16 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
grumpycoders/pcsx-redux#2171 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 2 日以内に返信