Opened 10 years ago

Closed 10 years ago

#2976 closed defect (fixed)

No recompilation happens for changes in includes

Reported by: Adrian Pop Owned by: Martin Sjölund
Priority: critical Milestone: 1.9.2
Component: Build Environment Version: trunk
Keywords: Cc:

Description

For example in File.mo, function write:

function write
  input File file;
  input String data;
external "C" om_file_write(file,data) annotation(Include="
#ifndef __OMC_FILE_WRITE
#define __OMC_FILE_WRITE
#include <stdio.h>
#include <errno.h>
#include \"ModelicaUtilities.h\"
static inline void om_file_write(FILE **file,const char *data)
{
  if (!*file) {
    ModelicaError(\"Failed to write to file (not open)\");
  }
  if (1 != fputs(data,*file)) {
    ModelicaFormatError(\"Failed to write to file: %s %d\\n\", strerror(errno), i);
  }
}
#endif
");
end write;

If you change anything inside the Include annotation the File.mo is not recompiled and the change is missed.
I guess the interface of File.mo should include the external function annotation.

Change History (1)

comment:1 by Martin Sjölund, 10 years ago

Component: BootstrappingBuild Environment
Resolution: fixed
Status: newclosed
Summary: Bootstrapped compiler - no recompilation of files happen when changes are done in external function declaration annotationNo recompilation happens for changes in includes

Fixed in r23317; add depends to the generated _includes.h.

Note: See TracTickets for help on using tickets.