aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJie Zhang <jie.zhang@analog.com>2005-08-09 09:47:52 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2005-08-09 09:47:52 +0000
commit07da68fd8d9e08a487b02520764da4243eb223a2 (patch)
tree9ccf25f6f35f4566574553582bea331ec50ded9f /gcc
parent1e39a15138dc15488b5c1acb0469cd0e076fa046 (diff)
downloadgcc-07da68fd8d9e08a487b02520764da4243eb223a2.zip
gcc-07da68fd8d9e08a487b02520764da4243eb223a2.tar.gz
gcc-07da68fd8d9e08a487b02520764da4243eb223a2.tar.bz2
uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
* 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. From-SVN: r102906
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/bfin/bfin.c10
-rw-r--r--gcc/config/bfin/elf.h2
-rw-r--r--gcc/config/bfin/uclinux.h2
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