[Bug c++/63876] New: static data members of template classes w/ default ctors gives undefined reference error
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63876 Bug ID: 63876 Summary: static data members of template classes w/ default ctors gives undefined reference error Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: aleaverfay at gmail dot com Created attachment 33973 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33973action=edit .cc, .hh, and .ii files along with the compilation command Static data members of template classes that use default constructors don't seem to get symbols emitted for them. I have a case where I cannot use anything besides the default constructor for this static data member: std::mutex. I've created a small test case that gives me the same problem. gcc version: 4.8.2 (Ubuntu 4.8.2-19ubuntu1) system type: Ubuntu 14.04.1 (I don't know what options were given to g++ when it was built; how do I find that out?) command line: (also in attachment) g++ -std=c++0x main.cc test.cc -I. compiler output: /tmp/cci1VgZe.o: In function `Foo::set_bar(int)': test.cc:(.text+0x86): undefined reference to `CRTP_classFoo::mutex_' collect2: error: ld returned 1 exit status
[Bug c++/63876] static data members of template classes w/ default ctors gives undefined reference error
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63876 --- Comment #2 from Andrew Leaver-Fay aleaverfay at gmail dot com --- Thank you!
[Bug libgomp/39217] g++4.3.3 OpenMP (aka omp) for loop hangs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39217 --- Comment #3 from Andrew Leaver-Fay aleaverfay at gmail dot com 2012-01-09 04:12:16 UTC --- Hi, I'm working with a large program and I am not sure if there are global variables that are being read without my knowledge. I knew to look for global variables, but, not finding any, I didn't know what else I could do. I was hoping for something along the lines of oh, pop open your program in gdb and type X and then when the craziness appears, you can check the stacks of the miscreant threads or start dumping X messages to the screen at points Y and Z and you should see one thread fail. Debugging multithreaded programs is tricky. Sadly, I never got this program to work with openmp. I've given up. Thank you for at least getting back to me. Best, Andrew On Sun, Jan 8, 2012 at 4:33 PM, pinskia at gcc dot gnu.org gcc-bugzi...@gcc.gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39217 Andrew Pinski pinskia at gcc dot gnu.org changed: What |Removed |Added Status|WAITING |RESOLVED Resolution| |INVALID --- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-08 21:33:08 UTC --- No testcase in over 2 years so closing as invalid. -- Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You reported the bug.
[Bug c++/47478] New: internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47478 Summary: internal compiler error Product: gcc Version: 4.4.5 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: aleaver...@gmail.com This file compiles just fine with earlier versions of G++. The compiler error appears at the end of a function which is the last function in the file. $ g++ -v Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) ... Command line: $ g++ -save-temps -o build/src/release/linux/2.6/64/x86/gcc/protocols/loophash/LoopHashMap.os -c -std=c++98 -pipe -ffor-scope -W -Wall -pedantic -Wno-long-long -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=2 -s -Wno-unused-variable -fPIC -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_38_0 -I/usr/local/include -I/usr/include src/protocols/loophash/LoopHashMap.cc g++: warning: -pipe ignored because -save-temps specified In file included from src/protocols/loophash/LoopHashMap.cc:18: src/protocols/loophash/LoopHashMap.hh:120: warning: type qualifiers ignored on function return type src/protocols/loophash/LoopHashMap.cc:360: warning: type qualifiers ignored on function return type In file included from external/boost_1_38_0/boost/unordered_map.hpp:17, from src/protocols/loophash/LoopHashMap.hh:22, from src/protocols/loophash/LoopHashMap.cc:18: external/boost_1_38_0/boost/unordered/detail/hash_table_impl.hpp: In member function ‘typename boost::unordered_detail::hash_types_equivalent_keysstd::pairconst Key, T, Key, Hash, Pred, Alloc::iterator boost::unordered_multimapKey, T, Hash, Pred, Alloc::insert(const std::pairconst Key, T) [with Key = long unsigned int, T = long unsigned int, Hash = protocols::match::bin_index_hasher, Pred = std::equal_tolong unsigned int, Alloc = std::allocatorstd::pairconst long unsigned int, long unsigned int ]’: external/boost_1_38_0/boost/unordered/detail/hash_table_impl.hpp:101: warning: ‘anonymous’ may be used uninitialized in this function external/boost_1_38_0/boost/unordered/detail/hash_table_impl.hpp:210: note: ‘anonymous’ was declared here src/protocols/loophash/LoopHashMap.cc: In member function ‘void protocols::loophash::LoopHashMap::read_db(std::string, std::pairlong unsigned int, long unsigned int, std::maplong unsigned int, bool, std::lesslong unsigned int, std::allocatorstd::pairconst long unsigned int, bool )’: src/protocols/loophash/LoopHashMap.cc:436: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-4.4/README.Bugs for instructions.
[Bug c++/47478] internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47478 --- Comment #1 from Andrew Leaver-Fay aleaverfay at gmail dot com 2011-01-26 17:30:58 UTC --- Created attachment 23135 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23135 -save-temps file (.ii) that produces this crash (too big to upload without bzipping it -- sorry!)
[Bug c++/47478] internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47478 --- Comment #2 from Andrew Leaver-Fay aleaverfay at gmail dot com 2011-01-26 18:21:36 UTC --- I'd love a suggestion on how the code could be changed so that I no longer get this segfault.
[Bug libgomp/39217] New: g++4.3.3 OpenMP (aka omp) for loop hangs
I'm testing some autoparallelization on my mactel running g++4.3.3 which I downloaded from macports. In every other run, I see my code hang, though I cannot find an error in gdb. Through a long series of cout-debugging steps, have traced it to the beginning of an omp loop. The code does not hang on a linux box running g++4.1.0. The code in question looks like this: utility::vector1 DOF_Node * dof_nodes; //dof_nodes.reserve( min_map.size() ); for ( MinimizerMap::iterator iter = min_map.begin(), iter_e = min_map.end(); iter != iter_e; ++iter ) { dof_nodes.push_back( *iter ); } std::cout s std::flush; int const ndofs = dof_nodes.size(); #pragma omp parallel for for ( int ii = 1; ii = ndofs; ++ii ) { std::cout * std::flush; DOF_Node dof_node( *dof_nodes[ ii ] ); std::cout ( ii , dof_nodes[ ii ] ) std::flush; // loop through atoms first moved by this torsion for ( DOF_Node::AtomIDs::const_iterator it1=dof_node.atoms().begin(), it1e = dof_node.atoms().end(); it1 != it1e; ++it1 ) { id::AtomID const atom_id( *it1 ); scorefxn.eval_atom_derivative( atom_id, pose, min_map.domain_map(), dof_node.F1(), dof_node.F2() ); } // atom1 } // tor //std::cout B std::flush; sample output from a hang: notice that it ends with s SEADb0x1SEADf0SEADb0x1SEADf0*(0x2c,0x83933c0)SEADb0x1SEADf0SEADb0x1SEADf0SEADb0x1SEADf0*(0x2d,0x8397aa0)SEADb0x1SEADf0SEADb0x1SEADf0*(0x2e,0x8393360)SEADb0x1SEADf0SEADb0x1SEADf0SEADb0x1SEADf0*(0x2f,0x83c67d0)SEADb0x1SEADf0SEADb0x1SEADf0SEADb0x1SEADf0*(0x30,0x83c6750)SEADb0x1SEADf0*(0x31,0x83c66d0)SEADb0x1SEADf0SEADb0x1SEADf0*(0x32,0x83c6650)SEADb0x1SEADf0SEADb0x1SEADf0SEADb0x1SEADf0*(0x33,0x83c65d0)SEADb0x1SEADf0SEADb0x1SEADf0s SEAD is from the function called within this loop -- Scorefunction Evaluate Atom Derivative. -- I output SEAD twice, once with a b for beginning of the function and once with an f for finished. (It's unclear to me why the integer ii is getting written out in hex.) The code hangs in several places besides this loop. I have not found any similar bug reporting for g++4.3.3 on the mac. It is certainly possible that there is a bug somewhere else in the code that results in the hang here. I'm at a loss, though, for how to detect it. If anyone has even the most mild of suggestions of where to begin, I'd be glad to hear them. -- Summary: g++4.3.3 OpenMP (aka omp) for loop hangs Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgomp AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: aleaverfay at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39217
[Bug c++/38663] New: OpenMP directive causes internal compiler error
The code compiles without warning if I comment out the omp pragmas. (Where/how do I upload the .ii file?) $ ~/gcc4.4/usr/local/bin/g++ --version g++ (GCC) 4.3.0 20080125 (experimental) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ~/gcc4.4/usr/local/bin/g++ -o build/src/release/macos/10.4/32/x86/gcc/core/pack/rotamer_set/RotamerSets.os -c -pipe -ffor-scope -fopenmp -W -Wall -pedantic -Wno-long-long -fno-exceptions -O2 -ffast-math -funroll-loops -finline-functions -finline-limit=2 -s -Wno-unused-variable -march=prescott -fPIC -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/macos/32/gcc -Isrc/platform/macos/32 -Isrc/platform/macos -I/Users/plato/gcc4.4/usr/local/include -I/usr/local/include -I/usr/include src/core/pack/rotamer_set/RotamerSets.cc -save-temps -- Summary: OpenMP directive causes internal compiler error Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: aleaverfay at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38663
[Bug c++/38663] OpenMP directive causes internal compiler error
--- Comment #2 from aleaverfay at gmail dot com 2008-12-29 20:27 --- Debug build works just fine. -O2 and -O3 both fail. Release build is fine with g++4 on linux. $g++4 --version g++4 (GCC) 4.1.0 20060515 (Red Hat 4.1.0-18) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38663
[Bug c++/38663] OpenMP directive causes internal compiler error
--- Comment #1 from aleaverfay at gmail dot com 2008-12-29 20:21 --- Created an attachment (id=17003) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17003action=view) (Gzipped for size) Preprocessed source file that generates the internal compile error. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38663
[Bug middle-end/38663] OpenMP directive causes internal compiler error
--- Comment #5 from aleaverfay at gmail dot com 2008-12-29 21:30 --- (In reply to comment #3) So what gcc are you using? 4.4 (which revision) or 4.3.0 20080125? In any case, this compiles just fine for me with both 4.3.2-RH and 4.4 trunk. I downloaded gcc4.4 as a package here: http://hpc.sourceforge.net/ taking the intel mac version: gcc-intel-bin.tar.gz With that installation came g++4.3. Go figure. If 4.3.0 is not the latest release of an intel-mac compatible g++, can you point me to where I can download it? (I'd greatly prefer not to build from source, as my previous experiences doing so have been unpleasant). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38663
[Bug middle-end/38663] OpenMP directive causes internal compiler error
--- Comment #6 from aleaverfay at gmail dot com 2008-12-29 21:36 --- (In reply to comment #4) Also what is the ICE? OOH -- ICE == internal compiler error. http://www.acronymfinder.com/ICE.html It's a bus error. $ ~/gcc4.4/usr/local/bin/g++ -o build/src/release/macos/10.4/32/x86/gcc/core/pack/rotamer_set/RotamerSets.os -c -pipe -ffor-scope -fopenmp -W -Wall -pedantic -Wno-long-long -fno-exceptions -O2 -ffast-math -funroll-loops -finline-functions -finline-limit=2 -s -Wno-unused-variable -march=prescott -fPIC -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/macos/32/gcc -Isrc/platform/macos/32 -Isrc/platform/macos -I/Users/plato/gcc4.4/usr/local/include -I/usr/local/include -I/usr/include src/core/pack/rotamer_set/RotamerSets.cc -save-temps g++: warning: -pipe ignored because -save-temps specified src/core/pack/rotamer_set/RotamerSets.cc: In member function 'void core::pack::rotamer_set::RotamerSets::precompute_two_body_energies(const core::pose::Pose, const core::scoring::ScoreFunction, core::graph::GraphCOP, core::pack::interaction_graph::PrecomputedPairEnergiesInteractionGraphOP, bool)': src/core/pack/rotamer_set/RotamerSets.cc:317: internal compiler error: Bus error Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. If it helps, I'm building on a Mac OSX 10.4.11 with an Intel Core 2 duo processor. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38663
[Bug middle-end/38663] OpenMP directive causes internal compiler error
--- Comment #7 from aleaverfay at gmail dot com 2008-12-29 21:38 --- In reply to comment #6) (In reply to comment #4) Also what is the ICE? OOH -- ICE == internal compiler error. http://www.acronymfinder.com/ICE.html It's a bus error. $ ~/gcc4.4/usr/local/bin/g++ -o build/src/release/macos/10.4/32/x86/gcc/core/pack/rotamer_set/RotamerSets.os -c -pipe -ffor-scope -fopenmp -W -Wall -pedantic -Wno-long-long -fno-exceptions -O2 -ffast-math -funroll-loops -finline-functions -finline-limit=2 -s -Wno-unused-variable -march=prescott -fPIC -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/macos/32/gcc -Isrc/platform/macos/32 -Isrc/platform/macos -I/Users/plato/gcc4.4/usr/local/include -I/usr/local/include -I/usr/include src/core/pack/rotamer_set/RotamerSets.cc -save-temps g++: warning: -pipe ignored because -save-temps specified src/core/pack/rotamer_set/RotamerSets.cc: In member function 'void core::pack::rotamer_set::RotamerSets::precompute_two_body_energies(const core::pose::Pose, const core::scoring::ScoreFunction, core::graph::GraphCOP, core::pack::interaction_graph::PrecomputedPairEnergiesInteractionGraphOP, bool)': src/core/pack/rotamer_set/RotamerSets.cc:317: internal compiler error: Bus error Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. If it helps, I'm building on a Mac OSX 10.4.11 with an Intel Core 2 duo processor. Line 314 is the next non-whitespace line after the end of the omp parallel block. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38663