diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 9a28091119..e42d13dc4e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,16 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-11-21 11:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * include/hbsetup.h + * utils/hbmk2/hbmk2.prg + * config/darwin/clang.mk + + Using __clang__ for Clang detection instead of locally rolled + solution. + + * src/common/hbver.c + + Added Clang compiler detection. + 2009-11-20 17:43 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbxbp/xbplistbox.prg * contrib/hbide/hbide.prg diff --git a/harbour/config/darwin/clang.mk b/harbour/config/darwin/clang.mk index 877edc8110..f9a8b78c1b 100644 --- a/harbour/config/darwin/clang.mk +++ b/harbour/config/darwin/clang.mk @@ -23,7 +23,7 @@ endif # Now solved with '$(subst x,x, )' expression. CC_OUT := -o$(subst x,x, ) -CPPFLAGS := -I. -I$(HB_INC_COMPILE) -DHB_CC_CLANG +CPPFLAGS := -I. -I$(HB_INC_COMPILE) # -fno-common enables building .dylib files CPPFLAGS += -fno-common diff --git a/harbour/include/hbsetup.h b/harbour/include/hbsetup.h index 8977a456af..05ade47d34 100644 --- a/harbour/include/hbsetup.h +++ b/harbour/include/hbsetup.h @@ -503,7 +503,7 @@ #define HB_NORETURN_ATTR # endif # if ( ( __GNUC__ > 4 ) || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 1 ) ) && \ - !defined( __ICC ) && !defined( HB_NO_FLATTEN ) && !defined( HB_CC_CLANG ) + !defined( __ICC ) && !defined( HB_NO_FLATTEN ) && !defined( __clang__ ) #define HB_FLATTEN_ATTR \ __attribute__ (( flatten )) # else diff --git a/harbour/src/common/hbver.c b/harbour/src/common/hbver.c index b898f6bc1b..88e63e26f5 100644 --- a/harbour/src/common/hbver.c +++ b/harbour/src/common/hbver.c @@ -623,6 +623,12 @@ char * hb_verCompiler( void ) pszName = "EMX/RSXNT/Win32 GNU C"; #elif defined( __EMX__ ) pszName = "EMX GNU C"; + #elif defined( __clang__ ) + #if defined( __llvm__ ) + pszName = "Clang/LLVM C"; + #else + pszName = "Clang/GNU C"; + #endif #else pszName = "GNU C"; #endif diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index f6e17f0eea..821f784029 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -2207,7 +2207,6 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) AAdd( hbmk[ _HBMK_aOPTC ], "-D_GNU_SOURCE" ) CASE hbmk[ _HBMK_cCOMP ] == "clang" cBin_CompC := hbmk[ _HBMK_cCCPREFIX ] + "clang" + hbmk[ _HBMK_cCCPOSTFIX ] - AAdd( hbmk[ _HBMK_aOPTC ], "-DHB_CC_CLANG" ) OTHERWISE cBin_CompC := hbmk[ _HBMK_cCCPREFIX ] + iif( hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ], "g++", "gcc" ) + hbmk[ _HBMK_cCCPOSTFIX ] ENDCASE