The frontends and tree optimizers use the *_TYPE_SIZE and POINTER_SIZE target macros. They should instead use to-be-created data members of targetm.
Frontends and tree optimizers also use TYPE_SIZE_UNIT and DECL_SIZE_UNIT which is calculated by layout_type using target dependent BITS_PER_UNIT.
(In reply to comment #1) > Frontends and tree optimizers also use TYPE_SIZE_UNIT and DECL_SIZE_UNIT which > is calculated by layout_type using target dependent BITS_PER_UNIT. The use of TYPE_SIZE_UNIT / DECL_SIZE_UNIT is not a problem, because these are tree fields. stor-layout.c is not a frontend or tree optimizer. A multi-target compiler can work OK with stor-layout being part of the target dependent code, and I believe so can a front-end plugin. A back-end plugin would have to include its own version of stor-layout, or otherwise stor-layout would have to be made entirely independent of target macros. But this not in the scope of this PR.
On Fri, 26 Nov 2010, amylaar at gcc dot gnu.org wrote: > The frontends and tree optimizers use the *_TYPE_SIZE and POINTER_SIZE > target macros. > > They should instead use to-be-created data members of targetm. No, they shouldn't. * POINTER_SIZE and ADA_LONG_TYPE_SIZE I haven't looked at in detail - though I'm aware of the comment in cppbuiltin.c about why it uses POINTER_SIZE (incorrectly divided by BITS_PER_UNIT rather than TYPE_PRECISION (char_type_node)) rather than ptr_type_node. * WCHAR_TYPE_SIZE should go away completely (it's only used for Ada); this size should be determined from WCHAR_TYPE. * Modifiable members of targetm are a bad idea and make LTO-based devirtualization harder (I'd rather targetm was const for single-target builds), and these values depend on command-line options so function members are more appropriate. * All the macros relating to the sizes of various C types in bits should be replaced by hooks that are only called to create the associated tree nodes; elsewhere they should be replaced by TYPE_PRECISION (integer_type_node) etc. - certainly, it should be fine to replace uses of the macros in the front ends by using TYPE_PRECISION right now. If the tree optimizers are using these macros, they probably shouldn't be; to my mind, it's a bug in a tree optimizer if it depends on details such as what C "int" happens to be, as opposed to e.g. information about how efficient computations on particular precisions happen to be. (Thus, existing uses of TYPE_PRECISION (integer_type_node) in tree optimizers would also be suspicious.) * I already said in <http://gcc.gnu.org/ml/gcc/2010-11/msg00340.html> what I thought hooks for *_TYPE_SIZE should look like; I strongly advise paying attention to such comments. There might be a case for separating the standard C integer types from the fixed-point types, say, but I think one hook for all the standard types is better than separate hooks for each type. (Many targets might define that hook to integer_type_size_il32 or integer_type_size_i32l64 or integer_type_size_i16l32 as default versions defined for common cases, rather than having their own function.)
Created attachment 22543 [details] patch using DEFHOOKPOD For the record, this is the patch using DEFHOOKPOD.
(In reply to comment #3) > * Modifiable members of targetm are a bad idea and make LTO-based > devirtualization harder (I'd rather targetm was const for single-target > builds), and these values depend on command-line options so function > members are more appropriate. But if these members are only ever assigned a single constant, wouldn't LTO be able to figure this out? > * All the macros relating to the sizes of various C types in bits should > be replaced by hooks that are only called to create the associated tree > nodes; elsewhere they should be replaced by TYPE_PRECISION > (integer_type_node) etc. You are not making this easier for LTO to optimize this back to a constant. > - certainly, it should be fine to replace uses of > the macros in the front ends by using TYPE_PRECISION right now. If the > tree optimizers are using these macros, they probably shouldn't be; to my > mind, it's a bug in a tree optimizer if it depends on details such as what > C "int" happens to be, as opposed to e.g. information about how efficient > computations on particular precisions happen to be. (Thus, existing uses > of TYPE_PRECISION (integer_type_node) in tree optimizers would also be > suspicious.) That might well be true, but by the time all such places are fixed up, the hookization project might be forgotten. > * I already said in <http://gcc.gnu.org/ml/gcc/2010-11/msg00340.html> what > I thought hooks for *_TYPE_SIZE should look like; I strongly advise paying > attention to such comments. There might be a case for separating the > standard C integer types from the fixed-point types, say, but I think one > hook for all the standard types is better than separate hooks for each > type. Sorry, that had slipped my mind. What about the floating-point types? Or would we rather have an enum type_kind? Although that might be confused with what we used to have for varargs before gimple, i.e. a kind of type. > (Many targets might define that hook to integer_type_size_il32 or > integer_type_size_i32l64 or integer_type_size_i16l32 as default versions > defined for common cases, rather than having their own function.) New targets might do that, but I don't see why we would want to rewrite every target now; we could define the new hook in terms of the old macros.
(In reply to comment #5) > (In reply to comment #3) > > * Modifiable members of targetm are a bad idea and make LTO-based > > devirtualization harder (I'd rather targetm was const for single-target > > builds), and these values depend on command-line options so function > > members are more appropriate. > > But if these members are only ever assigned a single constant, wouldn't > LTO be able to figure this out? No. The optimization passes that are remotely related do not work flow or context sensitive, so we don't know whether the initialization takes place unless it is a static initializer. > > * All the macros relating to the sizes of various C types in bits should > > be replaced by hooks that are only called to create the associated tree > > nodes; elsewhere they should be replaced by TYPE_PRECISION > > (integer_type_node) etc. > > You are not making this easier for LTO to optimize this back to a constant. True. LTO won't be able to figure out TYPE_PRECISION (char_type_node).
(In reply to comment #6) > No. The optimization passes that are remotely related do not work > flow or context sensitive, so we don't know whether the initialization > takes place unless it is a static initializer. What about the case where there is a static initializer and another assignment that assigns the same value as the static initializer?
(In reply to comment #7) > (In reply to comment #6) > > > No. The optimization passes that are remotely related do not work > > flow or context sensitive, so we don't know whether the initialization > > takes place unless it is a static initializer. > > What about the case where there is a static initializer and another assignment > that assigns the same value as the static initializer? We don't currently handle this case - we'd need to remove the store as dead to be able to promote the static variable to const (only then we will be able to optimize reads from it). The pass that is doing the related work is ipa-reference.c.
On Fri, 26 Nov 2010, amylaar at gcc dot gnu.org wrote: > > * All the macros relating to the sizes of various C types in bits should > > be replaced by hooks that are only called to create the associated tree > > nodes; elsewhere they should be replaced by TYPE_PRECISION > > (integer_type_node) etc. > > You are not making this easier for LTO to optimize this back to a constant. These don't need to be optimized back to a constant at all. The C type sizes are essentially a front end matter. Most places in the front ends already use TYPE_PRECISION anyway, e.g. when checking if a type is narrower than int so should be promoted to int. Some front-end things are expensive, e.g. C++ parsing; checks of type precisions aren't. The *only* uses of these macros in the C and C++ front ends are uses of CHAR_TYPE_SIZE in c_common_to_target_charset which is used in a few places in builtins.c (via lang_hooks.to_target_charset) and is not performance-sensitive. Optimizers should be checking the precisions of the particular types they are dealing with and not care about what's "int" or "char" at all. > What about the floating-point types? Or would we rather have an > enum type_kind? Although that might be confused with what we used to > have for varargs before gimple, i.e. a kind of type. I'd guess a separate hook; they tend to vary somewhat independently from integer types. bool would probably also be separate. So you might have hooks for: general integer types; bool; binary floating-point; decimal floating-point; fixed-point; hook definitions would all have a gcc_unreachable (); default case to catch inappropriate enum values being passed in. And another hook for ADA_LONG_TYPE_SIZE (defaulting to calling targetm.integer_type_size (itk_long)), I guess. > > (Many targets might define that hook to integer_type_size_il32 or > > integer_type_size_i32l64 or integer_type_size_i16l32 as default versions > > defined for common cases, rather than having their own function.) > > New targets might do that, but I don't see why we would want to rewrite > every target now; we could define the new hook in terms of the old macros. Yes, you could as a temporary transitional measure, like for other hooks, but certainly I think all definitions of hooks in terms of the old macros should be considered temporary with the aim being to convert all targets and poison the macro names.
(In reply to comment #3) > * POINTER_SIZE and ADA_LONG_TYPE_SIZE I haven't looked at in detail - We have several possible substitutes for POINTER_SIZE: GET_MODE_BITSIZE (ptr_mode) TYPE_PRECISION (ptr_type_mode) GET_MODE_BITSIZE (targetm.addr_space.pointer_mode (ADDR_SPACE_GENERIC)) Using machine modes is undesirable in files that don't already need to know about modes. TYPE_PRECISION (ptr_type_mode) seems reasonable for frontends after this node has been initialized; however, AFAICT, this node is not set for java. All the substitutes suffer from initialization problems when used before backend initialization. With targetm.addr_space.pointer_mode this might eventually be fixed by changing the hook definitions. Therefore, I propose that targhooks.c provides a wrapper function for GET_MODE_BITSIZE (targetm.addr_space.pointer_mode (ADDR_SPACE_GENERIC)) . In can work around the intialization problems for now by checking for VOIDmode, and using POINTER_SIZE when that happens.
(In reply to comment #9) > On Fri, 26 Nov 2010, amylaar at gcc dot gnu.org wrote: > > What about the floating-point types? Or would we rather have an > > enum type_kind? Although that might be confused with what we used to > > have for varargs before gimple, i.e. a kind of type. > > I'd guess a separate hook; they tend to vary somewhat independently from > integer types. bool would probably also be separate. So you might have > hooks for: general integer types; bool; binary floating-point; decimal > floating-point; fixed-point; hook definitions would all have a > gcc_unreachable (); default case to catch inappropriate enum values being > passed in. And another hook for ADA_LONG_TYPE_SIZE (defaulting to > calling targetm.integer_type_size (itk_long)), I guess. We don't have any current decimal floating or fixed-point type size macros to replace. As discussed elsewhere, the stdint type, wchar type, and ada long type sizes are best dealt with by having a hook to define the types in terms of enum integer_type_kind, and then looking up the size of the type size for that integer type. I.e. first, we want to describe the C integer / bool / binary floating type sizes with three hooks: DEFHOOK_UNDOC (integer_type_size, "", int, (enum integer_type_kind), legacy_integer_type_size) DEFHOOK (bool_type_size, "The size, in bits, of the boolean type used by most front ends that have such\ a type. (Java is an exception, because the language defines the type size.) \ The default is @code{CHAR_TYPE_SIZE}.", int, (void), default_bool_type_size) DEFHOOK_UNDOC (float_type_size, "", int, (enum th_float_type), legacy_float_type_size) We should probably make the type name information corresponding to enum integer_type_kind / enum th_float_type_size available independent of the type nodes having been initialized, so that the preprocessor can use the names without trouble. In another patch, we can define stdint / wchar / ada long types in therms of integer_type_kind. There'll be slight overlap with the previously mentioned patch in that we also need to move enum integer_type_kind to coretypes.h . We should probably make the type name information corresponding to enum integer_type_kind / enum th_float_type_size available independent of the type nodes having been initialized, so that the preprocessor can use the names without trouble. DEFHOOK (stdint_type, "Return the @code{enum integer_type_kind} value corresponding to @var{type}. If the type does not exist, return itk_none.", enum integer_type_kind, (enum th_stdint type), default_stdint_type) DEFHOOK (size_type, "Return the @code{enum integer_type_kind} value corresponding to @var{type}.", enum integer_type_kind, (enum th_size_type type), default_size_type) DEFHOOK (atomic_type, "Return the @code{enum integer_type_kind} value corresponding to @code{sig_atomic_t}.", enum integer_type_kind, (void), default_atomic_type) DEFHOOK (wchar_type, "Return the @code{enum integer_type_kind} value corresponding to @var{type}.", enum integer_type_kind (enum th_wchar_type type), default_wchar_type) DEFHOOK (ada_long_type, "Return the @code{enum integer_type_kind} value corresponding to the ada @code{long} type. The default is to use the same type as for C.", enum integer_type_kind (void), default_ada_long_type) When these two patches are in, we can then make another patch to replace the macros of the sizes of stdint / wchar / ada long types with using the above hooks to fist lookup the enum integer_type_kind of the type, and then its size . > Yes, you could as a temporary transitional measure, like for other hooks, > but certainly I think all definitions of hooks in terms of the old macros > should be considered temporary with the aim being to convert all targets > and poison the macro names. Yes, once the above outlined patches to hookize the consumer side are in, and thus we have defined the interface, we can proceed at will to finish the process. Although some definitions seem somewhat tangled, so some or all of that might have to wait for 4.7, lest we break stuff close to the release.
On Sat, 11 Dec 2010, amylaar at gcc dot gnu.org wrote: > We don't have any current decimal floating or fixed-point type size macros > to replace. As discussed elsewhere, the stdint type, wchar type, and ada long Yes we do. The definitions starting with DECIMAL32_TYPE_SIZE in defaults.h. > DEFHOOK > (atomic_type, The name should reflect that this is purely about sig_atomic_t and not about any other form of atomicity - that is, sig_atomic_type or similar.
(In reply to comment #12) > On Sat, 11 Dec 2010, amylaar at gcc dot gnu.org wrote: > > > We don't have any current decimal floating or fixed-point type size macros > > to replace. As discussed elsewhere, the stdint type, wchar type, and ada long > > Yes we do. The definitions starting with DECIMAL32_TYPE_SIZE in > defaults.h. Are these really supposed to be a target interface? They are not documented, nowhere overridden, and besides, it would appear odd to have a DECIMAL32_TYPE_SIZE of, say, 31 bits. It seems these macros just serve to make the code more readable. Maybe they should be moved to tree.h ? > > > DEFHOOK > > (atomic_type, > > The name should reflect that this is purely about sig_atomic_t and not > about any other form of atomicity - that is, sig_atomic_type or similar. Point taken. Using sig_atomic_type as the hook name makes sense.
On Mon, 13 Dec 2010, amylaar at gcc dot gnu.org wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46677 > > --- Comment #13 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> 2010-12-13 19:16:47 UTC --- > (In reply to comment #12) > > On Sat, 11 Dec 2010, amylaar at gcc dot gnu.org wrote: > > > > > We don't have any current decimal floating or fixed-point type size macros > > > to replace. As discussed elsewhere, the stdint type, wchar type, and ada long > > > > Yes we do. The definitions starting with DECIMAL32_TYPE_SIZE in > > defaults.h. > > Are these really supposed to be a target interface? They are not documented, > nowhere overridden, and besides, it would appear odd to have a > DECIMAL32_TYPE_SIZE of, say, 31 bits. > It seems these macros just serve to make the code more readable. > Maybe they should be moved to tree.h ? MIPS *does* override the fixed-point definitions. As for the decimal ones, it seems TR 24732 does not allow the types to vary from the 754-2008 formats - so maybe the sizes should just be hardcoded in tree.c with an appropriate comment.
Author: amylaar Date: Sun Dec 19 21:21:26 2010 New Revision: 168075 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168075 Log: PR other/46677 http://gcc.gnu.org/ml/gcc-patches/2010-11/msg02772.html gcc: * targhooks.c (pointer_size): New function. * cppbuiltin.c (define_builtin_macros_for_lp64): Use pointer_size. (define_builtin_macros_for_type_sizes): Likewise. * target.h (pointer_size): Declare. * cppbuiltin.c (define_builtin_macros_for_type_sizes): Use TYPE_PRECISION (char_type_node). gcc/c-family: c-common.c (c_common_nodes_and_builtins): Use pointer_size. gcc/java: * decl.c (java_init_decl_processing): Use pointer_size. * java-tree.h (JAVA_POINTER_SIZE): Define. * class.c (make_class_data): Use JAVA_POINTER_SIZE. (emit_register_classes): Likewise. * jcf-parse.c (handle_long_constant): Likewise. * constants.c (build_constants_constructor): Likewise. * builtins.c (UNMARSHAL3, UNMARSHAL4, UNMARSHAL5): Likewise. (compareAndSwapObject_builtin): Likewise. * boehm.c (get_boehm_type_descriptor): Likewise. (mark_reference_fields): Add log2_size parameter. Changed all callers. gcc/cp: * cvt.c (cp_convert_to_pointer): Use TYPE_PRECISION (ptr_type_node). gcc/fortran: * trans-types.c (gfc_init_kinds): Use pointer_size. gcc/lto: * lto-object.c (lto_obj_begin_section): Use pointer_size. ada: * gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer_size with pointer_size_t. Replace POINTER_SIZE with pointer_size (). (rest_of_type_decl_compilation_no_defer): Use pointer_size. (gnat_to_gnu_param, annotate_rep, make_type_from_size): Likewise. * gcc-interface/utils2.c: Include target.h . (maybe_wrap_malloc, maybe_wrap_free): Use pointer_size. * gcc-interface/targtyps.c: Include target.h . (get_target_pointer_size): Use pointer_size. Modified: branches/pr46489-20101217-branch/gcc/ChangeLog.46489 branches/pr46489-20101217-branch/gcc/ada/gcc-interface/decl.c branches/pr46489-20101217-branch/gcc/ada/gcc-interface/targtyps.c branches/pr46489-20101217-branch/gcc/ada/gcc-interface/utils2.c branches/pr46489-20101217-branch/gcc/c-family/c-common.c branches/pr46489-20101217-branch/gcc/cp/cvt.c branches/pr46489-20101217-branch/gcc/cppbuiltin.c branches/pr46489-20101217-branch/gcc/fortran/f95-lang.c branches/pr46489-20101217-branch/gcc/fortran/trans-types.c branches/pr46489-20101217-branch/gcc/java/boehm.c branches/pr46489-20101217-branch/gcc/java/builtins.c branches/pr46489-20101217-branch/gcc/java/class.c branches/pr46489-20101217-branch/gcc/java/constants.c branches/pr46489-20101217-branch/gcc/java/decl.c branches/pr46489-20101217-branch/gcc/java/java-tree.h branches/pr46489-20101217-branch/gcc/java/jcf-parse.c branches/pr46489-20101217-branch/gcc/lto/lto-object.c branches/pr46489-20101217-branch/gcc/target.h branches/pr46489-20101217-branch/gcc/targhooks.c
Author: amylaar Date: Mon Dec 20 16:47:45 2010 New Revision: 168086 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168086 Log: PR other/46677 http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00934.html gcc: * doc/tm.texi: Regenerate. * doc/tm.texi.in (BOOL_TYPE_SIZE): Delete. (TARGET_BOOL_TYPE_SIZE): New hook. * targhooks.c (legacy_integer_type_size): New function. (default_bool_type_size, legacy_float_type_size): Likewise. * targhooks.h (legacy_integer_type_size): Declare. (default_bool_type_size, legacy_float_type_size): Likewise. * target.def (bool_type_size): New hook. (integer_type_size, float_type_size): Likewise. * defaults.h (BOOL_TYPE_SIZE): Delete. * tree.c (free_lang_data): Use targetm.bool_type_size. (build_common_tree_nodes): Likewise. * tree.h (enum integer_type_kind): Move from here... * coretypes.h ... to here. * target.h (enum th_float_type): New enum. * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Use targetm.integer_type_size. * tree-data-ref.c: Include target.h (estimated_loop_iterations_tree): Use targetm.integer_type_size. * system.h (BOOL_TYPE_SIZE): Poison. * Makefile.in (tree-data-ref.o): Depend on $(TARGET_H) . * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Delete. (darwin_bool_type_size): Declare. (TARGET_BOOL_TYPE_SIZE): Define. * config/darwin.c (darwin_bool_type_size): New function. gcc/c-family.c: * c-common.c (c_common_to_target_charset): Use TYPE_PRECISION (char_type_node). gcc/java: * decl.c (java_init_decl_processing): Use targetm.integer_type_size. * expr.c (expand_java_return): Likewise. gcc/ada: * gcc-interface/decl.c (gnat_to_gnu_entity): Use targetm.float_type_size and targetm.integer_type_size. (make_type_from_size): Use targetm.integer_type_size. * gcc-interface/targtyps.c: Include target.h . [!ADA_LONG_TYPE_SIZE] (ADA_LONG_TYPE_SIZE): Use targetm.integer_type_size. [!WIDEST_HARDWARE_FP_SIZE] (LONG_DOUBLE_TYPE_SIZE): Don't define. (get_target_char_size): Use targetm.integer_type_size. (get_target_wchar_t_size, get_target_short_size): Likewise. (get_target_int_size, get_target_long_long_size): Likewise. (get_target_float_size): Use targetm.float_type_size. (get_target_double_size, get_target_long_double_size): Likewise. (MALLOC_OBSERVABLE_ALIGNMENT): Use targetm.integer_type_size. * gcc-interface/trans.c: Include target.h . (gigi): Use targetm.float_type_size. (build_binary_op_trapv): Use targetm.integer_type_size. * gcc-interface/Make-lang.in (ada/targtyps.o): Depend on $(TARGET_H). (ada/trans.o): Likewise. gcc/fortran: * trans-types.c (gfc_init_kinds): Use targetm.integer_type_size. (gfc_build_int_type): Likewise. (gfc_build_uint_type): Use TYPE_PRECISION on the type nodes checked. (gfc_build_real_type): Use targetm.float_type_size. (gfc_build_logical_type): Use targetm.bool_type_size. [0] (c_size_t_size): Delete. * f95-lang.c [!CHAR_TYPE_SIZE] (CHAR_TYPE_SIZE): Don't define. [!INT_TYPE_SIZE] (INT_TYPE_SIZE): Likewise. * iso-c-binding.def (c_bool): Use targetm.bool_type_size. * types.def (BT_BOOL): Likewise. * trans-intrinsic.c (build_round_expr): Use TYPE_PRECISION on *_integer_type_node to find out these type's sizes. (gfc_conv_intrinsic_leadz, gfc_conv_intrinsic_trailz): Likewise. (gfc_conv_intrinsic_popcnt_poppar): Likewise. Modified: branches/pr46489-20101217-branch/gcc/ChangeLog.46489 branches/pr46489-20101217-branch/gcc/Makefile.in branches/pr46489-20101217-branch/gcc/ada/gcc-interface/Make-lang.in branches/pr46489-20101217-branch/gcc/ada/gcc-interface/decl.c branches/pr46489-20101217-branch/gcc/ada/gcc-interface/targtyps.c branches/pr46489-20101217-branch/gcc/ada/gcc-interface/trans.c branches/pr46489-20101217-branch/gcc/c-family/c-common.c branches/pr46489-20101217-branch/gcc/config/darwin.c branches/pr46489-20101217-branch/gcc/config/rs6000/darwin.h branches/pr46489-20101217-branch/gcc/coretypes.h branches/pr46489-20101217-branch/gcc/defaults.h branches/pr46489-20101217-branch/gcc/doc/tm.texi branches/pr46489-20101217-branch/gcc/doc/tm.texi.in branches/pr46489-20101217-branch/gcc/fortran/f95-lang.c branches/pr46489-20101217-branch/gcc/fortran/iso-c-binding.def branches/pr46489-20101217-branch/gcc/fortran/trans-intrinsic.c branches/pr46489-20101217-branch/gcc/fortran/trans-types.c branches/pr46489-20101217-branch/gcc/fortran/types.def branches/pr46489-20101217-branch/gcc/java/decl.c branches/pr46489-20101217-branch/gcc/java/expr.c branches/pr46489-20101217-branch/gcc/system.h branches/pr46489-20101217-branch/gcc/target.def branches/pr46489-20101217-branch/gcc/target.h branches/pr46489-20101217-branch/gcc/targhooks.c branches/pr46489-20101217-branch/gcc/targhooks.h branches/pr46489-20101217-branch/gcc/tree-data-ref.c branches/pr46489-20101217-branch/gcc/tree-ssa-loop-ivopts.c branches/pr46489-20101217-branch/gcc/tree.c branches/pr46489-20101217-branch/gcc/tree.h
Author: amylaar Date: Tue Dec 21 10:20:19 2010 New Revision: 168107 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168107 Log: PR other/46677 gcc: * doc/tm.texi: Regenerate. * doc/tm.texi.in (SIZE_TYPE): Now an enum integer_type_kind value. (PTRDIFF_TYPE, WCHAR_TYPE, WINT_TYPE, INTMAX_TYPE): Likewise. (UINTMAX_TYPE, SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE): Likewise. (INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE): Likewise. (UINT32_TYPE, UINT64_TYPE, INT_LEAST8_TYPE): Likewise. (INT_LEAST16_TYPE, INT_LEAST32_TYPE, INT_LEAST64_TYPE): Likewise. (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE): Likewise. (UINT_LEAST64_TYPE, INT_FAST8_TYPE, INT_FAST16_TYPE): Likewise. (INT_FAST32_TYPE, INT_FAST64_TYPE, UINT_FAST8_TYPE): Likewise. (UINT_FAST16_TYPE, UINT_FAST32_TYPE, UINT_FAST64_TYPE): Likewise. (INTPTR_TYPE, UINTPTR_TYPE): Likewise. * defaults.h: Adjust for new *_TYPE definitions. (PID_TYPE): Now an enum integer_type_kind value. (CHAR16_TYPE, CHAR32_TYPE): Likewise. * tree.c (integer_type_names): New array. * tree.h (integer_type_names): Declare. * coretypes.h (enum integer_type_kind): Add comment about connection with integer_type_names. * config/alpha/alpha.h: Adjust for new *_TYPE definitions. * config/alpha/openbsd.h, config/alpha/osf5.h: Likewise. * config/frv/frv.h, config/s390/tpf.h, config/s390/linux.h: Likewise. * config/m32c/m32c.h, config/sparc/linux.h: Likewise. * config/sparc/sp64-elf.h, config/sparc/openbsd64.h: Likewise. * config/sparc/sp-elf.h, config/sparc/sol2-bi.h: Likewise. * config/sparc/sparc.h, config/sparc/linux64.h: Likewise. * config/sparc/netbsd-elf.h, config/sparc/sysv4.h: Likewise. * config/interix.h, config/vx-common.h, config/mep/mep.h: Likewise. * config/m32r/linux.h, config/m32r/m32r.h: Likewise. * config/openbsd-stdint.h, config/rx/rx.h: Likewise. * config/i386/cygming.h, config/i386/linux.h: Likewise. * config/i386/djgpp.h, config/i386/djgpp-stdint.h: Likewise. * config/i386/x86-64.h, config/i386/netbsd.h: Likewise. * config/i386/netbsd-elf.h, config/i386/cygwin-stdint.h: Likewise. * config/i386/netware.h, config/i386/i386-interix.h: Likewise. * config/i386/mingw-stdint.h, config/i386/sol2-10.h: Likewise. * config/i386/openbsdelf.h, config/i386/darwin.h: Likewise. * config/i386/mingw32.h, config/i386/openbsd.h: Likewise. * config/i386/nto.h, config/i386/freebsd.h: Likewise. * config/freebsd-stdint.h, config/sol2.h, config/sh/elf.h: Likewise. * config/sh/sh.h, config/sh/sh64.h, config/pdp11/pdp11.h: Likewise. * config/avr/avr.h, config/crx/crx.h: Likewise. * config/xtensa/linux.h, config/xtensa/elf.h: Likewise. * config/stormy16/stormy16.h, config/fr30/fr30.h: Likewise. * config/lm32/lm32.h, config/lynx.h, config/moxie/moxie.h: Likewise. * config/m68hc11/m68hc11.h, config/cris/linux.h: Likewise. * config/cris/cris.h, config/netbsd.h: Likewise. * config/iq2000/iq2000.h, config/svr4.h, config/ia64/ia64.h: Likewise. * config/ia64/hpux.h, config/ia64/sysv4.h: Likewise. * config/glibc-stdint.h, config/newlib-stdint.h: Likewise. * config/m68k/m68kemb.h, config/m68k/openbsd.h: Likewise. * config/m68k/netbsd-elf.h, config/m68k/m68k.h: Likewise. * config/rs6000/aix53.h, config/rs6000/netbsd.h: Likewise. * config/rs6000/aix.h, config/rs6000/aix51.h: Likewise. * config/rs6000/aix43.h, config/rs6000/linux64.h: Likewise. * config/rs6000/darwin.h, config/rs6000/aix52.h: Likewise. * config/rs6000/rs6000.h, config/rs6000/aix-stdint.h: Likewise. * config/rs6000/aix61.h, config/rs6000/freebsd.h: Likewise. * config/rs6000/sysv4.h, config/picochip/picochip.h: Likewise. * config/mcore/mcore.h, config/arc/arc.h, config/darwin.h: Likewise. * config/score/score.h, config/arm/arm.h: Likewise. * config/arm/linux-gas.h, config/arm/pe.h: Likewise. * config/arm/freebsd.h, config/arm/netbsd.h: Likewise. * config/arm/netbsd-elf.h, config/pa/pa-hpux.h: Likewise. * config/pa/pa-hpux11.h, config/pa/pa-64.h, config/pa/pa.h: Likewise. * config/pa/pa32-linux.h, config/mips/linux.h: Likewise. * config/mips/sde.h, config/mips/openbsd.h: Likewise. * config/mips/iris6.h, config/mips/mips.h: Likewise. * config/mips/netbsd.h, config/vax/openbsd.h: Likewise. * config/vax/linux.h, config/vax/elf.h, config/vax/netbsd.h: Likewise. * config/freebsd.h, config/h8300/h8300.h, config/vxworks.h: Likewise. * config/hpux-stdint.h, config/bfin/bfin.h: Likewise. * config/mn10300/mn10300.h, config/m68k/linux.h: Likewise. * config/v850/v850.h: Likewise. gcc/c-family: c-common.c (c_get_ident): Delete. (c_common_nodes_and_builtins): Adjust for new *_TYPE definitions. (c_stddef_cpp_builtins): Likewise. gcc/fortan: * iso-c-binding.def: Adjust for new *_TYPE definitions. * trans-types.c (get_typenode_from_name): Delete. (get_int_kind_from_name): Likewise. (get_int_kind_from_kind): New function. * f95-lang.c: Adjust for new *_TYPE definitions. gcc/lto: * lto-lang.c (lto_build_c_type_nodes, lto_init): Adjust for new *_TYPE definitions. Modified: branches/pr46489-20101217-branch/gcc/ChangeLog.46489 branches/pr46489-20101217-branch/gcc/c-family/c-common.c branches/pr46489-20101217-branch/gcc/config/alpha/alpha.h branches/pr46489-20101217-branch/gcc/config/alpha/linux.h branches/pr46489-20101217-branch/gcc/config/alpha/openbsd.h branches/pr46489-20101217-branch/gcc/config/alpha/osf5.h branches/pr46489-20101217-branch/gcc/config/arc/arc.h branches/pr46489-20101217-branch/gcc/config/arm/arm.h branches/pr46489-20101217-branch/gcc/config/arm/freebsd.h branches/pr46489-20101217-branch/gcc/config/arm/linux-gas.h branches/pr46489-20101217-branch/gcc/config/arm/netbsd-elf.h branches/pr46489-20101217-branch/gcc/config/arm/netbsd.h branches/pr46489-20101217-branch/gcc/config/arm/pe.h branches/pr46489-20101217-branch/gcc/config/avr/avr.h branches/pr46489-20101217-branch/gcc/config/bfin/bfin.h branches/pr46489-20101217-branch/gcc/config/cris/cris.h branches/pr46489-20101217-branch/gcc/config/cris/linux.h branches/pr46489-20101217-branch/gcc/config/crx/crx.h branches/pr46489-20101217-branch/gcc/config/darwin.h branches/pr46489-20101217-branch/gcc/config/fr30/fr30.h branches/pr46489-20101217-branch/gcc/config/freebsd-stdint.h branches/pr46489-20101217-branch/gcc/config/freebsd.h branches/pr46489-20101217-branch/gcc/config/frv/frv.h branches/pr46489-20101217-branch/gcc/config/glibc-stdint.h branches/pr46489-20101217-branch/gcc/config/h8300/h8300.h branches/pr46489-20101217-branch/gcc/config/hpux-stdint.h branches/pr46489-20101217-branch/gcc/config/i386/cygming.h branches/pr46489-20101217-branch/gcc/config/i386/cygwin-stdint.h branches/pr46489-20101217-branch/gcc/config/i386/darwin.h branches/pr46489-20101217-branch/gcc/config/i386/djgpp-stdint.h branches/pr46489-20101217-branch/gcc/config/i386/djgpp.h branches/pr46489-20101217-branch/gcc/config/i386/freebsd.h branches/pr46489-20101217-branch/gcc/config/i386/i386-interix.h branches/pr46489-20101217-branch/gcc/config/i386/linux.h branches/pr46489-20101217-branch/gcc/config/i386/mingw-stdint.h branches/pr46489-20101217-branch/gcc/config/i386/mingw32.h branches/pr46489-20101217-branch/gcc/config/i386/netbsd-elf.h branches/pr46489-20101217-branch/gcc/config/i386/netbsd.h branches/pr46489-20101217-branch/gcc/config/i386/netware.h branches/pr46489-20101217-branch/gcc/config/i386/nto.h branches/pr46489-20101217-branch/gcc/config/i386/openbsd.h branches/pr46489-20101217-branch/gcc/config/i386/openbsdelf.h branches/pr46489-20101217-branch/gcc/config/i386/sol2-10.h branches/pr46489-20101217-branch/gcc/config/i386/x86-64.h branches/pr46489-20101217-branch/gcc/config/ia64/hpux.h branches/pr46489-20101217-branch/gcc/config/ia64/ia64.h branches/pr46489-20101217-branch/gcc/config/ia64/sysv4.h branches/pr46489-20101217-branch/gcc/config/interix.h branches/pr46489-20101217-branch/gcc/config/iq2000/iq2000.h branches/pr46489-20101217-branch/gcc/config/lm32/lm32.h branches/pr46489-20101217-branch/gcc/config/lynx.h branches/pr46489-20101217-branch/gcc/config/m32c/m32c.h branches/pr46489-20101217-branch/gcc/config/m32r/linux.h branches/pr46489-20101217-branch/gcc/config/m32r/m32r.h branches/pr46489-20101217-branch/gcc/config/m68hc11/m68hc11.h branches/pr46489-20101217-branch/gcc/config/m68k/linux.h branches/pr46489-20101217-branch/gcc/config/m68k/m68k.h branches/pr46489-20101217-branch/gcc/config/m68k/m68kemb.h branches/pr46489-20101217-branch/gcc/config/m68k/netbsd-elf.h branches/pr46489-20101217-branch/gcc/config/m68k/openbsd.h branches/pr46489-20101217-branch/gcc/config/mcore/mcore.h branches/pr46489-20101217-branch/gcc/config/mep/mep.h branches/pr46489-20101217-branch/gcc/config/mips/iris6.h branches/pr46489-20101217-branch/gcc/config/mips/linux.h branches/pr46489-20101217-branch/gcc/config/mips/mips.h branches/pr46489-20101217-branch/gcc/config/mips/netbsd.h branches/pr46489-20101217-branch/gcc/config/mips/openbsd.h branches/pr46489-20101217-branch/gcc/config/mips/sde.h branches/pr46489-20101217-branch/gcc/config/mn10300/mn10300.h branches/pr46489-20101217-branch/gcc/config/moxie/moxie.h branches/pr46489-20101217-branch/gcc/config/netbsd.h branches/pr46489-20101217-branch/gcc/config/newlib-stdint.h branches/pr46489-20101217-branch/gcc/config/openbsd-stdint.h branches/pr46489-20101217-branch/gcc/config/pa/pa-64.h branches/pr46489-20101217-branch/gcc/config/pa/pa-hpux.h branches/pr46489-20101217-branch/gcc/config/pa/pa-hpux11.h branches/pr46489-20101217-branch/gcc/config/pa/pa.h branches/pr46489-20101217-branch/gcc/config/pa/pa32-linux.h branches/pr46489-20101217-branch/gcc/config/pdp11/pdp11.h branches/pr46489-20101217-branch/gcc/config/picochip/picochip.h branches/pr46489-20101217-branch/gcc/config/rs6000/aix-stdint.h branches/pr46489-20101217-branch/gcc/config/rs6000/aix.h branches/pr46489-20101217-branch/gcc/config/rs6000/aix43.h branches/pr46489-20101217-branch/gcc/config/rs6000/aix51.h branches/pr46489-20101217-branch/gcc/config/rs6000/aix52.h branches/pr46489-20101217-branch/gcc/config/rs6000/aix53.h branches/pr46489-20101217-branch/gcc/config/rs6000/aix61.h branches/pr46489-20101217-branch/gcc/config/rs6000/darwin.h branches/pr46489-20101217-branch/gcc/config/rs6000/freebsd.h branches/pr46489-20101217-branch/gcc/config/rs6000/linux64.h branches/pr46489-20101217-branch/gcc/config/rs6000/netbsd.h branches/pr46489-20101217-branch/gcc/config/rs6000/rs6000.h branches/pr46489-20101217-branch/gcc/config/rs6000/sysv4.h branches/pr46489-20101217-branch/gcc/config/rx/rx.h branches/pr46489-20101217-branch/gcc/config/s390/linux.h branches/pr46489-20101217-branch/gcc/config/s390/tpf.h branches/pr46489-20101217-branch/gcc/config/score/score.h branches/pr46489-20101217-branch/gcc/config/sh/elf.h branches/pr46489-20101217-branch/gcc/config/sh/sh.h branches/pr46489-20101217-branch/gcc/config/sh/sh64.h branches/pr46489-20101217-branch/gcc/config/sol2.h branches/pr46489-20101217-branch/gcc/config/sparc/linux.h branches/pr46489-20101217-branch/gcc/config/sparc/linux64.h branches/pr46489-20101217-branch/gcc/config/sparc/netbsd-elf.h branches/pr46489-20101217-branch/gcc/config/sparc/openbsd64.h branches/pr46489-20101217-branch/gcc/config/sparc/sol2-bi.h branches/pr46489-20101217-branch/gcc/config/sparc/sp-elf.h branches/pr46489-20101217-branch/gcc/config/sparc/sp64-elf.h branches/pr46489-20101217-branch/gcc/config/sparc/sparc.h branches/pr46489-20101217-branch/gcc/config/sparc/sysv4.h branches/pr46489-20101217-branch/gcc/config/stormy16/stormy16.h branches/pr46489-20101217-branch/gcc/config/svr4.h branches/pr46489-20101217-branch/gcc/config/v850/v850.h branches/pr46489-20101217-branch/gcc/config/vax/elf.h branches/pr46489-20101217-branch/gcc/config/vax/linux.h branches/pr46489-20101217-branch/gcc/config/vax/netbsd.h branches/pr46489-20101217-branch/gcc/config/vax/openbsd.h branches/pr46489-20101217-branch/gcc/config/vx-common.h branches/pr46489-20101217-branch/gcc/config/vxworks.h branches/pr46489-20101217-branch/gcc/config/xtensa/elf.h branches/pr46489-20101217-branch/gcc/config/xtensa/linux.h branches/pr46489-20101217-branch/gcc/coretypes.h branches/pr46489-20101217-branch/gcc/defaults.h branches/pr46489-20101217-branch/gcc/doc/tm.texi branches/pr46489-20101217-branch/gcc/doc/tm.texi.in branches/pr46489-20101217-branch/gcc/fortran/f95-lang.c branches/pr46489-20101217-branch/gcc/fortran/iso-c-binding.def branches/pr46489-20101217-branch/gcc/fortran/trans-types.c branches/pr46489-20101217-branch/gcc/lto/lto-lang.c branches/pr46489-20101217-branch/gcc/tree.c branches/pr46489-20101217-branch/gcc/tree.h
Author: amylaar Date: Mon Dec 27 08:55:37 2010 New Revision: 168262 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168262 Log: PR other/46677 * config/rs6000/darwin.h (darwin_bool_type_size): Move from here... * config/darwin.h: ... to here. Modified: branches/pr46489-20101217-branch/ChangeLog.46489 branches/pr46489-20101217-branch/gcc/config/darwin.h branches/pr46489-20101217-branch/gcc/config/rs6000/darwin.h
Author: amylaar Date: Mon Dec 27 09:45:46 2010 New Revision: 168264 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168264 Log: PR other/46677 config/sol2.h (UINT_LEAST64_TYPE): Remove stray 'int' from integer_type_kind value. Modified: branches/pr46489-20101217-branch/ChangeLog.46489 branches/pr46489-20101217-branch/gcc/config/sol2.h
Author: amylaar Date: Mon Dec 27 13:08:44 2010 New Revision: 168273 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168273 Log: PR other/46677 http://gcc.gnu.org/ml/gcc-patches/2010-11/msg02772.html gcc: * targhooks.c (pointer_size): New function. * cppbuiltin.c (define_builtin_macros_for_lp64): Use pointer_size. (define_builtin_macros_for_type_sizes): Likewise. * target.h (pointer_size): Declare. * cppbuiltin.c (define_builtin_macros_for_type_sizes): Use TYPE_PRECISION (char_type_node). gcc/c-family: c-common.c (c_common_nodes_and_builtins): Use pointer_size. gcc/java: * decl.c (java_init_decl_processing): Use pointer_size. * java-tree.h (JAVA_POINTER_SIZE): Define. * class.c (make_class_data): Use JAVA_POINTER_SIZE. (emit_register_classes): Likewise. * jcf-parse.c (handle_long_constant): Likewise. * constants.c (build_constants_constructor): Likewise. * builtins.c (UNMARSHAL3, UNMARSHAL4, UNMARSHAL5): Likewise. (compareAndSwapObject_builtin): Likewise. * boehm.c (get_boehm_type_descriptor): Likewise. (mark_reference_fields): Add log2_size parameter. Changed all callers. gcc/cp: * cvt.c (cp_convert_to_pointer): Use TYPE_PRECISION (ptr_type_node). gcc/fortran: * trans-types.c (gfc_init_kinds): Use pointer_size. gcc/lto: * lto-object.c (lto_obj_begin_section): Use pointer_size. ada: * gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer_size with pointer_size_t. Replace POINTER_SIZE with pointer_size (). (rest_of_type_decl_compilation_no_defer): Use pointer_size. (gnat_to_gnu_param, annotate_rep, make_type_from_size): Likewise. * gcc-interface/utils2.c: Include target.h . (maybe_wrap_malloc, maybe_wrap_free): Use pointer_size. * gcc-interface/targtyps.c: Include target.h . (get_target_pointer_size): Use pointer_size. Modified: branches/pr46489-20101227-branch/ (props changed) branches/pr46489-20101227-branch/ChangeLog.46489 branches/pr46489-20101227-branch/gcc/ (props changed) branches/pr46489-20101227-branch/gcc/ada/gcc-interface/decl.c branches/pr46489-20101227-branch/gcc/ada/gcc-interface/targtyps.c branches/pr46489-20101227-branch/gcc/ada/gcc-interface/utils2.c branches/pr46489-20101227-branch/gcc/c-family/c-common.c branches/pr46489-20101227-branch/gcc/cp/cvt.c branches/pr46489-20101227-branch/gcc/cppbuiltin.c branches/pr46489-20101227-branch/gcc/fortran/f95-lang.c branches/pr46489-20101227-branch/gcc/fortran/trans-types.c branches/pr46489-20101227-branch/gcc/java/boehm.c branches/pr46489-20101227-branch/gcc/java/builtins.c branches/pr46489-20101227-branch/gcc/java/class.c branches/pr46489-20101227-branch/gcc/java/constants.c branches/pr46489-20101227-branch/gcc/java/decl.c branches/pr46489-20101227-branch/gcc/java/java-tree.h branches/pr46489-20101227-branch/gcc/java/jcf-parse.c branches/pr46489-20101227-branch/gcc/lto/lto-object.c branches/pr46489-20101227-branch/gcc/target.h branches/pr46489-20101227-branch/gcc/targhooks.c branches/pr46489-20101227-branch/gcc/testsuite/gcc.target/powerpc/ppc-round.c (props changed) branches/pr46489-20101227-branch/libjava/classpath/ (props changed) Propchange: branches/pr46489-20101227-branch/ ('svn:mergeinfo' modified) Propchange: branches/pr46489-20101227-branch/gcc/ ('svn:mergeinfo' modified) Propchange: branches/pr46489-20101227-branch/gcc/testsuite/gcc.target/powerpc/ppc-round.c ('svn:mergeinfo' modified) Propchange: branches/pr46489-20101227-branch/libjava/classpath/ ('svn:mergeinfo' modified)
Author: amylaar Date: Mon Dec 27 13:24:48 2010 New Revision: 168274 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168274 Log: PR other/46677 http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00934.html http://gcc.gnu.org/ml/gcc-cvs/2010-12/msg00947.html gcc: * doc/tm.texi: Regenerate. * doc/tm.texi.in (BOOL_TYPE_SIZE): Delete. (TARGET_BOOL_TYPE_SIZE): New hook. * targhooks.c (legacy_integer_type_size): New function. (default_bool_type_size, legacy_float_type_size): Likewise. * targhooks.h (legacy_integer_type_size): Declare. (default_bool_type_size, legacy_float_type_size): Likewise. * target.def (bool_type_size): New hook. (integer_type_size, float_type_size): Likewise. * defaults.h (BOOL_TYPE_SIZE): Delete. * tree.c (free_lang_data): Use targetm.bool_type_size. (build_common_tree_nodes): Likewise. * tree.h (enum integer_type_kind): Move from here... * coretypes.h ... to here. * target.h (enum th_float_type): New enum. * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Use targetm.integer_type_size. * tree-data-ref.c: Include target.h (estimated_loop_iterations_tree): Use targetm.integer_type_size. * system.h (BOOL_TYPE_SIZE): Poison. * Makefile.in (tree-data-ref.o): Depend on $(TARGET_H) . * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Delete. (TARGET_BOOL_TYPE_SIZE): Define. * config/darwin.c (darwin_bool_type_size): New function. * config/darwin.h: (darwin_bool_type_size): Declare. gcc/c-family.c: * c-common.c (c_common_to_target_charset): Use TYPE_PRECISION (char_type_node). gcc/java: * decl.c (java_init_decl_processing): Use targetm.integer_type_size. * expr.c (expand_java_return): Likewise. gcc/ada: * gcc-interface/decl.c (gnat_to_gnu_entity): Use targetm.float_type_size and targetm.integer_type_size. (make_type_from_size): Use targetm.integer_type_size. * gcc-interface/targtyps.c: Include target.h . [!ADA_LONG_TYPE_SIZE] (ADA_LONG_TYPE_SIZE): Use targetm.integer_type_size. [!WIDEST_HARDWARE_FP_SIZE] (LONG_DOUBLE_TYPE_SIZE): Don't define. (get_target_char_size): Use targetm.integer_type_size. (get_target_wchar_t_size, get_target_short_size): Likewise. (get_target_int_size, get_target_long_long_size): Likewise. (get_target_float_size): Use targetm.float_type_size. (get_target_double_size, get_target_long_double_size): Likewise. (MALLOC_OBSERVABLE_ALIGNMENT): Use targetm.integer_type_size. * gcc-interface/trans.c: Include target.h . (gigi): Use targetm.float_type_size. (build_binary_op_trapv): Use targetm.integer_type_size. * gcc-interface/Make-lang.in (ada/targtyps.o): Depend on $(TARGET_H). (ada/trans.o): Likewise. gcc/fortran: * trans-types.c (gfc_init_kinds): Use targetm.integer_type_size. (gfc_build_int_type): Likewise. (gfc_build_uint_type): Use TYPE_PRECISION on the type nodes checked. (gfc_build_real_type): Use targetm.float_type_size. (gfc_build_logical_type): Use targetm.bool_type_size. [0] (c_size_t_size): Delete. * f95-lang.c [!CHAR_TYPE_SIZE] (CHAR_TYPE_SIZE): Don't define. [!INT_TYPE_SIZE] (INT_TYPE_SIZE): Likewise. * iso-c-binding.def (c_bool): Use targetm.bool_type_size. * types.def (BT_BOOL): Likewise. * trans-intrinsic.c (build_round_expr): Use TYPE_PRECISION on *_integer_type_node to find out these type's sizes. (gfc_conv_intrinsic_leadz, gfc_conv_intrinsic_trailz): Likewise. (gfc_conv_intrinsic_popcnt_poppar): Likewise. Modified: branches/pr46489-20101227-branch/ (props changed) branches/pr46489-20101227-branch/ChangeLog.46489 branches/pr46489-20101227-branch/gcc/ (props changed) branches/pr46489-20101227-branch/gcc/Makefile.in branches/pr46489-20101227-branch/gcc/ada/gcc-interface/Make-lang.in branches/pr46489-20101227-branch/gcc/ada/gcc-interface/decl.c branches/pr46489-20101227-branch/gcc/ada/gcc-interface/targtyps.c branches/pr46489-20101227-branch/gcc/ada/gcc-interface/trans.c branches/pr46489-20101227-branch/gcc/c-family/c-common.c branches/pr46489-20101227-branch/gcc/config/darwin.c branches/pr46489-20101227-branch/gcc/config/rs6000/darwin.h branches/pr46489-20101227-branch/gcc/coretypes.h branches/pr46489-20101227-branch/gcc/defaults.h branches/pr46489-20101227-branch/gcc/doc/tm.texi branches/pr46489-20101227-branch/gcc/doc/tm.texi.in branches/pr46489-20101227-branch/gcc/fortran/f95-lang.c branches/pr46489-20101227-branch/gcc/fortran/iso-c-binding.def branches/pr46489-20101227-branch/gcc/fortran/trans-intrinsic.c branches/pr46489-20101227-branch/gcc/fortran/trans-types.c branches/pr46489-20101227-branch/gcc/fortran/types.def branches/pr46489-20101227-branch/gcc/java/decl.c branches/pr46489-20101227-branch/gcc/java/expr.c branches/pr46489-20101227-branch/gcc/system.h branches/pr46489-20101227-branch/gcc/target.def branches/pr46489-20101227-branch/gcc/target.h branches/pr46489-20101227-branch/gcc/targhooks.c branches/pr46489-20101227-branch/gcc/targhooks.h branches/pr46489-20101227-branch/gcc/testsuite/gcc.target/powerpc/ppc-round.c (props changed) branches/pr46489-20101227-branch/gcc/tree-data-ref.c branches/pr46489-20101227-branch/gcc/tree-ssa-loop-ivopts.c branches/pr46489-20101227-branch/gcc/tree.c branches/pr46489-20101227-branch/gcc/tree.h branches/pr46489-20101227-branch/libjava/classpath/ (props changed) Propchange: branches/pr46489-20101227-branch/ ('svn:mergeinfo' modified) Propchange: branches/pr46489-20101227-branch/gcc/ ('svn:mergeinfo' modified) Propchange: branches/pr46489-20101227-branch/gcc/testsuite/gcc.target/powerpc/ppc-round.c ('svn:mergeinfo' modified) Propchange: branches/pr46489-20101227-branch/libjava/classpath/ ('svn:mergeinfo' modified)
Author: amylaar Date: Mon Dec 27 13:40:14 2010 New Revision: 168275 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168275 Log: http://gcc.gnu.org/ml/gcc-cvs/2010-12/msg00947.html PR other/46677 * config/rs6000/darwin.h (darwin_bool_type_size): Move from here... * config/darwin.h: ... to here. Modified: branches/pr46489-20101227-branch/ChangeLog.46489 branches/pr46489-20101227-branch/gcc/config/darwin.h branches/pr46489-20101227-branch/gcc/config/rs6000/darwin.h
Author: amylaar Date: Mon Dec 27 23:00:27 2010 New Revision: 168279 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168279 Log: PR other/46677 http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00964.html http://gcc.gnu.org/ml/gcc-cvs/2010-12/msg00792.html http://gcc.gnu.org/ml/gcc-cvs/2010-12/msg00949.html gcc: * doc/tm.texi: Regenerate. * doc/tm.texi.in (SIZE_TYPE): Now an enum integer_type_kind value. (PTRDIFF_TYPE, WCHAR_TYPE, WINT_TYPE, INTMAX_TYPE): Likewise. (UINTMAX_TYPE, SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE): Likewise. (INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE): Likewise. (UINT32_TYPE, UINT64_TYPE, INT_LEAST8_TYPE): Likewise. (INT_LEAST16_TYPE, INT_LEAST32_TYPE, INT_LEAST64_TYPE): Likewise. (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE): Likewise. (UINT_LEAST64_TYPE, INT_FAST8_TYPE, INT_FAST16_TYPE): Likewise. (INT_FAST32_TYPE, INT_FAST64_TYPE, UINT_FAST8_TYPE): Likewise. (UINT_FAST16_TYPE, UINT_FAST32_TYPE, UINT_FAST64_TYPE): Likewise. (INTPTR_TYPE, UINTPTR_TYPE): Likewise. * defaults.h: Adjust for new *_TYPE definitions. (PID_TYPE): Now an enum integer_type_kind value. (CHAR16_TYPE, CHAR32_TYPE): Likewise. * tree.c (integer_type_names): New array. * tree.h (integer_type_names): Declare. * coretypes.h (enum integer_type_kind): Add comment about connection with integer_type_names. * config/alpha/alpha.h: Adjust for new *_TYPE definitions. * config/alpha/openbsd.h, config/alpha/osf5.h: Likewise. * config/frv/frv.h, config/s390/tpf.h, config/s390/linux.h: Likewise. * config/m32c/m32c.h, config/sparc/linux.h: Likewise. * config/sparc/sp64-elf.h, config/sparc/openbsd64.h: Likewise. * config/sparc/sp-elf.h, config/sparc/sol2-bi.h: Likewise. * config/sparc/sparc.h, config/sparc/linux64.h: Likewise. * config/sparc/netbsd-elf.h, config/sparc/sysv4.h: Likewise. * config/interix.h, config/vx-common.h, config/mep/mep.h: Likewise. * config/m32r/linux.h, config/m32r/m32r.h: Likewise. * config/openbsd-stdint.h, config/rx/rx.h: Likewise. * config/i386/cygming.h, config/i386/linux.h: Likewise. * config/i386/djgpp.h, config/i386/djgpp-stdint.h: Likewise. * config/i386/x86-64.h, config/i386/netbsd.h: Likewise. * config/i386/netbsd-elf.h, config/i386/cygwin-stdint.h: Likewise. * config/i386/netware.h, config/i386/i386-interix.h: Likewise. * config/i386/mingw-stdint.h, config/i386/sol2-10.h: Likewise. * config/i386/openbsdelf.h, config/i386/darwin.h: Likewise. * config/i386/mingw32.h, config/i386/openbsd.h: Likewise. * config/i386/nto.h, config/i386/freebsd.h: Likewise. * config/freebsd-stdint.h, config/sol2.h, config/sh/elf.h: Likewise. * config/sh/sh.h, config/sh/sh64.h, config/pdp11/pdp11.h: Likewise. * config/avr/avr.h, config/crx/crx.h: Likewise. * config/xtensa/linux.h, config/xtensa/elf.h: Likewise. * config/stormy16/stormy16.h, config/fr30/fr30.h: Likewise. * config/lm32/lm32.h, config/lynx.h, config/moxie/moxie.h: Likewise. * config/m68hc11/m68hc11.h, config/cris/linux.h: Likewise. * config/cris/cris.h, config/netbsd.h: Likewise. * config/iq2000/iq2000.h, config/svr4.h, config/ia64/ia64.h: Likewise. * config/ia64/hpux.h, config/ia64/sysv4.h: Likewise. * config/glibc-stdint.h, config/newlib-stdint.h: Likewise. * config/m68k/m68kemb.h, config/m68k/openbsd.h: Likewise. * config/m68k/netbsd-elf.h, config/m68k/m68k.h: Likewise. * config/rs6000/aix53.h, config/rs6000/netbsd.h: Likewise. * config/rs6000/aix.h, config/rs6000/aix51.h: Likewise. * config/rs6000/aix43.h, config/rs6000/linux64.h: Likewise. * config/rs6000/darwin.h, config/rs6000/aix52.h: Likewise. * config/rs6000/rs6000.h, config/rs6000/aix-stdint.h: Likewise. * config/rs6000/aix61.h, config/rs6000/freebsd.h: Likewise. * config/rs6000/sysv4.h, config/picochip/picochip.h: Likewise. * config/mcore/mcore.h, config/arc/arc.h, config/darwin.h: Likewise. * config/score/score.h, config/arm/arm.h: Likewise. * config/arm/linux-gas.h, config/arm/pe.h: Likewise. * config/arm/freebsd.h, config/arm/netbsd.h: Likewise. * config/arm/netbsd-elf.h, config/pa/pa-hpux.h: Likewise. * config/pa/pa-hpux11.h, config/pa/pa-64.h, config/pa/pa.h: Likewise. * config/pa/pa32-linux.h, config/mips/linux.h: Likewise. * config/mips/sde.h, config/mips/openbsd.h: Likewise. * config/mips/iris6.h, config/mips/mips.h: Likewise. * config/mips/netbsd.h, config/vax/openbsd.h: Likewise. * config/vax/linux.h, config/vax/elf.h, config/vax/netbsd.h: Likewise. * config/freebsd.h, config/h8300/h8300.h, config/vxworks.h: Likewise. * config/hpux-stdint.h, config/bfin/bfin.h: Likewise. * config/mn10300/mn10300.h, config/m68k/linux.h: Likewise. * config/v850/v850.h: Likewise. gcc/c-family: c-common.c (c_get_ident): Delete. (c_common_nodes_and_builtins): Adjust for new *_TYPE definitions. (c_stddef_cpp_builtins): Likewise. gcc/fortan: * iso-c-binding.def: Adjust for new *_TYPE definitions. * trans-types.c (get_typenode_from_name): Delete. (get_int_kind_from_name): Likewise. (get_int_kind_from_kind): New function. * f95-lang.c: Adjust for new *_TYPE definitions. gcc/lto: * lto-lang.c (lto_build_c_type_nodes, lto_init): Adjust for new *_TYPE definitions. Modified: branches/pr46489-20101227-branch/ (props changed) branches/pr46489-20101227-branch/ChangeLog.46489 branches/pr46489-20101227-branch/gcc/ (props changed) branches/pr46489-20101227-branch/gcc/c-family/c-common.c branches/pr46489-20101227-branch/gcc/config/ (props changed) branches/pr46489-20101227-branch/gcc/config/alpha/alpha.h branches/pr46489-20101227-branch/gcc/config/alpha/linux.h branches/pr46489-20101227-branch/gcc/config/alpha/openbsd.h branches/pr46489-20101227-branch/gcc/config/alpha/osf5.h branches/pr46489-20101227-branch/gcc/config/arc/arc.h branches/pr46489-20101227-branch/gcc/config/arm/arm.h branches/pr46489-20101227-branch/gcc/config/arm/freebsd.h branches/pr46489-20101227-branch/gcc/config/arm/linux-gas.h branches/pr46489-20101227-branch/gcc/config/arm/netbsd-elf.h branches/pr46489-20101227-branch/gcc/config/arm/netbsd.h branches/pr46489-20101227-branch/gcc/config/arm/pe.h branches/pr46489-20101227-branch/gcc/config/avr/avr.h branches/pr46489-20101227-branch/gcc/config/bfin/bfin.h branches/pr46489-20101227-branch/gcc/config/cris/cris.h branches/pr46489-20101227-branch/gcc/config/cris/linux.h branches/pr46489-20101227-branch/gcc/config/crx/crx.h branches/pr46489-20101227-branch/gcc/config/darwin.h branches/pr46489-20101227-branch/gcc/config/fr30/fr30.h branches/pr46489-20101227-branch/gcc/config/freebsd-stdint.h branches/pr46489-20101227-branch/gcc/config/freebsd.h branches/pr46489-20101227-branch/gcc/config/frv/frv.h branches/pr46489-20101227-branch/gcc/config/glibc-stdint.h branches/pr46489-20101227-branch/gcc/config/h8300/h8300.h branches/pr46489-20101227-branch/gcc/config/hpux-stdint.h branches/pr46489-20101227-branch/gcc/config/i386/cygming.h branches/pr46489-20101227-branch/gcc/config/i386/cygwin-stdint.h branches/pr46489-20101227-branch/gcc/config/i386/darwin.h branches/pr46489-20101227-branch/gcc/config/i386/djgpp-stdint.h branches/pr46489-20101227-branch/gcc/config/i386/djgpp.h branches/pr46489-20101227-branch/gcc/config/i386/freebsd.h branches/pr46489-20101227-branch/gcc/config/i386/i386-interix.h branches/pr46489-20101227-branch/gcc/config/i386/linux.h branches/pr46489-20101227-branch/gcc/config/i386/mingw-stdint.h branches/pr46489-20101227-branch/gcc/config/i386/mingw32.h branches/pr46489-20101227-branch/gcc/config/i386/netbsd-elf.h branches/pr46489-20101227-branch/gcc/config/i386/netbsd.h branches/pr46489-20101227-branch/gcc/config/i386/netware.h branches/pr46489-20101227-branch/gcc/config/i386/nto.h branches/pr46489-20101227-branch/gcc/config/i386/openbsd.h branches/pr46489-20101227-branch/gcc/config/i386/openbsdelf.h branches/pr46489-20101227-branch/gcc/config/i386/sol2-10.h branches/pr46489-20101227-branch/gcc/config/i386/sol2.h branches/pr46489-20101227-branch/gcc/config/i386/vxworksae.h branches/pr46489-20101227-branch/gcc/config/i386/x86-64.h branches/pr46489-20101227-branch/gcc/config/ia64/hpux.h branches/pr46489-20101227-branch/gcc/config/ia64/ia64.h branches/pr46489-20101227-branch/gcc/config/ia64/sysv4.h branches/pr46489-20101227-branch/gcc/config/interix.h branches/pr46489-20101227-branch/gcc/config/iq2000/iq2000.h branches/pr46489-20101227-branch/gcc/config/lm32/lm32.h branches/pr46489-20101227-branch/gcc/config/lynx.h branches/pr46489-20101227-branch/gcc/config/m32c/m32c.h branches/pr46489-20101227-branch/gcc/config/m32r/linux.h branches/pr46489-20101227-branch/gcc/config/m32r/m32r.h branches/pr46489-20101227-branch/gcc/config/m68hc11/m68hc11.h branches/pr46489-20101227-branch/gcc/config/m68k/linux.h branches/pr46489-20101227-branch/gcc/config/m68k/m68k.h branches/pr46489-20101227-branch/gcc/config/m68k/m68kemb.h branches/pr46489-20101227-branch/gcc/config/m68k/netbsd-elf.h branches/pr46489-20101227-branch/gcc/config/m68k/openbsd.h branches/pr46489-20101227-branch/gcc/config/mcore/mcore.h branches/pr46489-20101227-branch/gcc/config/mep/mep.h branches/pr46489-20101227-branch/gcc/config/mips/iris6.h branches/pr46489-20101227-branch/gcc/config/mips/linux.h branches/pr46489-20101227-branch/gcc/config/mips/mips.h branches/pr46489-20101227-branch/gcc/config/mips/netbsd.h branches/pr46489-20101227-branch/gcc/config/mips/openbsd.h branches/pr46489-20101227-branch/gcc/config/mips/sde.h branches/pr46489-20101227-branch/gcc/config/mn10300/mn10300.h branches/pr46489-20101227-branch/gcc/config/moxie/moxie.h branches/pr46489-20101227-branch/gcc/config/netbsd.h branches/pr46489-20101227-branch/gcc/config/newlib-stdint.h branches/pr46489-20101227-branch/gcc/config/openbsd-stdint.h branches/pr46489-20101227-branch/gcc/config/pa/pa-64.h branches/pr46489-20101227-branch/gcc/config/pa/pa-hpux.h branches/pr46489-20101227-branch/gcc/config/pa/pa-hpux11.h branches/pr46489-20101227-branch/gcc/config/pa/pa.h branches/pr46489-20101227-branch/gcc/config/pa/pa32-linux.h branches/pr46489-20101227-branch/gcc/config/pdp11/pdp11.h branches/pr46489-20101227-branch/gcc/config/picochip/picochip.h branches/pr46489-20101227-branch/gcc/config/rs6000/aix-stdint.h branches/pr46489-20101227-branch/gcc/config/rs6000/aix.h branches/pr46489-20101227-branch/gcc/config/rs6000/aix43.h branches/pr46489-20101227-branch/gcc/config/rs6000/aix51.h branches/pr46489-20101227-branch/gcc/config/rs6000/aix52.h branches/pr46489-20101227-branch/gcc/config/rs6000/aix53.h branches/pr46489-20101227-branch/gcc/config/rs6000/aix61.h branches/pr46489-20101227-branch/gcc/config/rs6000/darwin.h branches/pr46489-20101227-branch/gcc/config/rs6000/freebsd.h branches/pr46489-20101227-branch/gcc/config/rs6000/linux64.h branches/pr46489-20101227-branch/gcc/config/rs6000/netbsd.h branches/pr46489-20101227-branch/gcc/config/rs6000/rs6000.h branches/pr46489-20101227-branch/gcc/config/rs6000/sysv4.h branches/pr46489-20101227-branch/gcc/config/rx/rx.h branches/pr46489-20101227-branch/gcc/config/s390/linux.h branches/pr46489-20101227-branch/gcc/config/s390/tpf.h branches/pr46489-20101227-branch/gcc/config/score/score.h branches/pr46489-20101227-branch/gcc/config/sh/elf.h branches/pr46489-20101227-branch/gcc/config/sh/sh.h branches/pr46489-20101227-branch/gcc/config/sh/sh64.h branches/pr46489-20101227-branch/gcc/config/sol2.h (contents, props changed) branches/pr46489-20101227-branch/gcc/config/sparc/linux.h branches/pr46489-20101227-branch/gcc/config/sparc/linux64.h branches/pr46489-20101227-branch/gcc/config/sparc/netbsd-elf.h branches/pr46489-20101227-branch/gcc/config/sparc/openbsd64.h branches/pr46489-20101227-branch/gcc/config/sparc/sol2-bi.h branches/pr46489-20101227-branch/gcc/config/sparc/sp-elf.h branches/pr46489-20101227-branch/gcc/config/sparc/sp64-elf.h branches/pr46489-20101227-branch/gcc/config/sparc/sparc.h branches/pr46489-20101227-branch/gcc/config/sparc/sysv4.h branches/pr46489-20101227-branch/gcc/config/stormy16/stormy16.h branches/pr46489-20101227-branch/gcc/config/v850/v850.h branches/pr46489-20101227-branch/gcc/config/vax/elf.h branches/pr46489-20101227-branch/gcc/config/vax/linux.h branches/pr46489-20101227-branch/gcc/config/vax/netbsd.h branches/pr46489-20101227-branch/gcc/config/vax/openbsd.h branches/pr46489-20101227-branch/gcc/config/vx-common.h branches/pr46489-20101227-branch/gcc/config/vxworks.h branches/pr46489-20101227-branch/gcc/config/xtensa/elf.h branches/pr46489-20101227-branch/gcc/config/xtensa/linux.h branches/pr46489-20101227-branch/gcc/coretypes.h branches/pr46489-20101227-branch/gcc/defaults.h branches/pr46489-20101227-branch/gcc/doc/tm.texi branches/pr46489-20101227-branch/gcc/doc/tm.texi.in branches/pr46489-20101227-branch/gcc/fortran/f95-lang.c branches/pr46489-20101227-branch/gcc/fortran/iso-c-binding.def branches/pr46489-20101227-branch/gcc/fortran/trans-types.c branches/pr46489-20101227-branch/gcc/lto/lto-lang.c branches/pr46489-20101227-branch/gcc/testsuite/gcc.target/powerpc/ppc-round.c (props changed) branches/pr46489-20101227-branch/gcc/tree.c branches/pr46489-20101227-branch/gcc/tree.h branches/pr46489-20101227-branch/libjava/classpath/ (props changed) Propchange: branches/pr46489-20101227-branch/ ('svn:mergeinfo' modified) Propchange: branches/pr46489-20101227-branch/gcc/ ('svn:mergeinfo' modified) Propchange: branches/pr46489-20101227-branch/gcc/config/ ('svn:mergeinfo' added) Propchange: branches/pr46489-20101227-branch/gcc/config/sol2.h ('svn:mergeinfo' added) Propchange: branches/pr46489-20101227-branch/gcc/testsuite/gcc.target/powerpc/ppc-round.c ('svn:mergeinfo' modified) Propchange: branches/pr46489-20101227-branch/libjava/classpath/ ('svn:mergeinfo' modified)
The sort of patches here should be updated for trunk and resubmitted now we are in stage 1 for 4.7 and such patches are appropriate.