* tree.c (build_common_tree_nodes_2): Merge with
build_common_tree_nodes.
* tree.h (build_common_tree_nodes): Adjust prototype.
(build_common_tree_nodes_2): Remove.
* doc/tm.texi.in (lang_hooks.builtin_function): Adjust.
* doc/tm.texi (lang_hooks.builtin_function): Regenerate.
c-family/
* c-common.c (c_common_nodes_and_builtins):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
fortran/
* f95-lang.c (gfc_init_decl_processing):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
go/
* go-lang.c (go_langhook_init):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
java/
* decl.c (java_init_decl_processing):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
lto/
* lto-lang.c (lto_init):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
ada/
* gcc-interface/misc.c (gnat_init):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
Re-initialize boolean_false_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175906
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (build_common_tree_nodes_2): Merge with
+ build_common_tree_nodes.
+ * tree.h (build_common_tree_nodes): Adjust prototype.
+ (build_common_tree_nodes_2): Remove.
+ * doc/tm.texi.in (lang_hooks.builtin_function): Adjust.
+ * doc/tm.texi (lang_hooks.builtin_function): Regenerate.
+
2011-07-05 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/49618
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/misc.c (gnat_init):
+ Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
+ Re-initialize boolean_false_node.
+
2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
Olivier Hainque <hainque@adacore.com>
Nicolas Setton <setton@adacore.com>
/* Do little here, most of the standard declarations are set up after the
front-end has been run. Use the same `char' as C, this doesn't really
matter since we'll use the explicit `unsigned char' for Character. */
- build_common_tree_nodes (flag_signed_char);
+ build_common_tree_nodes (flag_signed_char, false);
/* In Ada, we use an unsigned 8-bit type for the default boolean type. */
boolean_type_node = make_unsigned_type (8);
build_int_cst (boolean_type_node, 1));
SET_TYPE_RM_SIZE (boolean_type_node, bitsize_int (1));
- build_common_tree_nodes_2 (0);
sbitsize_one_node = sbitsize_int (1);
sbitsize_unit_node = sbitsize_int (BITS_PER_UNIT);
boolean_true_node = TYPE_MAX_VALUE (boolean_type_node);
+ boolean_false_node = TYPE_MIN_VALUE (boolean_type_node);
ptr_void_type_node = build_pointer_type (void_type_node);
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * c-common.c (c_common_nodes_and_builtins):
+ Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
+
2011-07-05 Richard Guenther <rguenther@suse.de>
* c-common.c (c_common_nodes_and_builtins): Build all common
tree va_list_ref_type_node;
tree va_list_arg_type_node;
- build_common_tree_nodes (flag_signed_char);
- build_common_tree_nodes_2 (flag_short_double);
+ build_common_tree_nodes (flag_signed_char, flag_short_double);
/* Define `int' and `char' first so that dbx will output them first. */
record_builtin_type (RID_INT, NULL, integer_type_node);
To create a built-in function, call the function
@code{lang_hooks.builtin_function}
which is defined by the language front end. You can use any type nodes set
-up by @code{build_common_tree_nodes} and @code{build_common_tree_nodes_2};
+up by @code{build_common_tree_nodes};
only language front ends that use those two functions will call
@samp{TARGET_INIT_BUILTINS}.
@end deftypefn
To create a built-in function, call the function
@code{lang_hooks.builtin_function}
which is defined by the language front end. You can use any type nodes set
-up by @code{build_common_tree_nodes} and @code{build_common_tree_nodes_2};
+up by @code{build_common_tree_nodes};
only language front ends that use those two functions will call
@samp{TARGET_INIT_BUILTINS}.
@end deftypefn
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * f95-lang.c (gfc_init_decl_processing):
+ Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
+
2011-07-04 Jakub Jelinek <jakub@redhat.com>
PR fortran/49623
/* Build common tree nodes. char_type_node is unsigned because we
only use it for actual characters, not for INTEGER(1). Also, we
want double_type_node to actually have double precision. */
- build_common_tree_nodes (false);
+ build_common_tree_nodes (false, false);
- build_common_tree_nodes_2 (0);
void_list_node = build_tree_list (NULL_TREE, void_type_node);
/* Set up F95 type nodes. */
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * go-lang.c (go_langhook_init):
+ Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
+
2011-06-14 Joseph Myers <joseph@codesourcery.com>
* Make-lang.in (go/go-lang.o, go/go-backend.o): Update
static bool
go_langhook_init (void)
{
- build_common_tree_nodes (false);
-
- build_common_tree_nodes_2 (0);
+ build_common_tree_nodes (false, false);
/* We must create the gogo IR after calling build_common_tree_nodes
(because Gogo::define_builtin_function_trees refers indirectly
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * decl.c (java_init_decl_processing):
+ Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
+
2011-06-21 Andrew MacLeod <amacleod@redhat.com>
* builtins.c: Add sync_ or SYNC__ to builtin names.
global_binding_level = current_binding_level;
/* Build common tree nodes, Java has an unsigned char. */
- build_common_tree_nodes (false);
-
- /* Build the rest of the common tree nodes. */
- build_common_tree_nodes_2 (0);
+ build_common_tree_nodes (false, false);
/* ??? Now we continue and override some of the built types again
with Java specific types. As the above generated types are
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * lto-lang.c (lto_init):
+ Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
+
2011-06-11 Jan Hubicka <jh@suse.cz>
PR lto/48246
linemap_add (line_table, LC_RENAME, 0, NULL, 0);
/* Create the basic integer types. */
- build_common_tree_nodes (flag_signed_char);
+ build_common_tree_nodes (flag_signed_char, /*short_double=*/false);
/* The global tree for the main identifier is filled in by
language-specific front-end initialization that is not run in the
ptrdiff_type_node = integer_type_node;
- /* Create other basic types. */
- build_common_tree_nodes_2 (/*short_double=*/false);
lto_build_c_type_nodes ();
gcc_assert (va_list_type_node);
}
/* Create nodes for all integer types (and error_mark_node) using the sizes
- of C datatypes. */
+ of C datatypes. SIGNED_CHAR specifies whether char is signed,
+ SHORT_DOUBLE specifies whether double should be of the same precision
+ as float. */
void
-build_common_tree_nodes (bool signed_char)
+build_common_tree_nodes (bool signed_char, bool short_double)
{
error_mark_node = make_node (ERROR_MARK);
TREE_TYPE (error_mark_node) = error_mark_node;
access_public_node = get_identifier ("public");
access_protected_node = get_identifier ("protected");
access_private_node = get_identifier ("private");
-}
-
-/* Call this function after calling build_common_tree_nodes.
- It will create several other common tree nodes. */
-void
-build_common_tree_nodes_2 (int short_double)
-{
/* Define these next since types below may used them. */
integer_zero_node = build_int_cst (integer_type_node, 0);
integer_one_node = build_int_cst (integer_type_node, 1);
extern int real_twop (const_tree);
extern int real_minus_onep (const_tree);
extern void init_ttree (void);
-extern void build_common_tree_nodes (bool);
-extern void build_common_tree_nodes_2 (int);
+extern void build_common_tree_nodes (bool, bool);
extern void build_common_builtin_nodes (void);
extern tree build_nonstandard_integer_type (unsigned HOST_WIDE_INT, int);
extern tree build_range_type (tree, tree, tree);