Bug 176982 - C-file with changed header is not recompiled.
Summary: C-file with changed header is not recompiled.
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build (show other bugs)
Version: 3.1.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: cdt-build-inbox@eclipse.org CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-12 09:46 EDT by Sergey Gomanyuk CLA
Modified: 2020-09-04 15:25 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Gomanyuk CLA 2007-03-12 09:46:20 EDT
Lets we have too files in our Managed C Project 'Executable (Gnu on Windows)':

1. foo.c:
#include "foo.h"
int main () {return 0;}

2. foo.h:
#ifndef  _FOO_H_
#define _FOO_H_

#endif

Assume that our project already was built. Now insert in foo.h following string:
#include "missing.h"

Note: file missing.h doesn't exist.

When foo.h is saved foo.c would be recompiled (that's correct). Now we have project with an error. Then fix the error: just remove '#include "missing.h"' from foo.h and save it. Well, foo.c IS NOT recompiled because foo.d is empty now and foo.o still exists!
Comment 1 Leo Treggiari CLA 2007-03-12 16:09:55 EDT
There are cases where the standard .d dependency handling mechanism breaks down.  See bugzilla #109289 for a long discussion.