This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [gcc-in-cxx]: patches from multi-target-4_4-branch
- From: Ian Lance Taylor <iant at google dot com>
- To: Joern Rennecke <amylaar at spamcop dot net>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 24 May 2009 18:22:43 -0700
- Subject: Re: [gcc-in-cxx]: patches from multi-target-4_4-branch
- References: <20090429064704.r7nzgfg18okko8s8-nzlynne@webmail.spamcop.net> <m363gn1qui.fsf@google.com> <20090524121328.5bxlsmbf4cgos440-nzlynne@webmail.spamcop.net>
Joern Rennecke <amylaar@spamcop.net> writes:
> * config/sh/t-sh (sh-c.o): Use $(CXX) for building.
OK.
> * config/arc/arc.c: #include "df.h".
> (arc_address_cost): Use INTVAL to refer to the value of a CONST_INT.
OK.
> * targhooks.c (default_builtin_vectorized_function): Make signature
> agree with prototype in targhooks.h.
> (default_builtin_vectorized_conversion): Likewise.
> (default_builtin_reciprocal): Likewise.
OK.
> * expr.c (move_by_pieces, store_by_pieces): Append _d to struct tag.
> Changed all users.
OK.
> * config/sh/sh.c (sh_attribute_table): Use extern in forward
> declaration.
> Common issue with declaring/defining const variables in C++.
I've been doing this as
#ifdef __cplusplus
extern
#endif
const ...
I'm concerned whether all C compilers handle "extern const int i = 1;"
correctly. My reading of C99 is that this is OK, but it is an unusual
construct. Does anybody else have any opinions on this?
> * config/arc/arc.c (arc_attribute_table): Use extern in forward
> declaration.
> Likewise.
Same question here.
> (output_shift): Replace initializatin of n with assignment.
OK. s/initializatin/initialization/ in ChangeLog.
> * config/sh/sh.md (attribute cpu): Add comment about connection to
> enum processor_type in sh.h.
Comment should be capitalized and end with a period. OK with that
change.
> * reorg.c (insn_sets_resource_p): include_delayed_effects is now bool.
OK, but really the calls should be changed to pass true or false.
> * config/sh/predicates.md (trapping_target_operand): Rename and to
> and_expr.
OK.
> * targhooks.h (default_builtin_vectorized_function): Make prototype
> agree with target.h:struct vectorize:builtin_vectorized_function.
> (default_builtin_vectorized_conversion): Likewise with respect to
> builtin_conversion.
> (default_builtin_reciprocal): Likewise wrt.
> struct gcc_target:builtin_reciprocal
OK.
> * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use LCT_NORMAL.
> C++ doesn't like 0 as an enum type constant.
OK.
> * config/m32r/m32r.c (df.h): #include.
> Again, C++ is less forgiving about missing declarations.
OK.
> (m32r_attribute_table): Mark forward declaration with extern.
> That const declaration problem again.
Same question about "extern const" as above.
> (pop): Use alloc_reg_note.
> (block_move_call): Use LCT_NORMAL.
OK.
> * haifa-sched.c (insn_cost): No longer HAIFA_INLINE.
OK.
Thanks.
Ian