Opened 7 years ago

Closed 7 years ago

#1676 closed defect (fixed)

clang: compile error in ami_stream

Reported by: kyngchaos Owned by: grass-dev@…
Priority: normal Milestone: 6.4.3
Component: Compiling Version: 6.4.2
Keywords: Cc:
CPU: OSX/Intel Platform: MacOSX

Description

When compiling with clang on OS X, there is a error in ami_stream.h:

In file included from ami_stream.cc:29:
/Users/Shared/src/GRASS/grass-6.4.2-snow/dist.i386-apple-darwin11.3.0/include/grass/iostream/ami_stream.h:252:22: error: 
      default arguments cannot be added to an out-of-line definition of a member
      of a class template
                          AMI_stream_type st = AMI_READ_WRITE_STREAM) {
                                          ^    ~~~~~~~~~~~~~~~~~~~~~
/Users/Shared/src/GRASS/grass-6.4.2-snow/dist.i386-apple-darwin11.3.0/include/grass/iostream/ami_stream.h:470:26: error: 
      default arguments cannot be added to an out-of-line definition of a member
      of a class template
  ...MM_stream_usage usage_type= MM_STREAM_USAGE_OVERHEAD) {
                     ^           ~~~~~~~~~~~~~~~~~~~~~~~~
/Users/Shared/src/GRASS/grass-6.4.2-snow/dist.i386-apple-darwin11.3.0/include/grass/iostream/ami_stream.h:549:62: error: 
      default arguments cannot be added to an out-of-line definition of a member
      of a class template
AMI_err AMI_STREAM<T>::read_array(T *data, off_t len, off_t *lenp=NULL) {
                                                             ^    ~~~~

note that gcc/g++ is not included with Xcode as of 4.3, and gcc/g++ are symlinks to clang.

The llvm compiler is still included in Xcode 4.3, and ami_stream compiles when configured with CC=llvm-gcc CXX=llvm-g++.

Change History (4)

comment:1 in reply to:  description ; Changed 7 years ago by glynn

Replying to kyngchaos:

When compiling with clang on OS X, there is a error in ami_stream.h:

Fixed in trunk with r52130. Recommend back-port.

comment:2 in reply to:  1 Changed 7 years ago by martinl

Component: DefaultCompiling

Replying to glynn:

Replying to kyngchaos:

When compiling with clang on OS X, there is a error in ami_stream.h:

Fixed in trunk with r52130. Recommend back-port.

done in r52133 (devbr6) and r52134 (relbr64)

comment:3 Changed 7 years ago by kyngchaos

It compiles now, thanks

comment:4 Changed 7 years ago by martinl

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.