From: Foster B. <fbr...@ad...> - 2009-07-21 21:11:02
|
FYI -- Sean, any interest in taking a look at this? Blessings, Foster ------ Forwarded Message I have the ASL crash in its own project, 20 lines, crashes in the same way - when stuffing the fourth element into 'aDict': #include <adobe/dictionary.hpp> #include <adobe/name.hpp> int main (int argc, char * const argv[]) { adobe::dictionary_t aDict; adobe::version_1::static_name_t one("one"); adobe::version_1::static_name_t two("two"); adobe::version_1::static_name_t three("three"); adobe::version_1::static_name_t four("four"); aDict[one].assign((adobe::any_regular_t((double)1.0))); aDict[two].assign(adobe::any_regular_t((double)2.0)); aDict[three].assign(adobe::any_regular_t((double)3.0)); aDict[four].assign(adobe::any_regular_t((double)4.0)); return 0; } ------ End of Forwarded Message |
From: Foster B. <fbr...@ad...> - 2009-07-21 21:12:43
|
[Update: This works with gcc 4.0 and 4.2; it crashes with llvm-gcc-4.2] Blessings, Foster On 21/07/09 2:10 PM, "Foster Brereton" <fbr...@ad...> wrote: > FYI -- Sean, any interest in taking a look at this? > > Blessings, > Foster > > ------ Forwarded Message > I have the ASL crash in its own project, 20 lines, crashes in the same way - > when stuffing the fourth element into 'aDict': > > #include <adobe/dictionary.hpp> > #include <adobe/name.hpp> > > int main (int argc, char * const argv[]) { > > adobe::dictionary_t aDict; > > adobe::version_1::static_name_t one("one"); > adobe::version_1::static_name_t two("two"); > adobe::version_1::static_name_t three("three"); > adobe::version_1::static_name_t four("four"); > > aDict[one].assign((adobe::any_regular_t((double)1.0))); > aDict[two].assign(adobe::any_regular_t((double)2.0)); > aDict[three].assign(adobe::any_regular_t((double)3.0)); > aDict[four].assign(adobe::any_regular_t((double)4.0)); > > > return 0; > } > > ------ End of Forwarded Message > > > ------------------------------------------------------------------------------ > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel -- Foster T. Brereton <ἰχθύς>< Ro 3:21-26 Computer Scientist 2 --- Photoshop Engineering --- Adobe Systems "What 99 percent of programmers need to know is not how to build components but how to use them." -- Alexander Stepanov |
From: Sean P. <sea...@ma...> - 2009-07-22 04:52:53
|
The failure is in boost::compressed_pair. I was able to reduce the test to this: --- #include <boost/compressed_pair.hpp> namespace { struct empty_base_t { }; struct empty_t : empty_base_t { }; typedef boost::compressed_pair<empty_t, int> data_t; } // namespace int main () { data_t x; x.second() = 0; x.first() = empty_t(); assert(x.second() == 0); return 0; } --- I haven't yet figured out why compressed_pair is failing - but it appears to be a compiler bug. Sean On Jul 21, 2009, at 2:10 PM, Foster Brereton wrote: > FYI -- Sean, any interest in taking a look at this? > > Blessings, > Foster > > ------ Forwarded Message > I have the ASL crash in its own project, 20 lines, crashes in the > same way - > when stuffing the fourth element into 'aDict': > > #include <adobe/dictionary.hpp> > #include <adobe/name.hpp> > > int main (int argc, char * const argv[]) { > > adobe::dictionary_t aDict; > > adobe::version_1::static_name_t one("one"); > adobe::version_1::static_name_t two("two"); > adobe::version_1::static_name_t three("three"); > adobe::version_1::static_name_t four("four"); > > aDict[one].assign((adobe::any_regular_t((double)1.0))); > aDict[two].assign(adobe::any_regular_t((double)2.0)); > aDict[three].assign(adobe::any_regular_t((double)3.0)); > aDict[four].assign(adobe::any_regular_t((double)4.0)); > > > return 0; > } > > ------ End of Forwarded Message > > > ------------------------------------------------------------------------------ > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel |
From: Sean P. <sea...@ma...> - 2009-07-22 17:05:54
|
I narrowed it down to the following - clearly a compiler bug. I'll file a Radar report. Sean ---- #include <cassert> namespace { struct empty_base_t { }; struct empty_t : empty_base_t { }; struct pair_t : empty_t { empty_t& first() { return *this; } int& second() { return second_m; } int second_m; }; } // namespace int main () { pair_t x; x.second() = 0; x.first() = empty_t(); assert(x.second() == 0); return 0; } ---- On Jul 21, 2009, at 2:10 PM, Foster Brereton wrote: > FYI -- Sean, any interest in taking a look at this? > > Blessings, > Foster > > ------ Forwarded Message > I have the ASL crash in its own project, 20 lines, crashes in the > same way - > when stuffing the fourth element into 'aDict': > > #include <adobe/dictionary.hpp> > #include <adobe/name.hpp> > > int main (int argc, char * const argv[]) { > > adobe::dictionary_t aDict; > > adobe::version_1::static_name_t one("one"); > adobe::version_1::static_name_t two("two"); > adobe::version_1::static_name_t three("three"); > adobe::version_1::static_name_t four("four"); > > aDict[one].assign((adobe::any_regular_t((double)1.0))); > aDict[two].assign(adobe::any_regular_t((double)2.0)); > aDict[three].assign(adobe::any_regular_t((double)3.0)); > aDict[four].assign(adobe::any_regular_t((double)4.0)); > > > return 0; > } > > ------ End of Forwarded Message > > > ------------------------------------------------------------------------------ > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel |