diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ac4ce79fab..6d8395bd56 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,12 +17,27 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-09-08 14:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * include/hbsetup.h + * config/darwin/clang.mk + + Added manual compiler macro HB_CC_CLANG until we find the official + predefined macro to detect this compiler. + Actually we could roll our own HB_CC_ set of macros to do compiler + detection in central headers and clean compiler specific macros from + code. + ! Fixed '__attribute (( flatten ))' not being supported with clang. + (Thanks Przemek) + ! Deleted extra parameters from libtool command line. + + * INSTALL + + Added clang to the darwin compiler list. + 2009-09-08 13:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + config/darwin/clang.mk + Added experimental support for clang compiler frontend on Snow Leopard + new XCode systems. (it's unclear which of them exactly is required for this feature) - ; TOFIX: '__attribute (( flatten ))' is complained about by clang. + ; TOFIX: '__attribute (( flatten ))' is complained about by clang. [DONE] 2009-09-08 12:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/thread.c diff --git a/harbour/INSTALL b/harbour/INSTALL index b4c3bd60d0..8c5759c672 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -339,6 +339,7 @@ SUPPORTED PLATFORMS AND C COMPILERS ------ gcc - GNU C icc - Intel(R) C/C++ + clang - clang compiler frontend bsd --- diff --git a/harbour/config/darwin/clang.mk b/harbour/config/darwin/clang.mk index 9c1fab4dbe..6214b4deef 100644 --- a/harbour/config/darwin/clang.mk +++ b/harbour/config/darwin/clang.mk @@ -18,27 +18,27 @@ CC_IN := -c # Now solved with '$(subst x,x, )' expression. CC_OUT := -o$(subst x,x, ) -CPPFLAGS := -I. -I$(HB_INC_COMPILE) +CPPFLAGS := -I. -I$(HB_INC_COMPILE) -DHB_CC_CLANG # -fno-common enables building .dylib files -CFLAGS := -fno-common +CPPFLAGS += -fno-common LDFLAGS := ifneq ($(HB_BUILD_WARN),no) - CFLAGS += -Wall -W + CPPFLAGS += -Wall -W endif ifneq ($(HB_BUILD_OPTIM),no) - CFLAGS += -O3 + CPPFLAGS += -O3 endif ifeq ($(HB_BUILD_DEBUG),yes) - CFLAGS += -g + CPPFLAGS += -g endif # It's to avoid warning message generated when 'long double' is used # remove it if you have newer compiler version -#CFLAGS += -Wno-long-double +#CPPFLAGS += -Wno-long-double LD := $(HB_CCACHE) $(HB_CCPREFIX)$(HB_CMP)$(HB_CCPOSTFIX) LD_OUT := -o$(subst x,x, ) diff --git a/harbour/include/hbsetup.h b/harbour/include/hbsetup.h index 17558d46ed..4785348586 100644 --- a/harbour/include/hbsetup.h +++ b/harbour/include/hbsetup.h @@ -511,7 +511,7 @@ #define HB_NORETURN_ATTR # endif # if ( ( __GNUC__ > 4 ) || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 1 ) ) && \ - !defined( __ICC ) && !defined( HB_NO_FLATTEN ) + !defined( __ICC ) && !defined( HB_NO_FLATTEN ) && !defined( HB_CC_CLANG ) #define HB_FLATTEN_ATTR \ __attribute__ (( flatten )) # else