This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
Workaround for GCC-3.3.x warnings
- From: Gary Thomas <gary at mlbassoc dot com>
- To: eCos patches <ecos-patches at ecos dot sourceware dot org>
- Date: 15 Oct 2003 14:00:10 -0600
- Subject: Workaround for GCC-3.3.x warnings
- Organization: MLB Associates
See http://bugs.ecos.sourceware.org/show_bug.cgi?id=1000035
--
Gary Thomas <gary@mlbassoc.com>
MLB Associates
Index: ChangeLog
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/ChangeLog,v
retrieving revision 1.122
diff -u -5 -p -r1.122 ChangeLog
--- ChangeLog 6 Oct 2003 17:28:51 -0000 1.122
+++ ChangeLog 15 Oct 2003 19:57:16 -0000
@@ -1,5 +1,11 @@
+2003-10-15 Gary Thomas <gary@mlbassoc.com>
+2003-09-23 Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * pkgconf/rules.mak Only pass C flags to the C compiler.
+ Workaround for BUG #1000035.
+
2003-10-04 Savin Zlobec <savin@elatec.si>
* ecos.db: New package - Synth wall clock device
2003-09-30 Gary Thomas <gary@mlbassoc.com>
Index: pkgconf/rules.mak
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/pkgconf/rules.mak,v
retrieving revision 1.11
diff -u -5 -p -r1.11 rules.mak
--- pkgconf/rules.mak 23 May 2002 23:08:24 -0000 1.11
+++ pkgconf/rules.mak 15 Oct 2003 14:16:29 -0000
@@ -57,21 +57,26 @@ export HOST_CC := gcc
# include any dependency rules generated previously
ifneq ($(wildcard *.deps),)
include $(wildcard *.deps)
endif
+# Separate C++ flags out from C flags.
+ACTUAL_CFLAGS = $(CFLAGS)
+ACTUAL_CFLAGS := $(subst -fno-rtti,,$(ACTUAL_CFLAGS))
+ACTUAL_CFLAGS := $(subst -Woverloaded-virtual,,$(ACTUAL_CFLAGS))
+ACTUAL_CFLAGS := $(subst -fvtable-gc,,$(ACTUAL_CFLAGS))
# pattern matching rules to generate a library object from source code
# object filenames are prefixed to avoid name clashes
# a single dependency rule is generated (file extension = ".o.d")
%.o.d : %.c
ifeq ($(HOST),CYGWIN)
@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`
else
@mkdir -p $(dir $@)
endif
- $(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<
+ $(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(ACTUAL_CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<
@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) > $@
@rm $(@:.o.d=.tmp)
%.o.d : %.cxx
ifeq ($(HOST),CYGWIN)
@@ -97,11 +102,11 @@ endif
ifeq ($(HOST),CYGWIN)
@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`
else
@mkdir -p $(dir $@)
endif
- $(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<
+ $(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(ACTUAL_CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<
@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) > $@
@rm $(@:.o.d=.tmp)
# pattern matching rules to generate a test object from source code
# object filenames are not prefixed
@@ -110,11 +115,11 @@ endif
ifeq ($(HOST),CYGWIN)
@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`
else
@mkdir -p $(dir $@)
endif
- $(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<
+ $(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(ACTUAL_CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<
@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.d=.tmp) > $@
@rm $(@:.d=.tmp)
%.d : %.cxx
ifeq ($(HOST),CYGWIN)
@@ -140,11 +145,11 @@ endif
ifeq ($(HOST),CYGWIN)
@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`
else
@mkdir -p $(dir $@)
endif
- $(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<
+ $(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(ACTUAL_CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<
@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.d=.tmp) > $@
@rm $(@:.d=.tmp)
# rule to generate a test executable from object code
$(PREFIX)/tests/$(PACKAGE)/%$(EXEEXT): %.d $(wildcard $(PREFIX)/lib/target.ld) $(wildcard $(PREFIX)/lib/*.[ao])