diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/config/bfin/bfin.c | 10 | ||||
| -rw-r--r-- | gcc/config/bfin/elf.h | 2 | ||||
| -rw-r--r-- | gcc/config/bfin/uclinux.h | 2 |
4 files changed, 13 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7e11985..f9529e0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-08-09 Jie Zhang <jie.zhang@analog.com> + + * config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define. + * config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define. + * config/bfin/bfin.c (bfin_return_in_memory): Update to really match + Visual DSP. + 2005-08-09 James A. Morrison <phython@gcc.gnu.org> * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index 76b6f04..926f27a 100644 --- a/gcc/config/bfin/bfin.c +++ b/gcc/config/bfin/bfin.c @@ -1406,14 +1406,8 @@ bfin_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED, int bfin_return_in_memory (tree type) { - int size; - enum machine_mode mode = TYPE_MODE (type); - - if (mode == BLKmode) - return 1; - size = int_size_in_bytes (type); - - return size > 8; + int size = int_size_in_bytes (type); + return size > 2 * UNITS_PER_WORD || size == -1; } /* Register in which address to store a structure value diff --git a/gcc/config/bfin/elf.h b/gcc/config/bfin/elf.h index 643d519..5b0eb20 100644 --- a/gcc/config/bfin/elf.h +++ b/gcc/config/bfin/elf.h @@ -14,3 +14,5 @@ #undef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "_" + +#define NO_IMPLICIT_EXTERN_C diff --git a/gcc/config/bfin/uclinux.h b/gcc/config/bfin/uclinux.h index d68008a9..361a923 100644 --- a/gcc/config/bfin/uclinux.h +++ b/gcc/config/bfin/uclinux.h @@ -8,3 +8,5 @@ #undef LIB_SPEC #define LIB_SPEC "%{pthread:-lpthread} -lc" + +#define NO_IMPLICIT_EXTERN_C |
