[Insight-developers] Wrapping test failure related to testing macros

Matt McCormick matt.mccormick at kitware.com
Sat Jun 23 15:05:38 EDT 2012


Hey Hans,

Thanks a lot for your input.  I will let the current build finish,
then start again with ITK_LEGACY_REMOVE=OFF and see what we get.

Thanks,
Matt

On Sat, Jun 23, 2012 at 12:26 PM, Johnson, Hans J
<hans-johnson at uiowa.edu> wrote:
> Matt,
>
> Whoa Š that probably does have something to do with it.  Seems very
> suspicious.
>
> NOTE:  If cmake ITK_LEGACY_REMOVE:BOOL=OFF, then it is undefined in
> itkConfigure.h.
>
> I think that perhaps we need to remove the combinatorial interactions
> between wrapping and legacy by only supporting wrapping if
> ITK_REMOVE_LEGACY:BOOL=ON.
>
> This may simplify the debugging and will prevent us from chasing these
> corner cases trying to make code that "should" have been removed many
> years ago.  It's upsetting to me that we are tracking down an issue in
> code that has been deprecated for 7 years!
>
> 2b536fbe (Stephen Aylward 2005-03-09 11:46:14 -0500 164)    * \deprecated
> Please use GetInverseTransform and then call the forward
> 2b536fbe (Stephen Aylward 2005-03-09 11:46:14 -0500 165)    *   transform
> using the result.
>
>
> ====================
> If we simply remove this function (as it should have been done during the
> ITKv4 refactoring stage), this problem would not exist.
>
>
> Hans
>
>
>
> On 6/23/12 9:37 AM, "Matt McCormick" <matt.mccormick at kitware.com> wrote:
>
>>Hi Hans,
>>
>>Thanks for the feedback.  I will try a fresh build and report back.
>>
>>ITK_LEGACY_REMOVE is OFF per default.
>>
>>I see in itkMacro.h:
>>
>>#if defined( ITK_LEGACY_REMOVE )
>>// Remove legacy methods completely.  Put a bogus declaration in
>>// place to avoid stray semicolons because this is an error for some
>>// compilers.  Using a class forward declaration allows any number
>>// of repeats in any context without generating unique names.
>>#define itkLegacyMacro(method) class itkLegacyMethodRemoved /* no ';' */
>>#elif defined( ITK_LEGACY_SILENT ) || defined( ITK_LEGACY_TEST ) ||
>>defined( CSWIG )
>>// Provide legacy methods with no warnings.
>>#define itkLegacyMacro(method) method
>>
>>so, does "|| defined( CSWIG )" have something to do with it?
>>
>>Thanks,
>>Matt
>>
>>On Sat, Jun 23, 2012 at 9:07 AM, Johnson, Hans J <hans-johnson at uiowa.edu>
>>wrote:
>>> Matt,
>>>
>>>
>>>_ZNK3itk16Rigid3DTransformIdE13BackTransformERKNS_15CovariantVectorIdLj3E
>>>EE
>>>                               ^^^^^^^^^^^^^
>>>
>>>
>>> The use of BackTransform is deprecated.
>>> *
>>>   * \deprecated Please use GetInverseTransform and then call the forward
>>>   *   transform using the result.
>>>
>>>
>>> I can not find where this is being picked up?  Is ITK_LEGACY_REMOVE
>>>turned
>>> ON or OFF?
>>>
>>> My guess is one of the following:
>>>        1) A clean build is needed.
>>>        2) The automatic wrapping system needs to know the status of
>>> ITK_LEGACY_REMOVE
>>>        3) The test needs to be re-written to use GetInverseTransform
>>>
>>> Hans
>>>
>>>
>>>
>>>
>>> On 6/23/12 12:06 AM, "Matt McCormick" <matt.mccormick at kitware.com>
>>>wrote:
>>>
>>>>Hi Hans,
>>>>
>>>>Do you know how to fix a test failure like this?:
>>>>
>>>>   http://open.cdash.org/testDetails.php?test=150903320&build=2381601
>>>>
>>>>It appears to be related to the Legacy macros.
>>>>
>>>>Thanks,
>>>>Matt
>>>
>>>
>>>
>>> ________________________________
>>> Notice: This UI Health Care e-mail (including attachments) is covered
>>>by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is
>>>confidential and may be legally privileged.  If you are not the intended
>>>recipient, you are hereby notified that any retention, dissemination,
>>>distribution, or copying of this communication is strictly prohibited.
>>>Please reply to the sender that you have received the message in error,
>>>then delete it.  Thank you.
>>> ________________________________
>
>
>
> ________________________________
> Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
> ________________________________


More information about the Insight-developers mailing list