[Insight-developers] Re: Explicit Instantiation + SGI Builds

Hans Johnson hans-johnson at uiowa.edu
Wed Feb 21 10:25:24 EST 2007


Brad,

I had a feeling that you would know what was wrong!  Let me know if you want

Thanks,
Hans


PS:  Some more of the compiler errors indicate that _Pragma is being put
into the itk namespace as a function.  Perhaps there was a namespace change
in 7.4 that forces this error.



cc-1077 CC: ERROR File =
/scratch/purify/Testing/SGI/DEBUG/Insight/Code/Common/Templates/itkPathUIO22
.h, Line = 5
  The indicated declaration has no storage class or type specifier.

  namespace itk { _Pragma("do_not_instantiate ITK_TEMPLATE_3(class Path<
unsigned int,itk::Offset<2>,2 >)") ; namespace Templates { typedef Path<
unsigned int,itk::Offset<2>,2 > PathUIO22; } }
                  ^

cc-1140 CC: ERROR File =
/scratch/purify/Testing/SGI/DEBUG/Insight/Code/Common/Templates/itkPathUIO22
.h, Line = 5
  A value of type "const char *" cannot be used to initialize an entity of
type
          "int".

  namespace itk { _Pragma("do_not_instantiate ITK_TEMPLATE_3(class Path<
unsigned int,itk::Offset<2>,2 >)") ; namespace Templates { typedef Path<
unsigned int,itk::Offset<2>,2 > PathUIO22; } }
                          ^

cc-1077 CC: ERROR File =
/scratch/purify/Testing/SGI/DEBUG/Insight/Code/Common/Templates/itkChainCode
Path2.h, Line = 5
  The indicated declaration has no storage class or type specifier.

  namespace itk { _Pragma("do_not_instantiate ITK_TEMPLATE_1(class
ChainCodePath< 2 >)") namespace Templates { typedef ChainCodePath< 2 >
ChainCodePath2; } }
                  ^

cc-1220 CC: ERROR File =
/scratch/purify/Testing/SGI/DEBUG/Insight/Code/Common/Templates/itkChainCode
Path2.h, Line = 5
  The variable "itk::_Pragma" has already been defined.

  namespace itk { _Pragma("do_not_instantiate ITK_TEMPLATE_1(class
ChainCodePath< 2 >)") namespace Templates { typedef ChainCodePath< 2 >
ChainCodePath2; } }
                  ^

cc-1140 CC: ERROR File =
/scratch/purify/Testing/SGI/DEBUG/Insight/Code/Common/Templates/itkChainCode
Path2.h, Line = 5
  A value of type "const char *" cannot be used to initialize an entity of
type
          "int".

  namespace itk { _Pragma("do_not_instantiate ITK_TEMPLATE_1(class
ChainCodePath< 2 >)") namespace Templates { typedef ChainCodePath< 2 >
ChainCodePath2; } }
                          ^

cc-1065 CC: ERROR File =
/scratch/purify/Testing/SGI/DEBUG/Insight/Code/Common/Templates/itkChainCode
Path2.h, Line = 5
  A semicolon is expected at this point.

  namespace itk { _Pragma("do_not_instantiate ITK_TEMPLATE_1(class
ChainCodePath< 2 >)") namespace Templates { typedef ChainCodePath< 2 >
ChainCodePath2; } }
                   
^

6 errors detected in the compilation of "test.cxx".




On 2/21/07 9:06 AM, "Brad King" <brad.king at kitware.com> wrote:

> Hans Johnson wrote:
>> Hypothesis:  the itkMacro _Pragma magic is required on SGI, but implemented
>> incorrectly.
> 
> The answer is simple: the _Pragma() code works with MIPSpro 7.3 where I
> designed it.  It fails with MIPSpro 7.4.  I'll look at it.
> 
> -Brad
> _______________________________________________
> Insight-developers mailing list
> Insight-developers at itk.org
> http://www.itk.org/mailman/listinfo/insight-developers



More information about the Insight-developers mailing list