[Bug c++/63876] New: static data members of template classes w/ default ctors gives undefined reference error

2014-11-14 Thread aleaverfay at gmail dot com
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

2014-11-14 Thread aleaverfay at gmail dot com
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

2012-01-08 Thread aleaverfay at gmail dot com
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

2011-01-26 Thread aleaverfay at gmail dot com
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

2011-01-26 Thread aleaverfay at gmail dot com
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

2011-01-26 Thread aleaverfay at gmail dot com
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

2009-02-17 Thread aleaverfay at gmail dot com
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

2008-12-29 Thread aleaverfay at gmail dot com
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

2008-12-29 Thread aleaverfay at gmail dot com


--- 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

2008-12-29 Thread aleaverfay at gmail dot com


--- 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

2008-12-29 Thread aleaverfay at gmail dot com


--- 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

2008-12-29 Thread aleaverfay at gmail dot com


--- 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

2008-12-29 Thread aleaverfay at gmail dot com


--- 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