Changeset 371 for trunk/idl-compiler


Ignore:
Timestamp:
Jun 28, 2008, 12:27:00 PM (17 years ago)
Author:
cinc
Message:

Make sure method macros are not silently redefined.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/idl-compiler/h-emitter_c/h_file_emitter.c

    r351 r371  
    205205      emitMethodParams(pLocalPI, pif, pm->pParamArray);
    206206      fprintf(fh, "    CORBA_Environment *ev);\n");
     207
     208      /* Macro to be used when several parameters are checked */
    207209      fprintf(fh, "#error The macro is broken. It does not support ˚recursive˚ calls (Line: %d)\n", __LINE__);
    208       /* Macro to be used when several parameters are checked */
    209210      fprintf(fh, "#define %s_%s(nomSelf,", pif->chrName, pm->chrName);
    210211      /* Do parameters */
     
    234235        }
    235236      fprintf(fh, "#else /* Extended parameter check */\n"); /* else NOM_NO_PARAM_CHECK */
     237
    236238      /* Check object only  */
    237239      fprintf(fh, "#define %s_%s(nomSelf,", pif->chrName, pm->chrName);
     
    266268      fprintf(fh, "#endif\n");
    267269      fprintf(fh, "#else /* NOM_NO_PARAM_CHECK */\n");
     270      /* Standard macro without parameter check */
    268271      fprintf(fh, "#define %s_%s(nomSelf,", pif->chrName, pm->chrName);
    269272      /* Do parameters */
     
    276279      fprintf(fh, " ev))\n");
    277280      fprintf(fh, "#endif\n");
     281
     282      fprintf(fh, "#ifdef _%s\n", pm->chrName);
     283      fprintf(fh, "#undef _%s\n", pm->chrName);     
     284      fprintf(fh, "#else\n");
    278285      fprintf(fh, "#define _%s %s_%s\n", pm->chrName, pif->chrName, pm->chrName);
     286      fprintf(fh, "#endif\n");
     287
    279288      fprintf(fh, "#endif /* _decl_%s_%s_ */ \n\n", pif->chrName,  pm->chrName);
    280289    }
Note: See TracChangeset for help on using the changeset viewer.