diff options
author | rus <rus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-15 21:37:08 +0000 |
---|---|---|
committer | rus <rus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-15 21:37:08 +0000 |
commit | aa24789524caa6f92c525a108d8deb60e832a0cd (patch) | |
tree | b8926c2ce7008c13ca80a5fe0c2e86bfbe68f63b /gcc/c-cppbuiltin.c | |
parent | c8ff8146c681ec3d932f9a378755fd0b3314564c (diff) | |
download | gcc-aa24789524caa6f92c525a108d8deb60e832a0cd.tar.gz |
Merged revisions 137858-137859,137862,137868,137872-137875,137883-137884,137886,137888-137890,137893-137896,137903-137904,137907,137909-137910,137912-137914,137918,137921-137924,137937,137939,137941,137949-137950,137954-137956,137958-137963,137965-137970,137973,137975-137976,137980-137986,137989-137991,137995,138005-138007,138009-138010,138012-138013,138016,138018-138022,138024,138026-138027,138031-138032,138034,138036,138038,138040-138043,138047,138049-138050,138057-138058,138063-138064,138069,138072-138073,138075,138078,138082,138087,138089,138091-138092,138096-138097,138100,138104,138106-138107,138110,138112,138119-138120,138122-138123,138127-138128,138131,138139-138143,138145-138146,138148,138150-138151,138154,138159,138165,138167,138179-138181,138184,138186,138189-138191,138194,138198,138201,138206-138208,138211,138213-138217,138219,138221,138224,138226,138233-138238,138245-138246,138248-138252,138254-138258,138260-138261,138263,138274-138275,138277,138289,138291,138293-138298,138300-138308,138310,138313-138314,138316-138318,138320-138325,138327-138333,138335-138336,138340,138347-138348,138351,138353,138355-138358,138360-138367,138370-138402,138404-138422,138424-138429,138432,138434-138440,138444,138446,138448,138450,138455-138470,138472-138475,138479-138503,138506-138520,138522,138524-138525,138530,138537,138541,138544,138552-138553,138555,138560,138562,138564-138566,138568,138573,138575-138606,138608-138620,138631,138633,138635-138638,138640,138642-138643,138645,138647-138652,138661,138664,138667-138676,138678-138697,138700-138706,138708-138711,138714,138716-138728,138732-138733,138735,138737-138738,138740,138747-138748,138751,138756-138759,138763-138793,138797,138799-138800,138804,138806-138817,138819,138829,138832,138834-138835,138837,138839-138844,138846-138851,138854,138859,138862-138882,138884-138887,138889-138893,138896,138898,138903-138912,138914-138917,138921,138924-138925,138932-138934,138936,138939,138950-138951,138953-138954,138957,138966-138967,138970,138974,138978,138988,138995,139004-139005,139008-139009,139011,139013-139017,139019,139024-139026,139028-139029,139031,139034-139040,139042,139045,139048-139054,139061-139065,139072,139074-139075,139082,139084,139086,139089,139091-139093,139095-139097,139099-139100,139111,139114,139116-139117,139121,139124-139126,139129,139135 via svnmerge from
svn+ssh://gcc.gnu.org/svn/gcc/trunk
........
r137858 | paolo | 2008-07-15 16:23:23 -0700 (Tue, 15 Jul 2008) | 36 lines
2008-07-15 Chris Fairles <chris.fairles@gmail.com>
* include/std/chrono: New, as per N2661.
* src/chrono.cc: New.
* include/Makefile.am: Update.
* src/Makefile.am: Likewise.
* include/Makefile.in: Regenerate.
* src/Makefile.in: Likewise.
* acinclude.m4: Add tests for clock_gettime and gettimeofday that
define _GLIBCXX_HAS_CLOCK_GETTIME and/or _GLIBCXX_HAS_GETTIMEOFDAY.
* configure.ac: Use them.
* configure: Regenerate.
* config.h.in: Likewise.
* config/abi/pre/gnu.ver: Add symbols for system_clock::now() and
system_clock::is_monotonic.
* testsuite/20_util/duration/cons/1.cc: New.
* testsuite/20_util/duration/cons/2.cc: Likewise.
* testsuite/20_util/duration/cons/1_neg.cc: Likewise.
* testsuite/20_util/duration/requirements/explicit_instantiation/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/duration/arithmetic/1.cc: Likewise.
* testsuite/20_util/duration/arithmetic/2.cc: Likewise.
* testsuite/20_util/duration/comparisons/1.cc: Likewise.
* testsuite/20_util/time_point/requirements/explicit_instantiation/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/time_point/1.cc: Likewise.
* testsuite/20_util/time_point/2.cc: Likewise.
* testsuite/20_util/time_point/3.cc: Likewise.
* testsuite/20_util/clocks/1.cc: Likewise.
* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Add
missing headers.
* testsuite/17_intro/headers/c++200x/all.cc: Likewise.
* include/precompiled/stdc++.h: Likewise and remove <date_time>.
* doc/doxygen/user.cfg.in: Likewise.
........
r137859 | dberlin | 2008-07-15 16:50:52 -0700 (Tue, 15 Jul 2008) | 12 lines
2008-07-15 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-sccvn.c (expressions_equal_p): Check type equality.
* tree-ssa-pre.c (pre_expr_eq): Ditto
(get_constant_for_value_id): Take a type as an argument.
(fully_constant_expression): Pass in type.
(find_or_generate_expression): Short circuit constant case.
(create_expression_by_pieces): Remove special casing of
pointer_plus.
(do_regular_insertion): Short circuit constant case.
(do_partial_partial_insertion): Ditto.
........
r137862 | gccadmin | 2008-07-15 17:16:37 -0700 (Tue, 15 Jul 2008) | 1 line
Daily bump.
........
r137868 | bkoz | 2008-07-16 00:01:23 -0700 (Wed, 16 Jul 2008) | 13 lines
2008-07-15 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Add complex, ratio,
intializer_list.
(PREDEFINED): Add _GLIBCXX_USE_C99_STDINT_TR1.
* doc/doxygen/doxygroups.cc: Add std::chrono.
* include/bits/unique_ptr.h (default_delete, unique_ptr): Add markup.
* libsupc++/initializer_list (initializer_list): Same.
* include/std/ratio: Same.
* include/std/chrono: Same.
* include/std/complex: Disambiguate file markup.
........
r137872 | paolo | 2008-07-16 02:04:16 -0700 (Wed, 16 Jul 2008) | 4 lines
2008-07-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/unique_ptr.h: Remove stray character.
........
r137873 | espindola | 2008-07-16 02:14:27 -0700 (Wed, 16 Jul 2008) | 6 lines
2007-07-16 Rafael Avila de Espindola <espindola@google.com>
* c-decl.c (merge_decls): Keep DECL_SOURCE_LOCATION and
DECL_IN_SYSTEM_HEADER in sync.
........
r137874 | paolo | 2008-07-16 03:10:41 -0700 (Wed, 16 Jul 2008) | 9 lines
2008-07-16 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Adjust
dg-error lines.
* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
* testsuite/20_util/duration/cons/1_neg.cc: Likewise.
* include/tr1_impl/type_traits: Fix comment typo.
........
r137875 | jsm28 | 2008-07-16 03:45:57 -0700 (Wed, 16 Jul 2008) | 5 lines
PR target/36827
* config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier.
(m32c_legitimate_address_p): Handle "++rii" addresses created by
m32c_legitimize_reload_address.
........
r137883 | kkojima | 2008-07-16 06:57:35 -0700 (Wed, 16 Jul 2008) | 4 lines
* src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
int.
........
r137884 | dje | 2008-07-16 08:33:30 -0700 (Wed, 16 Jul 2008) | 3 lines
* config/rs6000/rs6000.c (processor_target_table): Add
MASK_PPC_GPOPT for power4, power5, power5+, power6, and power6x.
........
r137886 | jakub | 2008-07-16 08:35:26 -0700 (Wed, 16 Jul 2008) | 3 lines
* team.c (gomp_team_end): Free team immediately if it has
just one thread.
........
r137888 | bwilson | 2008-07-16 08:36:43 -0700 (Wed, 16 Jul 2008) | 6 lines
2008-07-16 Anatoly Sokolov <aesok@post.ru>
* config/xtensa/xtensa.h (FUNCTION_OUTGOING_VALUE,
XTENSA_FUNCTION_VALUE, XTENSA_FUNCTION_VALUE): Remove.
* config/xtensa/xtensa.c (xtensa_function_value): New function.
(TARGET_FUNCTION_VALUE): Define.
........
r137889 | hainque | 2008-07-16 09:20:31 -0700 (Wed, 16 Jul 2008) | 4 lines
* collect2.c (scan_prog_file, COFF version): Use CONST_CAST
instead of bare conversion to cast const-ness away.
........
r137890 | dje | 2008-07-16 09:34:25 -0700 (Wed, 16 Jul 2008) | 3 lines
* config/rs6000/rs6000.c (processor_target_table): Remove duplicate
MASK_POWERPC64 for power4 in previous commit.
........
r137893 | ghazi | 2008-07-16 10:49:20 -0700 (Wed, 16 Jul 2008) | 23 lines
* cfg.c (dump_reg_info): Avoid C++ keywords.
* dwarf2asm.c (dw2_force_const_mem,
dw2_asm_output_encoded_addr_rtx): Likewise.
* except.c (gen_eh_region, add_action_record, output_ttype):
Likewise.
* expmed.c (expand_shift): Likewise.
* global.c (find_reg): Likewise.
* graph.c (draw_edge): Likewise.
* local-alloc.c (reg_meets_class_p, find_free_reg): Likewise.
* optabs.c (expand_binop, expand_twoval_unop, expand_twoval_binop,
widen_clz, widen_bswap, expand_parity, expand_unop,
emit_cmp_and_jump_insn_1): Likewise.
* postreload.c (reload_cse_simplify_operands): Likewise.
* ra.h (add_neighbor): Likewise.
* reg-stack.c (remove_regno_note, change_stack): Likewise.
* regclass.c (memory_move_secondary_cost, dump_regclass, regclass,
record_reg_classes, copy_cost, record_address_regs,
invalid_mode_change_p): Likewise.
* regrename.c (regrename_optimize, scan_rtx_reg,
dump_def_use_chain, find_oldest_value_reg,
replace_oldest_value_reg, copyprop_hardreg_forward_1): Likewise.
........
r137894 | ghazi | 2008-07-16 10:52:19 -0700 (Wed, 16 Jul 2008) | 19 lines
* recog.c (validate_change_1, validate_change,
validate_unshare_change, validate_replace_rtx_1, struct
funny_match, constrain_operands, peephole2_optimize): Avoid C++
keywords.
* reload.c (push_secondary_reload, secondary_reload_class,
scratch_reload_class, find_valid_class, find_reusable_reload,
push_reload, find_dummy_reload, find_reloads_address_1,
find_reloads_address_part, find_equiv_reg): Likewise.
* reload1.c (spill_failure, eliminate_regs_1, allocate_reload_reg,
choose_reload_regs): Likewise.
* rtlanal.c (replace_rtx, nonzero_bits1, num_sign_bit_copies1):
Likewise.
* rtlhooks.c (gen_lowpart_if_possible): Likewise.
* sched-ebb.c (add_deps_for_risky_insns): Likewise.
* sched-rgn.c (concat_INSN_LIST): Likewise.
* stor-layout.c (mode_for_size, mode_for_size_tree,
smallest_mode_for_size): Likewise.
........
r137895 | ghazi | 2008-07-16 10:55:42 -0700 (Wed, 16 Jul 2008) | 15 lines
* c-pch.c (get_ident): Avoid C++ keywords.
* combine-stack-adj.c (single_set_for_csa): Likewise.
* final.c (asm_insn_count, final_scan_insn, alter_subreg,
output_asm_insn): Likewise.
* reload.c (push_secondary_reload, find_reusable_reload,
push_reload, combine_reloads, find_reloads,
debug_reload_to_stream): Likewise.
* reload.h (struct reload): Likewise.
* reload1.c (reload_reg_class_lower, find_reg, find_reload_regs,
allocate_reload_reg, choose_reload_regs, emit_input_reload_insns,
emit_output_reload_insns): Likewise.
* targhooks.c (default_secondary_reload): Likewise.
* varasm.c (section_entry_eq, object_block_entry_eq): Likewise.
........
r137896 | ghazi | 2008-07-16 11:19:55 -0700 (Wed, 16 Jul 2008) | 3 lines
* recog.c (peephole2_optimize): Fix formatting.
........
r137903 | hubicka | 2008-07-16 14:38:15 -0700 (Wed, 16 Jul 2008) | 8 lines
* cgraph.h (varpool_empty_needed_queue): Declare.
* cgraphunit.c (output_in_order): Mark all variables as needed;
empty the queue.
* varpool.c (varpool_assemble_node): Update debug queue.
(varpool_assemble_pending_decls): Don't do it here.
(varpool_empty_needed_queue): New function.
........
r137904 | dodji | 2008-07-16 16:44:02 -0700 (Wed, 16 Jul 2008) | 9 lines
2008-07-16 Dodji Seketeli <dseketel@redhat.com>
PR c++/13699
* gcc/cp/name-lookup.c (lookup_extern_c_fun_binding_in_all_ns):
New function.
(pushdecl_maybe_friend): Check if a redeclaration of extern C function
complies with exception specification constraints.
........
r137907 | gccadmin | 2008-07-16 17:16:28 -0700 (Wed, 16 Jul 2008) | 1 line
Daily bump.
........
r137909 | hjl | 2008-07-16 22:13:27 -0700 (Wed, 16 Jul 2008) | 6 lines
2008-07-17 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/36443
* objc.dg/gnu-encoding/gnu-encoding.exp: Temporarily unset
GCC_EXEC_PREFIX from environment when running $HOSTCC.
........
r137910 | burnus | 2008-07-16 22:54:42 -0700 (Wed, 16 Jul 2008) | 16 lines
2008-07-17 Tobias Burnus <burnus@net-b.de>
PR fortran/36825
PR fortran/36824
* array.c (gfc_match_array_spec): Fix array-rank check.
* resolve.c (resolve_fl_derived): Fix constentness check
for the array dimensions.
2008-07-17 Tobias Burnus <burnus@net-b.de>
PR fortran/36825
PR fortran/36824
* gfortran.dg/rank_2.f90: Add additional array-rank test.
* gfortran.dg/array_4.f90: New.
........
r137912 | bonzini | 2008-07-17 01:58:15 -0700 (Thu, 17 Jul 2008) | 5 lines
2008-07-16 Roger Sayle <roger@eyesopen.com>
Paolo Bonzini <bonzini@gnu.org>
* scripts/jar.in: Fix portability problems with Solaris /bin/sh.
........
r137913 | bonzini | 2008-07-17 02:07:31 -0700 (Thu, 17 Jul 2008) | 14 lines
gcc:
2008-07-17 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/36753
* fwprop.c (use_killed_between): Don't shortcut
single-definition global registers.
gcc/testsuite:
2008-07-17 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/36753
* gcc.target/i386/pr36753.c: New.
........
r137914 | paolo | 2008-07-17 02:11:11 -0700 (Thu, 17 Jul 2008) | 15 lines
/cp
2008-07-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36855
* semantics.c (trait_expr_value): Update __has_trivial_destructor
semantics to the current WP (N2691).
/testsuite
2008-07-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36855
* g++.dg/ext/has_trivial_destructor.C: Rename to...
* g++.dg/ext/has_trivial_destructor-1.C: ... this.
* g++.dg/ext/has_trivial_destructor-2.C: New.
........
r137918 | doko | 2008-07-17 03:04:51 -0700 (Thu, 17 Jul 2008) | 5 lines
2008-07-17 Roman Zippel <zippel@linux-m68k.org>
PR target/25343
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __mc68000__.
........
r137921 | jamborm | 2008-07-17 06:23:32 -0700 (Thu, 17 Jul 2008) | 21 lines
2008-07-17 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_print_all_lattices): New variable info, check
that nodes are relevant by examining the node->analyzed flag.
(ipcp_init_stage): Check which nodes are relevant, assert that the
relevant ones are also required.
(ipcp_propagate_stage): Check on the side arrays are properly
allocated.
(ipcp_print_all_jump_functions): Make sure not to touch any node
that is not analyzed or an edge that does not have a corresponding
entry in the on-the-side vectors.
(ipcp_function_scale_print): Likewise.
(ipcp_update_callgraph): Check that the node is relevant.
(ipcp_insert_stage): Check that the node is relevant. Check there is
an info for every node and edge.
* ipa-prop.c (ipa_init_func_list): Check the nodes are relevant.
(ipa_print_all_tree_maps): Likewise and a new variable info.
(ipa_print_all_params_modified): Likewise.
* ipa-prop.h (ipa_edge_args_info_available_for_edge_p): New function.
........
r137922 | jules | 2008-07-17 07:03:50 -0700 (Thu, 17 Jul 2008) | 14 lines
gcc/cp/
* decl2.c (determine_visibility): Allow target to override
visibility of class data.
gcc/
* config/arm/arm.c (arm_cxx_determine_class_data_visibility): Make
no-op for targets which don't use DLLs.
gcc/testsuite/
* g++.dg/ext/visibility/arm3.C: Add explanatory text. Skip on
non-DLL targets.
* g++.dg/ext/visibility/arm1.C: Skip on non-DLL targets.
........
r137923 | hainque | 2008-07-17 07:18:27 -0700 (Thu, 17 Jul 2008) | 13 lines
ada/
* utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
argument, to apply to references in addition to definitions. Prevent
setting TREE_STATIC on externals.
(gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
testsuite/
* gnat.dg/tree_static_def.ad[bs]: Support for ...
* gnat.dg/tree_static_use.adb: New test.
* gnat.dg/decl_ctx_def.ads: Support for ...
* gnat.dg/decl_ctx_use.ad[bs]: New test.
........
r137924 | hainque | 2008-07-17 07:37:58 -0700 (Thu, 17 Jul 2008) | 5 lines
* adaint.c (__MINGW32__ section): Include ctype.h and define
a fallback ISALPHA if IN_RTS.
(__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
........
r137937 | gccadmin | 2008-07-17 17:16:37 -0700 (Thu, 17 Jul 2008) | 1 line
Daily bump.
........
r137939 | doko | 2008-07-18 01:15:27 -0700 (Fri, 18 Jul 2008) | 15 lines
boehm-gc/
2008-07-18 Matthias Klose <doko@ubuntu.com>
* configure.ac (AC_CONFIG_FILES): Add threads.mk.
* threads.mk.in: New.
* Makefile.in, configure: Regenerate.
libobjc/
2008-07-18 Matthias Klose <doko@ubuntu.com>
* Makefile.in: Include ../boehm-gc/threads.mk.
(OBJC_BOEHM_GC_LIBS): Define, (libobjc_gc$(libsuffix).la): Use it.
........
r137941 | doko | 2008-07-18 03:37:22 -0700 (Fri, 18 Jul 2008) | 2 lines
- checkin threads.mk.in.
........
r137949 | burnus | 2008-07-18 06:17:49 -0700 (Fri, 18 Jul 2008) | 6 lines
The new file gfortran.dg/array_4.f90 was missing from the commit 137910
2008-07-17 Tobias Burnus <burnus@net-b.de>
PR fortran/36824
* gfortran.dg/array_4.f90: New.
........
r137950 | burnus | 2008-07-18 06:20:35 -0700 (Fri, 18 Jul 2008) | 5 lines
2008-07-18 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/parameter_array_init_4.f90: Silence pedantic warning.
........
r137954 | hjl | 2008-07-18 08:42:59 -0700 (Fri, 18 Jul 2008) | 14 lines
gcc/
2008-07-18 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/36858
* function.c (locate_and_pad_parm): Cap boundary earlier.
testsuite/
2008-07-18 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/36858
* gcc.target/i386/vararg-1.c: New.
........
r137955 | hjl | 2008-07-18 08:48:04 -0700 (Fri, 18 Jul 2008) | 16 lines
gcc/
2008-07-18 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/36859
* builtins.c (std_gimplify_va_arg_expr): Limit alignment to
PREFERRED_STACK_BOUNDARY.
* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
testsuite/
2008-07-18 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/36859
* gcc.target/i386/vararg-2.c: New.
........
r137956 | doko | 2008-07-18 09:30:04 -0700 (Fri, 18 Jul 2008) | 4 lines
2008-07-18 Matthias Klose <doko@ubuntu.com>
* Makefile.in: Ignore missing ../boehm-gc/threads.mk.
........
r137958 | ghazi | 2008-07-18 10:16:25 -0700 (Fri, 18 Jul 2008) | 9 lines
* objc-act.c (objc_start_class_interface,
objc_start_category_interface, objc_start_class_implementation,
objc_start_category_implementation, objc_build_struct,
generate_static_references, build_private_template,
lookup_category, objc_add_method, add_category,
add_instance_variable, objc_is_public, conforms_to_protocol,
start_class, continue_class, finish_class): Avoid C++ keywords.
........
r137959 | ghazi | 2008-07-18 10:19:03 -0700 (Fri, 18 Jul 2008) | 19 lines
* cvt.c (convert_to_void): Avoid C++ keywords.
* decl.c (walk_namespaces_r, wrapup_globals_for_namespace):
Likewise.
* friend.c (is_friend): Likewise.
* init.c (perform_member_init): Likewise.
* mangle.c (write_template_prefix, write_template_template_param):
Likewise.
* name-lookup.c (do_namespace_alias, do_using_directive,
parse_using_directive, ambiguous_decl, arg_assoc): Likewise.
* parser.c (cp_parser_template_id, cp_parser_namespace_definition,
cp_parser_objc_typename, cp_parser_objc_method_keyword_params):
Likewise.
* pt.c (is_specialization_of_friend, lookup_template_class,
push_tinst_level, instantiate_class_template,
tsubst_copy_and_build): Likewise.
* tree.c (add_stmt_to_compound): Likewise.
* typeck.c (finish_class_member_access_expr): Likewise.
........
r137960 | ghazi | 2008-07-18 10:54:46 -0700 (Fri, 18 Jul 2008) | 4 lines
* arith.c (eval_type_intrinsic0): Avoid C++ keywords.
* gfortran.h (try, protected, operator, new): Likewise.
........
r137961 | paolo | 2008-07-18 11:40:53 -0700 (Fri, 18 Jul 2008) | 5 lines
2008-07-18 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/lib/libstdc++.exp (check_v3_target_c_std): Avoid unused
variable warnings leading to spurious fails of the test.
........
r137962 | paolo | 2008-07-18 13:11:21 -0700 (Fri, 18 Jul 2008) | 7 lines
2008-07-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/vector (insert(iterator, _Tp&&), push_back(_Tp&&)):
Enable only when _Tp != bool.
* testsuite/25_algorithms/heap/1.cc: Avoid unused variable warnings.
........
r137963 | paolo | 2008-07-18 13:11:50 -0700 (Fri, 18 Jul 2008) | 7 lines
2008-07-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/vector (insert(iterator, _Tp&&), push_back(_Tp&&)):
Enable only when _Tp != bool.
* testsuite/25_algorithms/heap/1.cc: Avoid unused variable warnings.
........
r137965 | kvanhees | 2008-07-18 13:23:42 -0700 (Fri, 18 Jul 2008) | 37 lines
gcc/ChangeLog:
2008-07-16 Kris Van Hees <kris.van.hees@oracle.com>
* c-common.c (c_stddef_cpp_builtins): Define __CHAR16_TYPE__
and __CHAR32_TYPE__.
* c-typeck.c (digest_init): Support char16_t and char32_t.
(set_nonincremental_init_from_string): Idem.
gcc/cp/ChangeLog:
2008-07-16 Kris Van Hees <kris.van.hees@oracle.com>
* rtti.c (emit_support_tinfos): Add char16_type_node and
char32_type_node.
* typeck2.c (digest_init): Support char16_t and char32_t.
gcc/testsuite/ChangeLog:
2008-07-16 Kris Van Hees <kris.van.hees@oracle.com>
Tests for char16_t and char32_t support.
* g++.dg/ext/utf-array.C: New
* g++.dg/ext/utf-array-short-wchar.C: New
* g++.dg/ext/utf-rtti.C: New
* g++.dg/ext/utf-type.c: New
* gcc.dg/utf-array.c: New
* gcc.dg/utf-array-short-wchar.c: New
* gcc.dg/utf-inc-init.c: New
* gcc.dg/utf-type.c: New
libstdc++-v3/ChangeLog:
2008-07-16 Kris Van Hees <kris.van.hees@oracle.com>
Holger Hopp <holger.hopp@sap.com>
* config/abi/pre/gnu.ver: Support char16_t and char32_t.
* testsuite/util/testsuite_abi.cc (check_version): Add
CXXABI_1.3.3 to known_versions.
........
r137966 | dodji | 2008-07-18 13:40:42 -0700 (Fri, 18 Jul 2008) | 7 lines
2008-07-18 Dodji Seketeli <dseketel@redhat.com>
PR c++/36407
* call.c (convert_like_real): Don't take the error code path
when a rvalue or base conversion has the bad_p field set.
........
r137967 | uros | 2008-07-18 14:01:59 -0700 (Fri, 18 Jul 2008) | 16 lines
PR target/36786
* config/i386/i386.md (x86_64_shift_adj_1): Rename from
x86_64_shift_adj.
(x86_64_shift_adj_2): New expander.
(x86_64_shift_adj_3): Ditto.
* config/i386/i386.c (ix86_split_ashr): Use gen_x86_64_shift_adj_3
to split TImode operands.
(ix86_split_ashl): Use gen_x86_64_shift_adj_2 to split TImode operands.
(ix86_split_lshr): Ditto.
testsuite/ChangeLog:
PR target/36786
* gcc.target/i386/pr36786.c: New test.
........
r137968 | jsm28 | 2008-07-18 15:05:43 -0700 (Fri, 18 Jul 2008) | 3 lines
* gcc.dg/fshort-wchar.c: Use -Wl,--no-wchar-size-warning on
arm*-*-*eabi.
........
r137969 | paolo | 2008-07-18 15:37:34 -0700 (Fri, 18 Jul 2008) | 4 lines
2008-07-18 Paolo Carlini <paolo.carlini@oracle.com>
Remove spurious blank line from ChangeLog.
........
r137970 | kvanhees | 2008-07-18 15:37:42 -0700 (Fri, 18 Jul 2008) | 8 lines
2008-07-18 Kris Van Hees <kris.van.hees@oracle.com>
* g++.dg/ext/utf-array.C: Fix broken merge/checkin.
* g++.dg/ext/utf-array-short-wchar.C: Idem
* gcc.dg/utf-array.c: Idem
* gcc.dg/utf-array-short-wchar.c: Idem
........
r137973 | gccadmin | 2008-07-18 17:16:39 -0700 (Fri, 18 Jul 2008) | 1 line
Daily bump.
........
r137975 | hainque | 2008-07-18 23:41:30 -0700 (Fri, 18 Jul 2008) | 8 lines
* dwarf2out.c (add_subscript_info): New explicit COLLAPSE_P
argument, saying whether nested array are to be collapsed
into a single array type DIE with multiple subscripts.
(gen_array_type_die): Factorize comments about the MIPS_DEBUG_INFO
issues, centralize the nested array types collapsing control and
disable the transformation for Ada.
........
r137976 | jsm28 | 2008-07-19 04:14:13 -0700 (Sat, 19 Jul 2008) | 15 lines
PR target/36780
PR target/36827
* reload.c (find_reloads_subreg_address): Only reload address if
reloaded == 0, not for reloaded != 1.
Revert:
2008-07-16 Joseph Myers <joseph@codesourcery.com>
* config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier.
(m32c_legitimate_address_p): Handle "++rii" addresses created by
m32c_legitimize_reload_address.
2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow
(plus (plus (reg) (const_int)) (const_int)) when reload_in_progress.
........
r137980 | ghazi | 2008-07-19 09:19:27 -0700 (Sat, 19 Jul 2008) | 18 lines
* gfortran.h (protected): Remove macro.
* dump-parse-tree.c (show_attr): Avoid C++ keywords.
* expr.c (gfc_check_pointer_assign): Likewise.
* interface.c (compare_parameter_protected): Likewise.
* intrinsic.c (enum class, add_sym, add_sym_0, add_sym_1,
add_sym_1s, add_sym_1m, add_sym_2, add_sym_2s, add_sym_3,
add_sym_3ml, add_sym_3red, add_sym_3s, add_sym_4, add_sym_4s,
add_sym_5s): Likewise.
* match.c (gfc_match_assignment, gfc_match_pointer_assignment):
Likewise.
* module.c (mio_symbol_attribute): Likewise.
* primary.c (match_variable): Likewise.
* resolve.c (resolve_equivalence): Likewise.
* symbol.c (check_conflict, gfc_add_protected, gfc_copy_attr):
Likewise.
* trans-types.c (gfc_get_array_type_bounds): Likewise.
........
r137981 | ghazi | 2008-07-19 09:22:12 -0700 (Sat, 19 Jul 2008) | 30 lines
* gfortran.h (operator): Remove macro.
(gfc_namespace, gfc_expr): Avoid C++ keywords.
* arith.c (eval_intrinsic, eval_intrinsic_f2, eval_intrinsic_f3):
Likewise.
* decl.c (access_attr_decl): Likewise.
* dependency.c (gfc_dep_compare_expr): Likewise.
* dump-parse-tree.c (show_expr, show_uop, show_namespace):
Likewise.
* expr.c (gfc_copy_expr, gfc_type_convert_binary,
simplify_intrinsic_op, check_intrinsic_op): Likewise.
* interface.c (fold_unary, gfc_match_generic_spec,
gfc_match_interface, gfc_match_end_interface,
check_operator_interface, check_uop_interfaces,
gfc_check_interfaces, gfc_extend_expr, gfc_extend_assign,
gfc_add_interface, gfc_current_interface_head,
gfc_set_current_interface_head): Likewise.
* iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
Likewise.
* matchexp.c (gfc_get_parentheses, build_node): Likewise.
* module.c (gfc_use_rename, gfc_match_use, find_use_name_n,
number_use_names, mio_expr, load_operator_interfaces, read_module,
write_operator, write_module): Likewise.
* openmp.c (resolve_omp_atomic): Likewise.
* resolve.c (resolve_operator, gfc_resolve_character_operator,
gfc_resolve_uops): Likewise.
* symbol.c (free_uop_tree, gfc_free_namespace): Likewise.
* trans-expr.c (gfc_conv_expr_op): Likewise.
* trans-openmp.c (gfc_trans_omp_atomic): Likewise.
........
r137982 | ghazi | 2008-07-19 09:23:52 -0700 (Sat, 19 Jul 2008) | 28 lines
* gfortran.h (new): Remove macro.
* array.c (gfc_append_constructor, match_array_list,
gfc_match_array_constructor): Likewise.
* bbt.c (insert, gfc_insert_bbt): Likewise.
* decl.c (var_element, top_var_list, top_val_list, gfc_match_data,
get_proc_name): Likewise.
* expr.c (gfc_copy_actual_arglist): Likewise.
* interface.c (compare_actual_formal, check_new_interface,
gfc_add_interface): Likewise.
* intrinsic.c gfc_convert_type_warn, gfc_convert_chartype):
Likewise.
* io.c (match_io_iterator, match_io_list): Likewise.
* match.c (match_forall_header): Likewise.
* matchexp.c (build_node): Likewise.
* module.c (gfc_match_use): Likewise.
* scanner.c (load_file): Likewise.
* st.c (gfc_append_code): Likewise.
* symbol.c (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
gfc_commit_symbols): Likewise.
* trans-common.c (build_field): Likewise.
* trans-decl.c (gfc_finish_var_decl): Likewise.
* trans-expr.c (gfc_free_interface_mapping,
gfc_get_interface_mapping_charlen, gfc_add_interface_mapping,
gfc_finish_interface_mapping,
gfc_apply_interface_mapping_to_expr): Likewise.
* trans.h (gfc_interface_sym_mapping): Likewise.
........
r137983 | burnus | 2008-07-19 10:20:26 -0700 (Sat, 19 Jul 2008) | 12 lines
2008-07-19 Tobias Burnus <burnus@net-b.de>
* check.c (gfc_check_cshift,gfc_check_eoshift,gfc_check_unpack): Add
rank checks for cshift's shift and eoshift's shift and boundary args.
(gfc_check_unpack): Add rank and shape tests for unpack.
2008-07-19 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/intrinsic_argument_conformance_2.f90: New.
* gfortran.dg/zero_sized_1.f90: Fix conformance bugs.
........
r137984 | hainque | 2008-07-19 10:49:18 -0700 (Sat, 19 Jul 2008) | 14 lines
* doc/tm.texi (MALLOC_ABI_ALIGNMENT): New macro. Alignment, in bits,
a C conformant malloc implementation has to provide.
* defaults.h (MALLOC_ABI_ALIGNMENT): Default to BITS_PER_WORD.
ada/
* targtyps.c (get_target_default_allocator_alignment): Use it.
testsuite/
* gcc.dg/mallign.c: New test.
* gnat.dg/allocator_maxalign1.adb: New test.
* gnat.dg/test_allocator_maxalign2.adb: Main caller for ...
* gnat.dg/allocator_maxalign2.ad[bs]: New test.
........
r137985 | burnus | 2008-07-19 11:27:00 -0700 (Sat, 19 Jul 2008) | 8 lines
2008-07-19 Tobias Burnus <burnus@net-b.de>
PR fortran/36342
* scanner.c (load_file): Add argument to destinguish between
true filename and displayed filename.
(include_line,gfc_new_file): Adapt accordingly.
........
r137986 | burnus | 2008-07-19 11:29:18 -0700 (Sat, 19 Jul 2008) | 13 lines
2008-07-19 Tobias Burnus <burnus@net-b.de>
PR fortran/36795
* matchexp.c (gfc_get_parentheses): Remove obsolete workaround,
which caused the generation of wrong code.
2008-07-19 Tobias Burnus <burnus@net-b.de>
PR fortran/36795
* char_expr_1.f90: New.
* char_expr_2.f90: New.
........
r137989 | jakub | 2008-07-19 12:22:51 -0700 (Sat, 19 Jul 2008) | 6 lines
PR middle-end/36877
* omp-low.c (expand_omp_atomic_fetch_op): Make sure the
return value of the builtin is ignored.
* gcc.dg/gomp/atomic-11.c: New test.
........
r137990 | paolo | 2008-07-19 12:58:52 -0700 (Sat, 19 Jul 2008) | 13 lines
2008-07-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
(assert_node_consistent): Avoid ambiguous else warning.
* include/ext/pb_ds/detail/debug_map_base.hpp: Include <iostream>.
* include/bits/c++config: In debug-mode (and parallel-mode) set
_GLIBCXX_EXTERN_TEMPLATE to -1, not 0, thus disabling extern
templates only for basic_string (per libstdc++/21674).
* include/bits/basic_string.tcc: Use extern templates when
_GLIBCXX_EXTERN_TEMPLATE > 0.
........
r137991 | andreast | 2008-07-19 13:02:29 -0700 (Sat, 19 Jul 2008) | 9 lines
2008-07-19 Richard Guenther <rguenther@suse.de>
PR bootstrap/36864
* tree-ssa-sccvn.h (get_constant_value_id): Declare.
* tree-ssa-sccvn.c (get_constant_value_id): New function.
* tree-ssa-pre.c (get_expr_value_id): For newly created
constant value-ids make sure to add the expression to its
expression-set.
........
r137995 | gccadmin | 2008-07-19 17:16:33 -0700 (Sat, 19 Jul 2008) | 1 line
Daily bump.
........
r138005 | dberlin | 2008-07-19 22:21:48 -0700 (Sat, 19 Jul 2008) | 12 lines
2008-07-20 Daniel Berlin <dberlin@dberlin.org>
* gcc.dg/tree-ssa/ssa-fre-7.c: XFAIL.
* gcc.dg/tree-ssa/ssa-fre-8.c: Ditto.
* gcc.dg/tree-ssa/ssa-fre-9.c: Ditto.
* gcc.dg/tree-ssa/ssa-fre-13.c: Ditto.
* gcc.dg/tree-ssa/ssa-fre-14.c: Ditto.
* gcc.dg/tree-ssa/ssa-fre-17.c: Ditto.
* gcc.dg/tree-ssa/ssa-pre-15.c: Ditto.
* gcc.dg/tree-ssa/loadpre1.c: PASS.
........
r138006 | hubicka | 2008-07-20 02:50:30 -0700 (Sun, 20 Jul 2008) | 5 lines
* builtins.c (expand_builtin_int_roundingfn,
expand_builtin_int_roundingfn_2): Do not take subtarget argument;
it is not useful.
........
r138007 | hp | 2008-07-20 07:12:04 -0700 (Sun, 20 Jul 2008) | 2 lines
* gcc.dg/tree-ssa/data-dep-1.c: XFAIL.
........
r138009 | hubicka | 2008-07-20 07:57:17 -0700 (Sun, 20 Jul 2008) | 17 lines
* doc/extend.texi (flatten attribute): Remove note about unit-at-a-time
* doc/invoke.texi (--combine): Likewise.
(-finline-functions-called-once): Update levels when enabled.
(-funit-at-a-time): Document new behaviour.
(-ftoplevel-reorder): Document that it is enabled -O0 and imply
-fno-section-anchors when disabled explicitly.
(inline params): They are not ignored now.
(precompiled headers): Remove unit-at-a-time as being incompatible.
* opts.c (decode_options): Handle unit-at-a-time as alias;
imply -fno-section-anchors when toplevel reorder is disabled
explicitly.
* common.opt (ftoplevel-reorder): Set default value to 2.
(funit-at-a-time): Set default value to 1.
* config/rs6000/rs6000.c (optimization_options): Set section anchors
to 2.
........
r138010 | hubicka | 2008-07-20 09:06:51 -0700 (Sun, 20 Jul 2008) | 16 lines
* cgraph.c (cgraph_add_new_function): Do early local passes.
* tree-nrv.c (gate_pass_return_slot): New gate.
(pass_nrv): Add the gate.
* tree-ssa-coalese.c (hash_ssa_name_by_var, eq_ssa_name_by_var): New
functions.
(coalesce_ssa_name): Coalesce SSA names.
* tree-ssa-live.c (remove_unused_locals): Be more conservative when
not optimizing so unused user vars remains visible.
* common.opt (flag_tree_ter): Always enable by default.
* tree-ssa-ter.c: Include flags.h
(is_replaceable_p): Check that locations match; when aliasing is missing
be conservative about loads.
* tree-optimize.c (gate_init_datastructures): Remove.
(pass_init_datastructures): New.
* passes.c: Reorder passes so we always go into SSA.
........
r138012 | pinskia | 2008-07-20 10:51:48 -0700 (Sun, 20 Jul 2008) | 13 lines
2008-07-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/36879
* tree-switch-conversion.c (build_one_array): Call
varpool_mark_needed_node and varpool_finalize_decl
instead of assemble_variable.
2008-07-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/36879
* gcc.c-torture/execute/20080719-1.c: New testcase.
........
r138013 | charlet | 2008-07-20 13:31:59 -0700 (Sun, 20 Jul 2008) | 2 lines
* gnathtml.pl: New file.
........
r138016 | gccadmin | 2008-07-20 17:16:30 -0700 (Sun, 20 Jul 2008) | 1 line
Daily bump.
........
r138018 | hp | 2008-07-20 18:15:18 -0700 (Sun, 20 Jul 2008) | 3 lines
PR middle-end/36509
* gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: XFAIL.
........
r138019 | hp | 2008-07-20 18:37:55 -0700 (Sun, 20 Jul 2008) | 4 lines
PR rtl-optimization/33642
* gcc.c-torture/compile/pr11832.c: Skip for CRIS.
* gcc.c-torture/compile/pr33009.c: Likewise.
........
r138020 | hp | 2008-07-20 19:37:36 -0700 (Sun, 20 Jul 2008) | 3 lines
PR middle-end/36143
* g++.dg/tree-ssa/pr19637.C: XFAIL.
........
r138021 | jvdelisle | 2008-07-20 21:44:10 -0700 (Sun, 20 Jul 2008) | 6 lines
2008-07-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/36857
* io/write_float.def: Comment out locale dependent code and fix general
comments.
........
r138022 | krebbel | 2008-07-20 23:54:34 -0700 (Sun, 20 Jul 2008) | 12 lines
2008-07-21 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/36822
* recog.c (asm_operand_ok): Change the order of the extra
memory constraint checks.
2008-07-17 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/36822
* gcc.target/s390/pr36822.c: New testcase.
........
r138024 | paolo | 2008-07-21 02:08:41 -0700 (Mon, 21 Jul 2008) | 19 lines
/cp
2008-07-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36870
* semantics.c (classtype_has_nothrow_assign_or_copy_p): Use
TYPE_NOTHROW_P, not TREE_NOTHROW.
(trait_expr_value): Likewise.
/testsuite
2008-07-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36870
* g++.dg/ext/has_nothrow_assign_odr.C: New.
* g++.dg/ext/has_nothrow_copy_odr.C: Likewise.
* g++.dg/ext/has_nothrow_constructor_odr.C: Likewise.
* g++.dg/ext/has_nothrow_assign.C: Adjust.
* g++.dg/ext/has_nothrow_copy.C: Likewise.
* g++.dg/ext/has_nothrow_constructor.C: Likewise.
........
r138026 | manu | 2008-07-21 02:33:38 -0700 (Mon, 21 Jul 2008) | 21 lines
2008-07-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* include/line-map.h (linenum_type): New typedef.
(struct line_map): Use it.
(SOURCE_LINE): Second arguments is a LOCATION not a LINE.
(SOURCE_COLUMN): Likewise.
* macro.c (_cpp_builtin_macro_text): Use linenum_type. Don't store
source_location values in a variable of type linenum_type.
* directives.c (struct if_stack): Use linenum_type.
(strtoul_for_line): Rename as strtolinenum.
(do_line): Use linenum_type.
(do_linemarker): Use linenum_type and strtolinenum.
(_cpp_do_file_change): Use linenum_t.
* line-map.c (linemap_add): Likewise.
(linemap_line_start): Likewise.
* traditional.c (struct fun_macro): 'line' is a source_location.
* errors.c (print_location): Use linenum_type.
* directives-only.c (_cpp_preprocess_dir_only): Likewise.
* internal.h (CPP_INCREMENT_LINE): Likewise.
* lex.c (_cpp_skip_block_comment): Use source_location.
........
r138027 | tkoenig | 2008-07-21 03:05:32 -0700 (Mon, 21 Jul 2008) | 31 lines
2008-07-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/36773
* intrinsics/cshift0.c (cshift0): Return early if size of array
is zero.
* intrinsics/eoshift0.c (eoshift0): Return early if size of
return array is zero.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* m4/eoshift1.m4 (eoshift1): Return early if size of array
is zero.
* m4/eoshift3.m4 (eoshift3): Likewise.
* m4/eoshift2.m4 (eoshift2): Return early if size of return
array is zero.
* m4/eoshift4.m4 (eoshift2): Return early if size of return
array is zero.
* generated/cshift1_16.c: Regenerated.
* generated/cshift1_4.c: Regenerated.
* generated/cshift1_8.c: Regenerated.
* generated/eoshift1_16.c: Regenerated.
* generated/eoshift1_4.c: Regenerated.
* generated/eoshift1_8.c: Regenerated.
* generated/eoshift3_16.c: Regenerated.
* generated/eoshift3_4.c: Regenerated.
* generated/eoshift3_8.c: Regenerated.
2008-07-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/36773
* gfortran.dg/zero_sized_5.f90: New test case.
........
r138031 | espindola | 2008-07-21 07:29:27 -0700 (Mon, 21 Jul 2008) | 46 lines
2007-07-21 Rafael Avila de Espindola <espindola@google.com>
* Makefile.in: Replace toplev.h with TOPLEV_H.
* c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER.
* c-lex.c (fe_file_change): Don't set in_system_header.
* c-parser.c (c_token): Remove in_system_header.
(c_lex_one_token): Don't set in_system_header.
(c_parser_set_source_position_from_token): Don't set in_system_header.
* diagnostic.c (diagnostic_report_diagnostic): Use location from
diagnostic_info.
(warning_at): New.
* diagnostic.h (diagnostic_report_warnings_p): Add LOC argument.
* flags.h (in_system_header): Remove.
* function.c (saved_in_system_header): Remove.
(push_cfun): Don't set in_system_header.
(pop_cfun): Don't set in_system_header.
(push_struct_function): Don't set in_system_header.
* input.h (expanded_location): Add sysp.
(in_system_header_at): New.
(in_system_header): New.
* toplev.c (in_system_header): Remove.
* toplev.h: Include input.h
(warning_at): New.
* tree-cfg.c (execute_warn_function_return): Call warning_at.
* tree-ssa.c (warn_uninit): Call warning_at.
(warn_uninitialized_var): Update calls to warn_uninit.
(warn_uninitialized_phi): Update calls to warn_uninit.
* tree.c (make_node_stat): Don't set DECL_IN_SYSTEM_HEADER.
(expand_location): Initialize xloc.sysp.
* tree.h (DECL_IN_SYSTEM_HEADER): Use in_system_header_at.
(tree_decl_with_vis): Remove in_system_header_flag.
2007-07-21 Rafael Avila de Espindola <espindola@google.com>
* parser.c (cp_token): Remove in_system_header.
(eof_token): Remove in_system_header.
(cp_lexer_get_preprocessor_token): Don't set in_system_header.
(cp_lexer_set_source_position_from_token): Don't set in_system_header.
(cp_parser_member_declaration): Use in_system_header_at.
* pt.c (lookup_template_class): Don't set DECL_IN_SYSTEM_HEADER.
(pop_tinst_level): Don't set in_system_header.
(instantiate_class_template): Don't set in_system_header.
(instantiate_decl): Don't set in_system_header.
(instantiate_pending_templates): Don't set in_system_header.
........
r138032 | espindola | 2008-07-21 07:45:07 -0700 (Mon, 21 Jul 2008) | 2 lines
Fix the year on the ChangeLog.
........
r138034 | paolo | 2008-07-21 09:18:38 -0700 (Mon, 21 Jul 2008) | 22 lines
/cp
2008-07-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36871
PR c++/36872
* semantics.c (classtype_has_nothrow_assign_or_copy_p): Only check
copy constructors and copy assignment operators proper.
/testsuite
2008-07-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36871
PR c++/36872
* g++.dg/ext/has_nothrow_copy.C: Rename to...
* g++.dg/ext/has_nothrow_copy-1.C: ... this.
* g++.dg/ext/has_nothrow_copy-2.C: New.
* g++.dg/ext/has_nothrow_copy-3.C: Likewise.
* g++.dg/ext/has_nothrow_copy-4.C: Likewise.
* g++.dg/ext/has_nothrow_copy-5.C: Likewise.
* g++.dg/ext/has_nothrow_copy-6.C: Likewise.
* g++.dg/ext/has_nothrow_copy-7.C: Likewise.
........
r138036 | uweigand | 2008-07-21 10:15:22 -0700 (Mon, 21 Jul 2008) | 9 lines
* config/spu/spu.md ("div<mode>3"): Convert into expander, move
original insn and splitter contents into ...
("*div<mode>3_fast"): ... this new pattern. Enable only if
flag_unsafe_math_optimizations. Add dummy scratch register.
("*div<mode>3_adjusted"): New insn and splitter. Enable only if
!flag_unsafe_math_optimizations. Returns number with next
highest magnitude if this is still less or equal to the true
quotient in magnitude.
........
r138038 | dj | 2008-07-21 10:41:13 -0700 (Mon, 21 Jul 2008) | 3 lines
* config/h8300/h8300.c (h8300_hard_regno_scratch_ok): New.
(TARGET_HARD_REGNO_SCRATCH_OK): Define.
........
r138040 | rwild | 2008-07-21 12:17:08 -0700 (Mon, 21 Jul 2008) | 31 lines
gcc/testsuite/
* gfortran.dg/fmt_g0_3.f08: Fix typo in expected error message.
gcc/fortran/
* expr.c (gfc_check_pointer_assign): Fix typo in string.
* io.c (check_format): Fix typo in string. Fix comment typos.
* parse.c (gfc_global_used): Likewise.
* resolve.c (resolve_allocate_expr): Likewise.
* symbol.c (gfc_set_default_type): Likewise.
* arith.c: Fix typos in comments.
* array.c: Likewise.
* data.c: Likewise.
* decl.c: Likewise.
* dependency.c: Likewise.
* f95-lang.c: Likewise.
* gfortran.h: Likewise.
* matchexp.c: Likewise.
* module.c: Likewise.
* primary.c: Likewise.
* scanner.c: Likewise.
* trans-array.c: Likewise.
* trans-common.c: Likewise.
* trans-decl.c: Likewise.
* trans-expr.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-types.c: Likewise.
* trans.c: Likewise.
* trans.h: Likewise.
........
r138041 | mmitchel | 2008-07-21 12:21:45 -0700 (Mon, 21 Jul 2008) | 3 lines
* config/os/gnu-linux/arm-eabi-extra.ver: New file.
* configure.host: Use it for arm*-*-linux-*eabi.
........
r138042 | rwild | 2008-07-21 12:29:07 -0700 (Mon, 21 Jul 2008) | 19 lines
gcc/objc/
* objc-act.c: Fix comment typos.
gcc/cp/
* call.c: Fix comment typos.
* class.c: Likewise.
* cp-tree.h: Likewise.
* cxx-pretty-print.c: Likewise.
* decl.c: Likewise.
* init.c: Likewise.
* name-lookup.c: Likewise.
* operators.def: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* tree.c: Likewise.
* typeck.c: Likewise.
........
r138043 | jason | 2008-07-21 12:40:39 -0700 (Mon, 21 Jul 2008) | 36 lines
Add initializer_list support as per N2679.
* include/debug/unordered_map: Add initializer_list support.
* include/debug/safe_association.h: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/vector: Likewise.
* include/debug/deque: Likewise.
* include/debug/map.h: Likewise.
* include/debug/set.h: Likewise.
* include/debug/string: Likewise.
* include/debug/list: Likewise.
* include/debug/multimap.h: Likewise.
* include/tr1_impl/unordered_map: Likewise.
* include/tr1_impl/hashtable: Likewise.
* include/tr1_impl/unordered_set: Likewise.
* include/tr1_impl/regex: Likewise.
* include/std/valarray: Likewise.
* include/std/unordered_map: Likewise.
* include/std/unordered_set: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/basic_string.tcc: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/ext/vstring.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/sso_string_base.h: Likewise.
* src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
* src/Makefile.in: Likewise.
* config/abi/pre/gnu.ver: Add new w?string exports.
...
........
r138047 | gccadmin | 2008-07-21 17:16:39 -0700 (Mon, 21 Jul 2008) | 1 line
Daily bump.
........
r138049 | manu | 2008-07-22 02:45:58 -0700 (Tue, 22 Jul 2008) | 11 lines
2008-07-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 28079
libcpp/
* directives.c (strtolinenum): Handle overflow.
(do_line): Give a warning if line number overflowed.
(do_linemarker): Update call to strtolinenum.
gcc/testsuite/
* gcc.dg/cpp/line6.c: New.
........
r138050 | tkoenig | 2008-07-22 03:27:10 -0700 (Tue, 22 Jul 2008) | 7 lines
2008-07-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/36890
* io/file_pos.c: Declare READ_CHUNK as signed to avoid
signed/unsigned comparison warning in formatted_backspace.
........
r138057 | espindola | 2008-07-22 06:29:31 -0700 (Tue, 22 Jul 2008) | 6 lines
2008-07-22 Rafael Avila de Espindola <espindola@google.com>
* c-typeck.c (build_external_ref): Don't call assemble_external.
* final.c (output_operand): Call assemble_external.
........
r138058 | paolo | 2008-07-22 06:52:14 -0700 (Tue, 22 Jul 2008) | 12 lines
2008-07-22 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/sso_string_base.h
(__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>,
const _Alloc&)): Remove.
* include/ext/rc_string_base.h
(__rc_string_base<>::__rc_string_base(std::initializer_list<_CharT>,
const _Alloc&)): Likewise.
* include/ext/vstring.h
(__versa_string<>::__versa_string(std::initializer_list<_CharT>,
const _Alloc&)): Adjust.
........
r138063 | domob | 2008-07-22 10:05:55 -0700 (Tue, 22 Jul 2008) | 30 lines
2008-07-22 Daniel Kraft <d@domob.eu>
PR fortran/29835
* io.c (error_element), (format_locus): New static globals.
(unexpected_element): Spelled out this message fully.
(next_char): Keep track of locus when not MODE_STRING.
(next_char_not_space): Remember last parsed element in error_element.
(format_lex): Fix two indentation errors.
(check_format): Use format_locus and possibly error_element for a
slightly better error message on invalid format.
(check_format_string): Set format_locus to start of the string
expression used as format.
2008-07-22 Daniel Kraft <d@domob.eu>
PR fortran/29835
* io/format.c (struct format_data): New member error_element.
(unexpected_element): Added '%c' to message.
(next_char): Keep track of last parsed character in fmt->error_element.
(format_error): If the message is unexpected_element, output the
offending character, too.
2008-07-22 Daniel Kraft <d@domob.eu>
PR fortran/29835
* gfortran.dg/fmt_error_3.f90: New test.
* gfortran.dg/fmt_error_4.f90: New test.
* gfortran.dg/fmt_error_5.f90: New test.
........
r138064 | uweigand | 2008-07-22 10:21:12 -0700 (Tue, 22 Jul 2008) | 5 lines
* lib/target-supports.exp (check_effective_target_spu_auto_overlay):
New procedure.
* lib/compat.exp (compat-execute): Use it to test whether toolchain
supports automatic overlay generation for the SPU.
........
r138069 | gccadmin | 2008-07-22 17:16:34 -0700 (Tue, 22 Jul 2008) | 1 line
Daily bump.
........
r138072 | jvdelisle | 2008-07-22 21:29:15 -0700 (Tue, 22 Jul 2008) | 6 lines
2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/36852
* io/list_read.c: If variable rank is zero, do not adjust the found
namelist object pointer.
........
r138073 | jvdelisle | 2008-07-22 21:36:54 -0700 (Tue, 22 Jul 2008) | 5 lines
2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/36852
* gfortran.dg/namelist_52.f90: New test.
........
r138075 | meissner | 2008-07-23 03:28:06 -0700 (Wed, 23 Jul 2008) | 1 line
Add ability to set target options (ix86 only) and optimization options on a function specific basis
........
r138078 | meissner | 2008-07-23 04:06:42 -0700 (Wed, 23 Jul 2008) | 1 line
undo 138077
........
r138082 | meissner | 2008-07-23 04:18:03 -0700 (Wed, 23 Jul 2008) | 1 line
Add missing ChangeLog from 138075
........
r138087 | paolo | 2008-07-23 07:49:00 -0700 (Wed, 23 Jul 2008) | 13 lines
2008-07-23 Chris Fairles <chris.fairles@gmail.com>
* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
Holds the lib that defines clock_gettime (-lrt or -lposix4).
* src/Makefile.am: Use it.
* configure: Regenerate.
* configure.in: Likewise.
* Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* libsup++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
........
r138089 | manu | 2008-07-23 08:57:49 -0700 (Wed, 23 Jul 2008) | 35 lines
2008-07-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 35058
* diagnostic.c (pedwarn): Add opt parameter.
(pedwarn0): New.
* c-tree.h (pedwarn_init): Add opt parameter.
(pedwarn_c90): Likewise.
(pedwarn_c99): Likewise.
* c-errors.c (pedwarn_c99): Likewise.
(pedwarn_c90): Likewise.
* toplev.h (pedwarn): Update declaration.
(pedwarn0): Declare.
* c-lex.c: All calls to pedwarn changed.
* builtins.c: All calls to pedwarn changed.
* toplev.c: All calls to pedwarn changed.
* c-decl.c: All calls to pedwarn changed.
* c-typeck.c: All calls to pedwarn changed.
* c-common.c: All calls to pedwarn changed.
* c-parser.c: All calls to pedwarn changed.
cp/
* typeck.c: All calls to pedwarn changed.
* decl.c: All calls to pedwarn changed.
* call.c: All calls to pedwarn changed.
* error.c: All calls to pedwarn changed.
* typeck2.c: All calls to pedwarn changed.
* pt.c: All calls to pedwarn changed.
* name-lookup.c: All calls to pedwarn changed.
* parser.c: All calls to pedwarn changed.
fortran/
* f95-lang.c (gfc_mark_addressable): All calls to pedwarn changed.
testsuite/
* gcc.dg/Wdeclaration-after-statement-3.c: New.
* gcc/testsuite/gcc.dg/Wpointer-arith.c: New.
........
r138091 | meissner | 2008-07-23 12:03:40 -0700 (Wed, 23 Jul 2008) | 1 line
Fix PR 36907, breakage in building libobj with function specific changes
........
r138092 | jamborm | 2008-07-23 12:45:45 -0700 (Wed, 23 Jul 2008) | 129 lines
2008-07-23 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed
rather than for DECL_SAVED_TREE.
* ipa-prop.c: Include diagnostic.h.
(ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs
thoroughly.
(ipa_detect_param_modifications): Function rewritten from scratch.
(ipa_compute_jump_functions): Changed accesses to modification flags.
(ipa_free_node_params_substructures): Update flags destruction.
(ipa_node_duplication_hook): Update flags duplication.
(ipa_print_all_params_modified): Updated flag access.
* ipa-prop.h (struct ipa_param_flags): New structure.
(struct ipa_node_params): New field modification_analysis_done,
modified_flags changed into param_flags.
(ipa_is_ith_param_modified): Changed to use new flags.
* Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies.
* ipa-prop.c (ipa_print_all_jump_functions): Moved here from
ipa-cp.c and split into two functions.
(ipa_print_node_jump_functions): New function.
(compute_scalar_jump_functions): New function.
(type_like_member_ptr_p): New function.
(compute_pass_through_member_ptrs): New function.
(fill_member_ptr_cst_jump_function): New function.
(determine_cst_member_ptr): New function.
(compute_cst_member_ptr_arguments): New function.
(ipa_compute_jump_functions): Complete rewrite.
* ipa-prop.h (enum jump_func_type): Make explicit that we depend
on IPA_UNKNOWN being zero. Added value IPA_CONST_MEMBER_PTR.
(struct ipa_member_ptr_cst): New structure.
(union jump_func_value): New field member_cst.
* ipa-cp.c (ipcp_lat_is_insertable): New function.
(ipcp_lattice_from_jfunc): Produces bottom lattices for unhandled
jump function types.
(ipcp_print_all_lattices): Slight fprintf rearrangement.
(ipcp_print_all_structures): Call ipa_print_all_jump_functions
instead of ipcp_print_all_jump_functions.
(ipcp_insert_stage): Use ipcp_lat_is_insertable, create replace maps
only for replacable scalars.
* doc/invoke.texi (Optimize options): Add description of
-findirect-inlining.
* common.opt (flag_indirect_inlining): New flag.
* opts.c (decode_options): Set flag_indirect_inlining when
optimize >= 3.
* ipa-inline.c: Include ipa-prop.h.
(inline_indirect_intraprocedural_analysis): New function.
(inline_generate_summary): Allocate parameter and argument info
structures, call inline_indirect_intraprocedural_analysis on each
node when doing indirect inlining and deallocate indirect inlining
data structures in the end.
* ipa-prop.c (ipa_create_param_decls_array): Return if already done.
(free_all_ipa_structures_after_iinln): New function.
(free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be
done.
* Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies.
* cgraphbuild.c (compute_call_stmt_bb_frequency): New function.
(build_cgraph_edges): Call compute_call_stmt_bb_frequency instead
of computing the frequency separately.
(rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead
of computing the frequency separately.
* ipa-cp.c (ipcp_print_all_structures): Replace a call to
ipa_print_all_param_modified with a call to ipa_print_all_param_flags.
* ipa-prop.c (ipa_get_member_ptr_load_param): New function.
(ipa_get_stmt_member_ptr_load_param): New function.
(ipa_is_ssa_with_stmt_def): New function.
(ipa_note_param_call): New function.
(ipa_analyze_call_uses): New function.
(ipa_analyze_stmt_uses): New function.
(ipa_analyze_params_uses): New function.
(ipa_free_node_params_substructures): Also free the param_calls linked
list.
(ipa_node_duplication_hook): Also duplicate the param_calls linked list.
(ipa_print_node_param_flags): New function.
(ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags.
(ipa_print_all_param_flags): Calls ipa_print_node_param_flags.
* ipa-prop.h (struct ipa_param_flags): New field called.
(struct ipa_param_call_note): New structure.
(struct ipa_node_params): New fields param_calls and
uses_analysis_done.
(ipa_is_ith_param_called): New function.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
ipa_analyze_params_uses and dump parameter flags.
* ipa-inline.c (cgraph_decide_recursive_inlining): Call
ipa_propagate_indirect_call_infos if performing indirect inlining,
pass a new parameter new_edges to it.
(add_new_edges_to_heap): New fucntion.
(cgraph_decide_inlining_of_small_functions): New vector
new_indirect_edges for newly found indirect edges , call
ipa_propagate_indirect_call_infos after inlining.
(cgraph_decide_inlining): Call ipa_propagate_indirect_call_infos after
inlining if performing indirect inlining. Call
free_all_ipa_structures_after_iinln when doing so too.
(inline_generate_summary): Do not call
free_all_ipa_structures_after_iinln here.
* ipa-prop.c (update_jump_functions_after_inlining): New function.
(print_edge_addition_message): New function.
(update_call_notes_after_inlining): New function.
(propagate_info_to_inlined_callees): New function.
(ipa_propagate_indirect_call_infos): New function.
* ipa-prop.h: Include cgraph.h
(struct ipa_param_call_note): Fields reordered, new field processed.
* cgraph.h (cgraph_edge): Shrink loop_nest field to 31 bits, add a new
flag indirect_call.
* cgraphunit.c (verify_cgraph_node): Allow indirect edges not to have
rediscovered call statements.
* cgraph.c (cgraph_create_edge): Initialize indirect_call to zero.
(dump_cgraph_node): Dump also the indirect_call flag.
(cgraph_clone_edge): Copy also the indirect_call flag.
* tree-inline.c (copy_bb): Do not check for fndecls from call
expressions, check for edge availability when moving clones.
(get_indirect_callee_fndecl): New function.
(expand_call_inline): If callee declaration is not apprent from
the statement, try calling get_indirect_callee_fndecl. Do not
issue warnings or call sorry when not inlinings an indirect edge.
* Makefile.in (IPA_PROP_H): Added $(CGRAPH_H) to dependencies.
* ipa-prop.c (ipa_print_node_param_flags): Make the dump format a
bit more frandly to matching.
* testsuite/g++.dg/ipa/iinline-1.C: New testcase.
* testsuite/gcc.dg/ipa/iinline-1.c: New testcase.
* testsuite/gcc.dg/ipa/modif-1.c: New testcase.
........
r138096 | paolo | 2008-07-23 15:17:31 -0700 (Wed, 23 Jul 2008) | 9 lines
2008-07-23 Chris Fairles <chris.fairles@gmail.com>
* include/std/condition_variable: Update to N2691 WD.
* include/std/mutex: Likewise.
* testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
* testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
........
r138097 | aaronwl | 2008-07-23 15:50:42 -0700 (Wed, 23 Jul 2008) | 6 lines
2008-07-23 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* configure: Regenerate.
* configure.ac: Require texinfo 4.7.
* doc/install.texi: Document texinfo 4.7 requirement.
........
r138100 | gccadmin | 2008-07-23 17:16:34 -0700 (Wed, 23 Jul 2008) | 1 line
Daily bump.
........
r138104 | bje | 2008-07-23 20:35:02 -0700 (Wed, 23 Jul 2008) | 3 lines
* config/rs6000/rs6000-c.c: Move GTY(()) markers to match
conventional usage.
........
r138106 | bje | 2008-07-23 20:59:55 -0700 (Wed, 23 Jul 2008) | 12 lines
gcc/
* config/spu/spu-c.c (__vector_keyword): New variable.
(vector_keyword): Likewise.
(spu_categorize_keyword): New function.
(spu_macro_to_expand): Likewise.
(spu_cpu_cpp_builtins): Enable context-sensitive macros if not
compiling an ISO C dialect.
gcc/testsuite/
* gcc.target/spu/vector.c: New test.
* gcc.target/spu/vector-ansi.c: Likewise.
........
r138107 | ian | 2008-07-23 21:51:12 -0700 (Wed, 23 Jul 2008) | 6 lines
./:
* tree-vrp.c (infer_value_range): Ignore asm statements when
looking for memory accesses for -fdelete-null-pointer-checks.
testsuite/:
* gcc.target/i386/20080723-1.c: New test.
........
r138110 | rwild | 2008-07-23 23:35:21 -0700 (Wed, 23 Jul 2008) | 7 lines
libiberty/
* maint-tool (deps): Output config.h instead of stamp-h.
* Makefile.in: Rebuild deps.
(maintainer-clean-subdir): Depend on stamp-h rather than config.h.
Reverts 2007-07-11 change.
........
r138112 | tkoenig | 2008-07-24 02:26:43 -0700 (Thu, 24 Jul 2008) | 67 lines
2008-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/29952
* gfortran.h: Add "warn_array_temp" to gfc_option_t.
* lang.opt: Add -Warray-temporaries.
* invoke.texi: Document -Warray-temporaries
* trans-array.h (gfc_trans_create_temp_array): Add argument of
type *locus.
(gfc_conv_loop_setup): Likewise.
* trans-array.c (gfc_trans_create_temp_array): If
-Warray-temporaries is given and locus is present, warn about
creation of array temporaries.
(gfc_trans_array_constructor_subarray): Add locus to call
of gfc_conv_loop_setup.
(gfc_trans_array_constructor): Add where argument. Pass where
argument to call of gfc_trans_create_temp_array.
(gfc_add_loop_ss_code): Add where argument. Pass where argument
to recursive call of gfc_add_loop_ss_code and to call of
gfc_trans_array_constructor.
(gfc_conv_loop_setup): Add where argument. Pass where argument
to calls to gfc_add_loop_ss_code and to gfc_trans_create_temp_array.
(gfc_conv_expr_descriptor): Pass location to call of
gfc_conv_loop_setup.
(gfc_conv_array_parameter): If -Warray-temporaries is given,
warn about creation of temporary arrays.
* trans-expr.c (gfc_conv_subref_array_arg): Add where argument
to call to gfc_conv_loop_setup.
(gfc_conv_function_call): Add where argument to call to
gfc_trans_creat_temp_array.
(gfc_trans_subarray_assign): Likewise.
(gfc_trans_assignment_1): Add where argument to call to
gfc_conv_loop_setup.
* trans-stmt.c (gfc_conv_elemental_dependencies): Add where
argument to call to gfc_trans_create_temp_array.
(gfc_trans_call): Add where argument to call to gfc_conv_loop_setup.
(generate_loop_for_temp_to_lhs): Likewise.
(generate_loop_for_rhs_to_temp): Likewise.
(compute_inner_temp_size): Likewise.
(gfc_trans-pointer_assign_need_temp): Likewise.
(gfc_evaluate_where_mask): Likewise.
(gfc_trans_where_assign): Likewise.
(gfc_trans_where_3): Likewise.
* trans-io.c (transfer_srray_component): Add where argument
to function. Add where argument to call to gfc_conv_loop_setup.
(transfer_expr): Add where argument to call to
transfer_array_component.
(gfc_trans_transfer): Add where expression to call to
gfc_conv_loop_setup.
* trans-intrinsic.c (gfc_conv_intrinsic_anyall): Add
where argument to call to gfc_conv_loop_setup.
(gfc_conv_intrinsic_count): Likewise.
(gfc_conv_intrinsic_arith): Likewise.
(gfc_conv_intrinsic_dot_product): Likewise.
(gfc_conv_intrinsic_minmaxloc): Likewise.
(gfc_conv_intrinsic_minmaxval): Likewise.
(gfc_conv_intrinsic_array_transfer): Warn about
creation of temporary array.
Add where argument to call to gfc_trans_create_temp_array.
* options.c (gfc_init_options): Initialize gfc_option.warn_array_temp.
(gfc_handle_option): Set gfc_option.warn_array_temp.
2008-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/29952
* gfortran.dg/array_temporaries_1.f90: New test case.
........
r138119 | ktietz | 2008-07-24 08:47:17 -0700 (Thu, 24 Jul 2008) | 7 lines
2008-07-24 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.c (get_dllimport_decl): Treat user_label_prefix for
imp symbol extension.
........
r138120 | domob | 2008-07-24 09:06:55 -0700 (Thu, 24 Jul 2008) | 6 lines
2008-07-24 Daniel Kraft <d@domob.eu>
* match.c (gfc_match): Add assertion to catch wrong calls trying to
match upper-case characters.
........
r138122 | domob | 2008-07-24 11:52:51 -0700 (Thu, 24 Jul 2008) | 63 lines
2008-07-24 Daniel Kraft <d@domob.eu>
PR fortran/33141
* lang.opt (Wnonstd-intrinsics): Removed option.
(Wintrinsics-std), (Wintrinsic-shadow): New options.
* invoke.texi (Option Summary): Removed -Wnonstd-intrinsics
from the list and added -Wintrinsics-std and -Wintrinsic-shadow.
(Error and Warning Options): Documented the new options and removed
the documentation for -Wnonstd-intrinsics.
* gfortran.h (gfc_option_t): New members warn_intrinsic_shadow and
warn_intrinsics_std, removed warn_nonstd_intrinsics.
(gfc_is_intrinsic): Renamed from gfc_intrinsic_name.
(gfc_warn_intrinsic_shadow), (gfc_check_intrinsic_standard): New.
* decl.c (match_procedure_decl): Replaced gfc_intrinsic_name by
the new name gfc_is_intrinsic.
(warn_intrinsic_shadow): New helper method.
(gfc_match_function_decl), (gfc_match_subroutine): Call the new method
warn_intrinsic_shadow to check the just-parsed procedure.
* expr.c (check_init_expr): Call new gfc_is_intrinsic to check whether
the function called is really an intrinsic in the selected standard.
* intrinsic.c (gfc_is_intrinsic): Renamed from gfc_intrinsic_name and
extended to take into account the selected standard settings when trying
to find out whether a symbol is an intrinsic or not.
(gfc_check_intrinsic_standard): Made public and extended.
(gfc_intrinsic_func_interface), (gfc_intrinsic_sub_interface): Removed
the calls to check_intrinsic_standard, this check now happens inside
gfc_is_intrinsic.
(gfc_warn_intrinsic_shadow): New method defined.
* options.c (gfc_init_options): Initialize new warning flags to false
and removed intialization of Wnonstd-intrinsics flag.
(gfc_post_options): Removed logic for Wnonstd-intrinsics flag.
(set_Wall): Set new warning flags and removed Wnonstd-intrinsics flag.
(gfc_handle_option): Handle the new flags and removed handling of the
old Wnonstd-intrinsics flag.
* primary.c (gfc_match_rvalue): Replaced call to gfc_intrinsic_name by
the new name gfc_is_intrinsic.
* resolve.c (resolve_actual_arglist): Ditto.
(resolve_generic_f), (resolve_unknown_f): Ditto.
(is_external_proc): Ditto.
(resolve_generic_s), (resolve_unknown_s): Ditto.
(resolve_symbol): Ditto and ensure for symbols declared INTRINSIC that
they are really available in the selected standard setting.
2008-07-24 Daniel Kraft <d@domob.eu>
PR fortran/33141
* gfortran.dg/intrinsic_shadow_1.f03: New test for -Wintrinsic-shadow.
* gfortran.dg/intrinsic_shadow_2.f03: Ditto.
* gfortran.dg/intrinsic_shadow_3.f03: Ditto.
* gfortran.dg/intrinsic_std_1.f90: New test for -Wintrinsics-std.
* gfortran.dg/intrinsic_std_2.f90: Ditto.
* gfortran.dg/intrinsic_std_3.f90: Ditto.
* gfortran.dg/intrinsic_std_4.f90: Ditto.
* gfortran.dg/warn_std_1.f90: Removed option -Wnonstd-intrinsics.
* gfortran.dg/warn_std_2.f90: Replaced -Wnonstd-intrinsics by
-Wintrinsics-std and adapted expected errors/warnings.
* gfortran.dg/warn_std_3.f90: Ditto.
* gfortran.dg/c_sizeof_2.f90: Adapted expected error/warning message.
* gfortran.dg/gamma_2.f90: Ditto.
* gfortran.dg/selected_char_kind_3.f90: Ditto.
* gfortran.dg/fmt_g0_2.f08: Call with -fall-intrinsics to allow abort.
........
r138123 | jason | 2008-07-24 12:15:00 -0700 (Thu, 24 Jul 2008) | 29 lines
Implement defaulted/deleted functions as per N2346
* cp-tree.h (struct lang_decl_flags): Add defaulted_p bitfield.
(DECL_DELETED_FN): New macro.
(DECL_DEFAULTED_FN): New macro.
* class.c (user_provided_p): New fn.
(defaultable_fn_p): New fn.
(type_has_user_provided_constructor): New fn.
(type_has_user_provided_default_constructor): New fn.
(check_methods): A defaulted fn is still trivial.
(check_bases_and_members): Likewise.
* decl.c (grok_special_member_properties): Likewise.
(duplicate_decls): Complain about redeclaring a function as deleted.
(start_decl): initialized==2 means deleted.
(cp_finish_decl): Handle deleted/defaulted semantics.
* decl2.c (grokfield): Likewise.
(mark_used): Check DECL_DEFAULTED_FN instead of DECL_ARTIFICIAL.
Complain about using a deleted fn.
* init.c (build_value_init_1): Use type_has_user_provided_constructor.
(perform_member_init): Check for a user-provided default constructor
even if TYPE_NEEDS_CONSTRUCTING.
(build_new_1): Likewise.
* call.c (build_over_call): Don't call mark_used twice.
* method.c (implicitly_declare_fn): Set DECL_DEFAULTED_FN.
* search.c (check_final_overrider): Check for deleted mismatch.
* parser.c (cp_parser_init_declarator): Tell start_decl about =delete.
(cp_parser_pure_specifier): Handle =default and =delete.
* error.c (maybe_warn_cpp0x): Suggest -std=gnu++0x as well.
........
r138127 | paolo | 2008-07-24 15:47:26 -0700 (Thu, 24 Jul 2008) | 17 lines
2008-07-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/36924
Revert:
2008-07-23 Chris Fairles <chris.fairles@gmail.com>
* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
Holds the lib that defines clock_gettime (-lrt or -lposix4).
* src/Makefile.am: Use it.
* configure: Regenerate.
* configure.in: Likewise.
* Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* libsup++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
........
r138128 | kkojima | 2008-07-24 17:14:57 -0700 (Thu, 24 Jul 2008) | 6 lines
* config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_omit_frame_pointer
to 2 instead of -1.
(OVERRIDE_OPTIONS): Check if flag_omit_frame_pointer is equal
to 2.
........
r138131 | gccadmin | 2008-07-24 17:16:48 -0700 (Thu, 24 Jul 2008) | 1 line
Daily bump.
........
r138139 | ro | 2008-07-25 05:27:29 -0700 (Fri, 25 Jul 2008) | 2 lines
* raise-gcc.c: Move tsystem.h before tm.h.
........
r138140 | hubicka | 2008-07-25 06:11:32 -0700 (Fri, 25 Jul 2008) | 102 lines
* cgraphbuild.c (record_reference): Drop non-unit-at-a-time code.
(build_cgraph_edges): Likewise.
* cgraph.c (cgraph_node): Do not update assembler hash.
(cgraph_remove_node): Drop non-unit-at-a-time code.
* tree-pass.h (pass_O0_always_inline): Remove.
* ipa-reference.c (gate_reference): Remove unit-at-a-time check.
* toplev.c (process_options): Flag unit-at-a-time does not imply
no section anchors.
* cgraphunit.c: Update comments.
(decide_is_function_needed): Drop non-unit-at-a-time mode.
(cgraph_assemble_pending_functions): Remove.
(cgraph_reset_node): Drop non-unit-at-a-time code.
(cgraph_finalize_function): Likewise.
(cgraph_analyze_function): Likewise.
(cgraph_finalize_compilation_unit): Likewise.
(cgraph_expand_function): Likewise.
(cgraph_optimize): Likesise.
(save_inline_function_body): Likewise.
* ipa-pure-const.c (gate_pure_const): Drop flag_unit_at_a_time check.
* tree-ssa-alias.c (maybe_be_aliased): Likewise.
* ipa-inline.c: Update comments.
(enum inlining_mode): remove INLINE_SPEED.
(cgraph_clone_inlined_nodes): Drop unit-at-a-time check.
(cgraph_mark_inline_edge): Likewise.
(try_inline): Likewise.
(cgraph_decide_inlining_incrementally): Likewise.
(cgraph_gate_inlining): Remove.
(cgraph_early_inlining): Remove flag_unit_at_a_time checks.
(cgraph_gate_early_inlining): Likewise.
(gate_inline_passes): Remove.
(pass_inline_parameters, pass_ipa_inline): Remove gates.
(cgraph_gate_O0_always_inline, cgraph_O0_always_inline,
pass_O0_always_inline): Remove.
* c-pch.c (c_pch_matching): Remove -funit-at-a-time.
* dwarf2out.c (reference_to_unused): Remove flag_unit_at_a_time check.
* opts.c (no_unit_at_a_time_default): Remove.
(decode_options): Remove flag_unit_at_a_time reset and warning.
* opts.h (no_unit_at_a_time_default): Remove.
* c-decl.c (diagnose_mismatched_decls): Do not require inline keyword
early in GNU dialect.
(merge_decls): Update comment; drop unit-at-a-time check.
(finish_decl): Likewise.
(grok_declaration): Remove flag_inline_trees code.
(finish_functions): Return on function returning non-void on all
statics.
* ipa-tye-escape.c (gate_type_escape_vars): Remove.
* cfgexpand.c (expand_one_static_var): Remove.
(expand_one_var): Remove expand_one_static_var call.
(expand_used_vars_for_block): Remove flag_unit_a_time check.
* c-opts.c (c_common_post_options): Remove flag_inline_trees code
and flag_unit_at_a-time compatibility checks.
* varasm.c (assemble_alias): Remove flag_unit_at_a_time check.
* tree-inline.c (flag_inline_trees): Remove.
(inlinable_function_p): Don't check it.
(expand_call_inline): Remove non-unit-at-a-time code.
* tree-inline.h (flag_inline_trees): Remove.
* tree-optimize.c (execute_early_local_optimizations): Remove
unit-at-a-time checks.
(tree_rest_of_compilation): Likewise.
* combine.c (setup_incoming_promotions): Likewise.
* tree-profile.c (tree_gen_ic_func_profiler): Likewise.
* tree-ssa-structalias.c (delete_points_to_sets): Likewise.
* passes.c (pass_inline_parameters): Update comments; remove
O0_alwaysinline pass.
(execute_one_ipa_transform_pass): Do not reset in_gimple_form.
(execute_one_pass): Likewise.
* i386.c (ix86_function_regparm): Remove unit-at-a-time check.
(ix86_function_sseregparm): Likewise.
* arm.c (arm_function_in_section_p): Likewise.
* bfin.c (bfin_load_pic_reg, bfin_function_ok_for_sibcall): Likewise.
* varpool.c: Update comments.
(decide_is_variable_needed): Remove unit-at-a-time checks.
(varpool_finalize_decl): Likewise.
* ada/utils.c (end_subprog_body): Remove inline trees check.
* ada/misc.c (gnat_post_options): Do not set flag_inline_trees.
* fortran/options.c (gfc_post_options): Remove flag_unline_trees code.
* gcc.dg/winline-4.c: Remove.
* gcc.dg/pch/valid-3.hs: Remove.
* gcc.dg/pch/valid-3.c: Remove.
* g++.old-deja/g++.brendan/crash52.C: Accept returning void warning
* g++.old-deja/g++.jason/report.C: Likewise.
* testsuite/g++.dg/warn/pr23075.C: We get returning void warning
instead of control flow warning.
* cp/decl.c (duplicate_decls): Update comment and unit-at-a-time.
(grogfndecl): Drop flag_inline_trees code.
* cp/pt.c (instantiate_decl): Drop flag_iline_trees code.
* cp/lex.c (cxx_init): Do not set unit-at-a-time.
* java/decl.c: Include cgraph.h
(end_java_method): Remove non-unit-at-a-time code.
(java_mark_decl_local): Likewise; sanity check that we don't touch
finalized nodes.
........
r138141 | hubicka | 2008-07-25 07:25:39 -0700 (Fri, 25 Jul 2008) | 2 lines
Remove files that was intended to be removed in last commit.
........
r138142 | jason | 2008-07-25 08:18:16 -0700 (Fri, 25 Jul 2008) | 3 lines
* class.c (type_has_user_provided_default_constructor): Handle
templates.
........
r138143 | jsm28 | 2008-07-25 08:49:36 -0700 (Fri, 25 Jul 2008) | 4 lines
* lib/target-supports.exp (check_effective_target_arm_thumb1_ok):
New.
* g++.dg/inherit/thunk8.C: Use it.
........
r138145 | andreast | 2008-07-25 08:59:12 -0700 (Fri, 25 Jul 2008) | 6 lines
2008-07-25 Andreas Tobler <a.tobler@schweiz.org>
PR bootstrap/36918
* config/sparc/sparc.h (DEFAULT_PCC_STRUCT_RETURN): Define
DEFAULT_PCC_STRUCT_RETURN to 127.
........
r138146 | jsm28 | 2008-07-25 09:21:05 -0700 (Fri, 25 Jul 2008) | 3 lines
* config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
movv2si_internal): Add mem = reg alternative.
........
r138148 | hjl | 2008-07-25 13:30:35 -0700 (Fri, 25 Jul 2008) | 6 lines
2008-07-25 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/36926
* ipa-prop.c (ipa_analyze_call_uses): Call
ipa_is_ssa_with_stmt_def instead of SSA_NAME_IS_DEFAULT_DEF.
........
r138150 | hubicka | 2008-07-25 14:03:34 -0700 (Fri, 25 Jul 2008) | 15 lines
* typeck.c (inline_conversion): Remove.
(cp_build_function_call): Do not use inline_conversion.
* decl.c (duplicate_decls): Do not insist on inline being declared
early.
(start_cleanup_fn): Do not assume that INLINE flags prevent function
from being output. We now remove static functions always.
(finish_function): Do return warning on all static functions.
* call.c (build_over_call): Do not use inline_conversion.
* cp-tree.h (possibly_inlined_p): Declare.
(inline_conversion): Remove.
* pt.c (instantiate_decl): Use possibly_inlined_p predicate.
* decl2.c (cp_write_global_declarations): Likewise.
(mark_used): Likewise.
(possibly_inlined_p): New functions.
........
r138151 | hubicka | 2008-07-25 14:05:23 -0700 (Fri, 25 Jul 2008) | 2 lines
Fix changelog entry of my earlier commit.
........
r138154 | meissner | 2008-07-25 16:44:24 -0700 (Fri, 25 Jul 2008) | 1 line
Fix IA-64 breakage; Make hot/cold optimization conversation port specific; Move disabling of scheduling from OVERRIDE_OPTIONS to OPTIMIZATION_OPTIONS
........
r138159 | gccadmin | 2008-07-25 17:16:56 -0700 (Fri, 25 Jul 2008) | 1 line
Daily bump.
........
r138165 | hubicka | 2008-07-26 03:03:01 -0700 (Sat, 26 Jul 2008) | 7 lines
* cgraph.c (cgraph_function_possibly_inlined_p): Do not rely on DECL_INLINE.
* cgraphunit.c (record_cdtor_fn): Do not initialize DECL_INLINE
(cgraph_preserve_function_body_p): Do not rely on DECL_INLINE.
* dojump.c (clear_pending_stack_adjust): Likewise.
* print-tree.c (print_node): Ignore DECL_INLINE.
* tree-inline.c (inlinable_function_p): Likewise.
........
r138167 | tkoenig | 2008-07-26 03:30:50 -0700 (Sat, 26 Jul 2008) | 6 lines
2008-07-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36934
* gfortran.dg/allocatable_module_1.f90: New test case.
........
r138179 | hainque | 2008-07-26 07:26:45 -0700 (Sat, 26 Jul 2008) | 6 lines
* collect2.c (symkind): New enum. Symbol kinds we care about.
(is_ctor_dtor): Return symkind instead of int. Adjust prototype,
code and head comment accordingly.
(scan_prog_file): Use symkind names instead of bare integers.
........
r138180 | ebotcazou | 2008-07-26 12:03:37 -0700 (Sat, 26 Jul 2008) | 1 line
Fix nits.
........
r138181 | gerald | 2008-07-26 14:41:15 -0700 (Sat, 26 Jul 2008) | 3 lines
* doc/install.texi (powerpc-*-netbsd*): Remove redundant texinfo
version requirements.
........
r138184 | gccadmin | 2008-07-26 17:16:44 -0700 (Sat, 26 Jul 2008) | 1 line
Daily bump.
........
r138186 | burnus | 2008-07-27 03:45:44 -0700 (Sun, 27 Jul 2008) | 52 lines
2008-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36132
PR fortran/29952
PR fortran/36909
* trans.c (gfc_trans_runtime_check): Allow run-time warning
* besides
run-time error.
* trans.h (gfc_trans_runtime_check): Update declaration.
* trans-array.c
* (gfc_trans_array_ctor_element,gfc_trans_array_bound_check,
gfc_conv_array_ref,gfc_conv_ss_startstride,gfc_trans_dummy_array_bias):
Updated gfc_trans_runtime_check calls.
(gfc_conv_array_parameter): Implement flag_check_array_temporaries,
fix packing/unpacking for nonpresent optional actuals to optional
formals.
* trans-array.h (gfc_conv_array_parameter): Update declaration.
* trans-expr.c (gfc_conv_substring,gfc_trans_arrayfunc_assign,
gfc_conv_function_call): Updated gfc_trans_runtime_check calls.
(gfc_conv_function_call): Update gfc_conv_array_parameter calls.
* trans-expr.c (gfc_trans_goto): Updated gfc_trans_runtime_check
calls.
* trans-io.c (set_string,gfc_conv_intrinsic_repeat): Ditto.
(gfc_conv_intrinsic_transfer,gfc_conv_intrinsic_loc): Same for
gfc_conv_array_parameter.
* trans-intrinsics.c (gfc_conv_intrinsic_bound): Ditto.
* trans-decl.c (gfc_build_builtin_function_decls): Add
gfor_fndecl_runtime_warning_at.
* lang.opt: New option fcheck-array-temporaries.
* gfortran.h (gfc_options): New flag_check_array_temporaries.
* options.c (gfc_init_options, gfc_handle_option): Handle flag.
* invoke.texi: New option fcheck-array-temporaries.
2008-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36132
PR fortran/29952
PR fortran/36909
* runtime/error.c: New function runtime_error_at.
* gfortran.map: Ditto.
* libgfortran.h: Ditto.
2008-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36132
PR fortran/29952
PR fortran/36909
gfortran.dg/internal_pack_4.f90: New.
gfortran.dg/internal_pack_5.f90: New.
gfortran.dg/array_temporaries_2.f90: New.
........
r138189 | paolo | 2008-07-27 08:49:12 -0700 (Sun, 27 Jul 2008) | 14 lines
2008-07-27 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (push_library_fn): Add a parameter for the exceptions that
the function may throw.
(push_void_library_fn, push_throw_library_fn, expand_static_init):
Adjust.
(build_library_fn): Change to static.
* cp-tree.h: Adjust declarations.
* except.c (declare_nothrow_library_fn): New.
(do_get_exception_ptr, do_begin_catch, do_free_exception,
do_allocate_exception): Use the latter, adjust the declarations
(ie, add empty exception-specification), consistently with the
actual implementation in libsupc++.
........
r138190 | dfranke | 2008-07-27 09:32:14 -0700 (Sun, 27 Jul 2008) | 6 lines
2008-07-27 Daniel Franke <franke.daniel@gmail.com>
PR fortran/36724
* gfortran.dg/pointer_to_substring.f90: New test.
........
r138191 | ebotcazou | 2008-07-27 09:55:31 -0700 (Sun, 27 Jul 2008) | 4 lines
PR tree-optimization/36830
* tree-ssa-sccvn.c (vn_reference_op_compute_hash): Hash operand #2.
(expressions_equal_p): Return false if only one operand is null.
........
r138194 | hjl | 2008-07-27 10:40:04 -0700 (Sun, 27 Jul 2008) | 15 lines
gcc/cp/
2008-07-27 H.J. Lu <hongjiu.lu@intel.com>
PR c++/36944
* class.c (type_has_user_provided_default_constructor): Handle
default parameters.
gcc/testsuite/
2008-07-27 H.J. Lu <hongjiu.lu@intel.com>
PR c++/36944
* g++.dg/other/pr36944.C: New.
........
r138198 | victork | 2008-07-27 14:44:25 -0700 (Sun, 27 Jul 2008) | 14 lines
2008-07-27 Victor Kaplansky <victork@il.ibm.com>
PR tree-optimization/35252
* tree-vect-analyze.c (vect_build_slp_tree): Make IMAGPART_EXPR and
REALPART_EXPR to be considered as same load operation.
testsuite
PR tree-optimization/35252
* gcc.dg/vect/vect-complex-1.c, gcc.dg/vect/vect-complex-2.c,
gcc.dg/vect/fast-math-vect-complex-3.c,
gcc.dg/vect/vect-complex-4.c: New tests.
........
r138201 | gccadmin | 2008-07-27 17:16:51 -0700 (Sun, 27 Jul 2008) | 1 line
Daily bump.
........
r138206 | simonb | 2008-07-28 04:55:11 -0700 (Mon, 28 Jul 2008) | 9 lines
* c-pragma.c (handle_pragma_message): New function.
(init_pragma): Register handle_pragma_message.
* doc/extend.texi (Diagnostic Pragmas): Added #pragma message
documentation.
* gcc.dg/pragma-message.c: New.
........
r138207 | rguenth | 2008-07-28 07:33:56 -0700 (Mon, 28 Jul 2008) | 201 lines
2008-07-28 Richard Guenther <rguenther@suse.de>
Merge from gimple-tuples-branch.
* ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
* gimple.def: New file.
* gsstruct.def: Likewise.
* gimple-iterator.c: Likewise.
* gimple-pretty-print.c: Likewise.
* tree-gimple.c: Removed. Merged into ...
* gimple.c: ... here. New file.
* tree-gimple.h: Removed. Merged into ...
* gimple.h: ... here. New file.
* Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h.
* configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
--enable-checking=gimple flag.
* config.in: Likewise.
* configure: Regenerated.
* tree-ssa-operands.h: Tuplified.
* tree-vrp.c: Likewise.
* tree-loop-linear.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-dump.c: Likewise.
* tree-complex.c: Likewise.
* cgraphbuild.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-pretty-print.c: Likewise.
* tracer.c: Likewise.
* gengtype.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* cgraph.c: Likewise.
* cgraph.h: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* value-prof.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-tailcall.c: Likewise.
* value-prof.h: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
* tree-pass.h: Likewise.
* ipa-cp.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-scalar-evolution.h: Likewise.
* target.h: Likewise.
* lambda-mat.c: Likewise.
* tree-phinodes.c: Likewise.
* diagnostic.h: Likewise.
* builtins.c: Likewise.
* tree-ssa-alias-warnings.c: Likewise.
* cfghooks.c: Likewise.
* fold-const.c: Likewise.
* cfghooks.h: Likewise.
* omp-low.c: Likewise.
* tree-ssa-dse.c: Likewise.
* ipa-reference.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* toplev.c: Likewise.
* tree-gimple.c: Likewise.
* tree-gimple.h: Likewise.
* tree-chrec.c: Likewise.
* tree-chrec.h: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-sccvn.h: Likewise.
* cgraphunit.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-call-cdce.c: Likewise.
* ipa-pure-const.c: Likewise.
* c-format.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-nrv.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* ipa-utils.c: Likewise.
* tree-ssa-propagate.h: Likewise.
* tree-ssa-alias.c: Likewise.
* gimple-low.c: Likewise.
* tree-ssa-sink.c: Likewise.
* ipa-inline.c: Likewise.
* c-semantics.c: Likewise.
* dwarf2out.c: Likewise.
* expr.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* predict.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-parloops.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* matrix-reorg.c: Likewise.
* c-decl.c: Likewise.
* tree-eh.c: Likewise.
* c-pretty-print.c: Likewise.
* lambda-trans.c: Likewise.
* function.c: Likewise.
* langhooks.c: Likewise.
* ebitmap.h: Likewise.
* tree-vectorizer.c: Likewise.
* function.h: Likewise.
* langhooks.h: Likewise.
* tree-vectorizer.h: Likewise.
* ipa-type-escape.c: Likewise.
* ipa-type-escape.h: Likewise.
* domwalk.c: Likewise.
* tree-if-conv.c: Likewise.
* profile.c: Likewise.
* domwalk.h: Likewise.
* tree-data-ref.c: Likewise.
* tree-data-ref.h: Likewise.
* tree-flow-inline.h: Likewise.
* tree-affine.c: Likewise.
* tree-vect-analyze.c: Likewise.
* c-typeck.c: Likewise.
* gimplify.c: Likewise.
* coretypes.h: Likewise.
* tree-ssa-phiopt.c: Likewise.
* calls.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree.def: Likewise.
* tree-dfa.c: Likewise.
* except.c: Likewise.
* except.h: Likewise.
* cfgexpand.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-live.h: Likewise.
* tree-predcom.c: Likewise.
* lambda.h: Likewise.
* tree-mudflap.c: Likewise.
* ipa-prop.c: Likewise.
* print-tree.c: Likewise.
* tree-ssa-copy.c: Likewise.
* ipa-prop.h: Likewise.
* tree-ssa-forwprop.c: Likewise.
* ggc-page.c: Likewise.
* c-omp.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-nested.c: Likewise.
* tree-ssa.c: Likewise.
* lambda-code.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-inline.c: Likewise.
* tree-inline.h: Likewise.
* tree-iterator.c: Likewise.
* tree-optimize.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-vect-transform.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* cfgloop.c: Likewise.
* system.h: Likewise.
* tree-profile.c: Likewise.
* cfgloop.h: Likewise.
* c-gimplify.c: Likewise.
* c-common.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-flow.h: Likewise.
* c-common.h: Likewise.
* basic-block.h: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-ssa-structalias.h: Likewise.
* tree-cfg.c: Likewise.
* passes.c: Likewise.
* ipa-struct-reorg.c: Likewise.
* ipa-struct-reorg.h: Likewise.
* tree-ssa-reassoc.c: Likewise.
* cfgrtl.c: Likewise.
* varpool.c: Likewise.
* stmt.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* langhooks-def.h: Likewise.
* tree-ssa-operands.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/frv/frv.c: Likewise.
* config/s390/s390.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32c/m32c-protos.h: Likewise.
* config/spu/spu.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/i386/i386.c: Likewise.
* config/sh/sh.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/pa/pa.c: Likewise.
* config/mips/mips.c: Likewise.
........
r138208 | burnus | 2008-07-28 09:02:51 -0700 (Mon, 28 Jul 2008) | 5 lines
2008-07-28 Tobias Burnus <burnus@net-b.de>
* Make-lang.in: Remove -Wno-* from fortran-warn.
........
r138211 | aldyh | 2008-07-28 10:37:05 -0700 (Mon, 28 Jul 2008) | 3 lines
* MAINTAINERS: Add Jakub and myself as gimple maintainers.
........
r138213 | rguenth | 2008-07-28 11:29:04 -0700 (Mon, 28 Jul 2008) | 11 lines
2008-07-28 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (insert_into_preds_of_block): Remove dead code.
(insert_fake_stores): Remove.
(realify_fake_stores): Likewise.
(execute_pre): Remove dead code.
* tree-ssa-structalias.c (get_constraint_for_1): Remove tcc_unary
case.
(find_func_aliases): Deal with it here instead.
Re-enable gcc_unreachable call.
........
r138214 | chaoyingfu | 2008-07-28 11:47:44 -0700 (Mon, 28 Jul 2008) | 3 lines
* configure.tgt: Enable futex for MIPS.
* config/linux/mips/futex.h: New file.
........
r138215 | aldyh | 2008-07-28 12:50:50 -0700 (Mon, 28 Jul 2008) | 2 lines
fix typo
........
r138216 | andreast | 2008-07-28 13:30:00 -0700 (Mon, 28 Jul 2008) | 7 lines
2008-07-28 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Use the m4_do macro to concatenate the warnings into
one string in ACX_PROG_CC_WARNING_OPTS,
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and ACX_PROG_CC_WARNINGS_ARE_ERRORS.
* configure: Regenerate.
........
r138217 | rguenth | 2008-07-28 13:32:32 -0700 (Mon, 28 Jul 2008) | 12 lines
2008-07-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36957
* tree-flow.h (tree_ssa_useless_type_conversion): Remove.
(useless_type_conversion_p): Remove.
(types_compatible_p): Remove.
* gimple.h (tree_ssa_useless_type_conversion): Declare.
(useless_type_conversion_p): Declare.
(types_compatible_p): Declare.
(gimple_expr_type): Return the base type only if it is
trivially convertible to the subtype.
........
r138219 | paolo | 2008-07-28 16:28:16 -0700 (Mon, 28 Jul 2008) | 8 lines
2008-07-28 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/36949
* include/tr1_impl/boost_shared_ptr.h
(__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...): Call
__enable_shared_from_this_helper.
* testsuite/20_util/shared_ptr/creation/36949.cc: New.
........
r138221 | jason | 2008-07-28 17:06:08 -0700 (Mon, 28 Jul 2008) | 3 lines
PR c++/36943
* decl.c (reshape_init_r): Allow C++0x initializer lists.
........
r138224 | gccadmin | 2008-07-28 17:16:58 -0700 (Mon, 28 Jul 2008) | 1 line
Daily bump.
........
r138226 | ghazi | 2008-07-28 17:45:52 -0700 (Mon, 28 Jul 2008) | 27 lines
* gfortran.h (try): Remove macro. Replace try with gfc_try
throughout.
* array.c: Likewise.
* check.c: Likewise.
* cpp.c: Likewise.
* cpp.h: Likewise.
* data.c: Likewise.
* data.h: Likewise.
* decl.c: Likewise.
* error.c: Likewise.
* expr.c: Likewise.
* interface.c: Likewise.
* intrinsic.c: Likewise.
* intrinsic.h: Likewise.
* io.c: Likewise.
* match.h: Likewise.
* parse.c: Likewise.
* parse.h: Likewise.
* resolve.c: Likewise.
* scanner.c: Likewise.
* simplify.c: Likewise.
* symbol.c: Likewise.
* trans-openmp.c: Likewise.
* trans-types.c: Likewise.
........
r138233 | kkojima | 2008-07-29 02:07:49 -0700 (Tue, 29 Jul 2008) | 5 lines
* config/sh/sh.c (sh_gimplify_va_arg_expr): Unshare the addr,
valist, next_fp, next_fp_tmp, next_fp_limit, next_o, next_o_limit,
next_stack, lab_false and lab_over trees.
........
r138234 | domob | 2008-07-29 02:11:51 -0700 (Tue, 29 Jul 2008) | 16 lines
2008-07-29 Daniel Kraft <d@domob.eu>
PR fortran/36403
* trans-intrinsic.c (conv_generic_with_optional_char_arg): New method
to append a string-length even if the string argument is missing, e.g.
for EOSHIFT.
(gfc_conv_intrinsic_function): Call the new method for EOSHIFT, PACK
and RESHAPE.
2008-07-29 Daniel Kraft <d@domob.eu>
PR fortran/36403
* gfortran.dg/char_eoshift_5.f90: New test.
* gfortran.dg/intrinsic_optional_char_arg_1.f90: New test.
........
r138235 | manu | 2008-07-29 03:00:25 -0700 (Tue, 29 Jul 2008) | 11 lines
2008-07-29 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 34985
* c-decl.c (merge_decls): Merge USED flags.
cp/
* decl.c (duplicate_decls): Merge USED flags.
testsuite/
* gcc.dg/pr34985.c: New.
* g++.dg/warn/pr34985.C: New.
........
r138236 | hubicka | 2008-07-29 03:49:30 -0700 (Tue, 29 Jul 2008) | 11 lines
* optimize.c (maybe_clone_body): Remove DECL_INLINE.
* decl.c (duplicate_decls): Likewise.
(grokfndecl): Likewise.
(start_method): Likewise.
* method.c (make_thunk, make_alias_for, implicitly_declare_fn):
Likewise.
* pt.c (register_specialization, regenerate_decl_from_template):
Likewise.
* decl2.c (grokfield): Likewise.
........
r138237 | hubicka | 2008-07-29 03:52:16 -0700 (Tue, 29 Jul 2008) | 19 lines
* predict.c (always_optimize_for_size_p): New function.
(optimize_bb_for_size_p, optimize_bb_for_speed_p,
optimize_edge_for_size_p, optimize_edge_for_speed_p,
optimize_insn_for_size_p, optimize_insn_for_speed_p): New global
functions.
(rtl_profile_for_bb, rtl_profile_for_edge, rtl_default_profile): New.
* function.c (prepare_function_start): Set default profile.
* function.h (rtl_data): Add maybe_hot_insn_p.
* cfgexpand.c (expand_gimple_basic_block): Set RTL profile.
(construct_exit_block): Likewise.
(tree_expand_cfg): Likewise.
* basic-block.h
(optimize_bb_for_size_p, optimize_bb_for_speed_p,
optimize_edge_for_size_p, optimize_edge_for_speed_p,
optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare.
(rtl_profile_for_bb, rtl_profile_for_edge, default_rtl_profile):
Declare.
........
r138238 | hubicka | 2008-07-29 04:00:58 -0700 (Tue, 29 Jul 2008) | 22 lines
* flags.h (flag_really_no_inline): Remove.
* cgraph.c (cgraph_function_possibly_inlined_p): Simplify.
* toplev.c (flag_really_no_inline): Remove.
* c-cppbuiltin.c (c_cpp_builtins): Use flag_no_inline.
* ipa-inline.c (cgraph_decide_inlining): Do not check flag_no_inline.
(cgraph_decide_inlining_incrementally): Likewise.
(compute_inline_parameters): Likewise.
* opts.c (decode_options): Simplify.
* c-opts.c (c_common_post_options): Do not set flag_no_inline.
* common.opt (finline): Initialize to 1.
* tree-inline.c (inlinable_function_p): Check flag_no_inline.
* lang.c (java_post_options): Remove handling of flag_no_inline.
* misc.c (gnat_post_options): Do not set flag_no_inline.
* options.c (gfc_post_options): Do not set flag_no_inline.
........
r138245 | aaronwl | 2008-07-29 07:10:03 -0700 (Tue, 29 Jul 2008) | 5 lines
2008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
........
r138246 | charlet | 2008-07-29 08:46:37 -0700 (Tue, 29 Jul 2008) | 7 lines
* gcc-interface: New directory.
* ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
to gcc-interface subdirectory.
........
r138248 | charlet | 2008-07-29 08:50:16 -0700 (Tue, 29 Jul 2008) | 2 lines
Resync.
........
r138249 | jakub | 2008-07-29 09:27:50 -0700 (Tue, 29 Jul 2008) | 2 lines
* c-format.c (check_format_types): Revert unwanted checkin.
........
r138250 | jakub | 2008-07-29 09:29:33 -0700 (Tue, 29 Jul 2008) | 7 lines
PR c++/36852
* tree.c (cplus_array_hash, build_cplus_array_type_1): Hash on
TYPE_UID instead of pointers.
* g++.dg/pch/array-1.C: New test.
* g++.dg/pch/array-1.Hs: New file.
........
r138251 | jakub | 2008-07-29 09:30:32 -0700 (Tue, 29 Jul 2008) | 3 lines
* class.c (build_utf8_ref): Pad initializer string to utf8const_type's
alignment.
........
r138252 | jakub | 2008-07-29 09:31:18 -0700 (Tue, 29 Jul 2008) | 3 lines
* class.c (build_utf8_ref): Set DECL_SIZE and DECL_SIZE_UNIT
from ctype's sizes.
........
r138254 | hubicka | 2008-07-29 10:02:45 -0700 (Tue, 29 Jul 2008) | 4 lines
* trans.c (process_inlined_subprograms): Remove tree_really_inline
check.
........
r138255 | paolo | 2008-07-29 10:06:24 -0700 (Tue, 29 Jul 2008) | 11 lines
2008-07-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/utility: Include <initializer_list>, per the current WP.
* testsuite/lib/libstdc++.exp (check_v3_target_cstdint): Tweak,
don't use -std=gnu++0x unnecessarily.
* testsuite/18_support/numeric_limits/char16_32_t.cc: Use
dg-require-cstdint.
* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Likewise.
........
r138256 | rguenth | 2008-07-29 10:07:42 -0700 (Tue, 29 Jul 2008) | 5 lines
2008-07-29 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimplify_expr): Clear TREE_SIDE_EFFECTS for
OBJ_TYPE_REF.
........
r138257 | rguenth | 2008-07-29 10:09:26 -0700 (Tue, 29 Jul 2008) | 18 lines
2008-07-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36945
* tree-ssa-sccvn.h (copy_reference_ops_from_ref): Declare.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Export.
Record invariant addresses un-decomposed.
(copy_reference_ops_from_call): Record reference call
arguments properly. Simplify.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): New
helper split out from ...
(create_component_ref_by_pieces): ... here. Simplify.
Prepare for recursive invocation for call arguments.
(create_expression_by_pieces): Adjust call to
create_component_ref_by_pieces.
(compute_avail): Process operand 2 of reference ops.
* gcc.dg/tree-ssa/ssa-pre-18.c: New testcase.
........
r138258 | hubicka | 2008-07-29 10:10:55 -0700 (Tue, 29 Jul 2008) | 7 lines
* c-decl.c (merge_decls): Do not handle DECL_INLINE.
(grokdeclarator): Likewise.
* langhooks.c (lhd_warn_unused_global_decl): Use
DECL_DECLARED_INLINE_P.
* print-tree.c (print_node): Remove DECL_INLINE check.
........
r138260 | charlet | 2008-07-29 11:51:30 -0700 (Tue, 29 Jul 2008) | 2 lines
Moved to gcc-interface.
........
r138261 | charlet | 2008-07-29 11:52:26 -0700 (Tue, 29 Jul 2008) | 3 lines
* trans.c (process_inlined_subprograms): Remove tree_really_inline
check.
........
r138263 | paolo | 2008-07-29 12:34:36 -0700 (Tue, 29 Jul 2008) | 17 lines
2008-07-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/set.h: Minor formatting fixes.
* include/debug/multiset.h: Likewise.
* include/debug/safe_association.h: Likewise.
* include/debug/vector: Likewise.
* include/debug/map.h: Likewise.
* include/debug/string: Likewise.
* include/debug/multimap.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
........
r138274 | charlet | 2008-07-29 13:43:33 -0700 (Tue, 29 Jul 2008) | 2 lines
Moved to gcc-interface directory.
........
r138275 | pault | 2008-07-29 13:44:09 -0700 (Tue, 29 Jul 2008) | 1420 lines
Index: gcc/fortran/trans-expr.c
===================================================================
*** gcc/fortran/trans-expr.c (revision 138273)
--- gcc/fortran/trans-expr.c (working copy)
***************
*** 1,6 ****
/* Expression translation
! Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
! Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
--- 1,6 ----
/* Expression translation
! Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
! Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
*************** gfc_conv_component_ref (gfc_se * se, gfc
*** 395,400 ****
--- 395,434 ----
}
+ /* This function deals with component references to components of the
+ parent type for derived type extensons. */
+ static void
+ conv_parent_component_references (gfc_se * se, gfc_ref * ref)
+ {
+ gfc_component *c;
+ gfc_component *cmp;
+ gfc_symbol *dt;
+ gfc_ref parent;
+
+ dt = ref->u.c.sym;
+ c = ref->u.c.component;
+
+ /* Build a gfc_ref to recursively call gfc_conv_component_ref. */
+ parent.type = REF_COMPONENT;
+ parent.next = NULL;
+ parent.u.c.sym = dt;
+ parent.u.c.component = dt->components;
+
+ if (dt->attr.extension && dt->components)
+ {
+ /* Return if the component is not in the parent type. */
+ for (cmp = dt->components->next; cmp; cmp = cmp->next)
+ if (strcmp (c->name, cmp->name) == 0)
+ return;
+
+ /* Otherwise build the reference and call self. */
+ gfc_conv_component_ref (se, &parent);
+ parent.u.c.sym = dt->components->ts.derived;
+ parent.u.c.component = c;
+ conv_parent_component_references (se, &parent);
+ }
+ }
+
/* Return the contents of a variable. Also handles reference/pointer
variables (all Fortran pointer references are implicit). */
*************** gfc_conv_variable (gfc_se * se, gfc_expr
*** 561,566 ****
--- 595,603 ----
break;
case REF_COMPONENT:
+ if (ref->u.c.sym->attr.extension)
+ conv_parent_component_references (se, ref);
+
gfc_conv_component_ref (se, ref);
break;
Index: gcc/fortran/trans-array.c
===================================================================
*** gcc/fortran/trans-array.c (revision 138273)
--- gcc/fortran/trans-array.c (working copy)
*************** gfc_conv_resolve_dependencies (gfc_loopi
*** 3257,3270 ****
if (ss->type != GFC_SS_SECTION)
continue;
! if (gfc_could_be_alias (dest, ss)
! || gfc_are_equivalenced_arrays (dest->expr, ss->expr))
{
! nDepend = 1;
! break;
}
!
! if (dest->expr->symtree->n.sym == ss->expr->symtree->n.sym)
{
lref = dest->expr->ref;
rref = ss->expr->ref;
--- 3257,3272 ----
if (ss->type != GFC_SS_SECTION)
continue;
! if (dest->expr->symtree->n.sym != ss->expr->symtree->n.sym)
{
! if (gfc_could_be_alias (dest, ss)
! || gfc_are_equivalenced_arrays (dest->expr, ss->expr))
! {
! nDepend = 1;
! break;
! }
}
! else
{
lref = dest->expr->ref;
rref = ss->expr->ref;
Index: gcc/fortran/symbol.c
===================================================================
*** gcc/fortran/symbol.c (revision 138273)
--- gcc/fortran/symbol.c (working copy)
*************** gfc_add_component (gfc_symbol *sym, cons
*** 1701,1706 ****
--- 1701,1714 ----
tail = p;
}
+ if (sym->attr.extension
+ && gfc_find_component (sym->components->ts.derived, name))
+ {
+ gfc_error ("Component '%s' at %C already in the parent type "
+ "at %L", name, &sym->components->ts.derived->declared_at);
+ return FAILURE;
+ }
+
/* Allocate a new component. */
p = gfc_get_component ();
*************** gfc_find_component (gfc_symbol *sym, con
*** 1830,1846 ****
if (strcmp (p->name, name) == 0)
break;
if (p == NULL)
gfc_error ("'%s' at %C is not a member of the '%s' structure",
name, sym->name);
! else
{
! if (sym->attr.use_assoc && (sym->component_access == ACCESS_PRIVATE
! || p->access == ACCESS_PRIVATE))
{
gfc_error ("Component '%s' at %C is a PRIVATE component of '%s'",
name, sym->name);
! p = NULL;
}
}
--- 1838,1873 ----
if (strcmp (p->name, name) == 0)
break;
+ if (p == NULL
+ && sym->attr.extension
+ && sym->components->ts.type == BT_DERIVED)
+ {
+ p = gfc_find_component (sym->components->ts.derived, name);
+ /* Do not overwrite the error. */
+ if (p == NULL)
+ return p;
+ }
+
if (p == NULL)
gfc_error ("'%s' at %C is not a member of the '%s' structure",
name, sym->name);
!
! else if (sym->attr.use_assoc)
{
! if (p->access == ACCESS_PRIVATE)
{
gfc_error ("Component '%s' at %C is a PRIVATE component of '%s'",
name, sym->name);
! return NULL;
! }
!
! /* If there were components given and all components are private, error
! out at this place. */
! if (p->access != ACCESS_PUBLIC && sym->component_access == ACCESS_PRIVATE)
! {
! gfc_error ("All components of '%s' are PRIVATE in structure"
! " constructor at %C", sym->name);
! return NULL;
}
}
Index: gcc/fortran/decl.c
===================================================================
*** gcc/fortran/decl.c (revision 138273)
--- gcc/fortran/decl.c (working copy)
*************** match_data_constant (gfc_expr **result)
*** 367,373 ****
return MATCH_ERROR;
}
else if (sym->attr.flavor == FL_DERIVED)
! return gfc_match_structure_constructor (sym, result);
/* Check to see if the value is an initialization array expression. */
if (sym->value->expr_type == EXPR_ARRAY)
--- 367,373 ----
return MATCH_ERROR;
}
else if (sym->attr.flavor == FL_DERIVED)
! return gfc_match_structure_constructor (sym, result, false);
/* Check to see if the value is an initialization array expression. */
if (sym->value->expr_type == EXPR_ARRAY)
*************** syntax:
*** 6250,6255 ****
--- 6250,6298 ----
}
+ /* Check a derived type that is being extended. */
+ static gfc_symbol*
+ check_extended_derived_type (char *name)
+ {
+ gfc_symbol *extended;
+
+ if (gfc_find_symbol (name, gfc_current_ns, 1, &extended))
+ {
+ gfc_error ("Ambiguous symbol in TYPE definition at %C");
+ return NULL;
+ }
+
+ if (!extended)
+ {
+ gfc_error ("No such symbol in TYPE definition at %C");
+ return NULL;
+ }
+
+ if (extended->attr.flavor != FL_DERIVED)
+ {
+ gfc_error ("'%s' in EXTENDS expression at %C is not a "
+ "derived type", name);
+ return NULL;
+ }
+
+ if (extended->attr.is_bind_c)
+ {
+ gfc_error ("'%s' cannot be extended at %C because it "
+ "is BIND(C)", extended->name);
+ return NULL;
+ }
+
+ if (extended->attr.sequence)
+ {
+ gfc_error ("'%s' cannot be extended at %C because it "
+ "is a SEQUENCE type", extended->name);
+ return NULL;
+ }
+
+ return extended;
+ }
+
+
/* Match the optional attribute specifiers for a type declaration.
Return MATCH_ERROR if an error is encountered in one of the handled
attributes (public, private, bind(c)), MATCH_NO if what's found is
*************** syntax:
*** 6257,6263 ****
checking on attribute conflicts needs to be done. */
match
! gfc_get_type_attr_spec (symbol_attribute *attr)
{
/* See if the derived type is marked as private. */
if (gfc_match (" , private") == MATCH_YES)
--- 6300,6306 ----
checking on attribute conflicts needs to be done. */
match
! gfc_get_type_attr_spec (symbol_attribute *attr, char *name)
{
/* See if the derived type is marked as private. */
if (gfc_match (" , private") == MATCH_YES)
*************** gfc_get_type_attr_spec (symbol_attribute
*** 6295,6300 ****
--- 6338,6349 ----
/* TODO: attr conflicts need to be checked, probably in symbol.c. */
}
+ else if (name && gfc_match(" , extends ( %n )", name) == MATCH_YES)
+ {
+ if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: derived type "
+ "extended at %C") == FAILURE)
+ return MATCH_ERROR;
+ }
else
return MATCH_NO;
*************** match
*** 6311,6318 ****
--- 6360,6369 ----
gfc_match_derived_decl (void)
{
char name[GFC_MAX_SYMBOL_LEN + 1];
+ char parent[GFC_MAX_SYMBOL_LEN + 1];
symbol_attribute attr;
gfc_symbol *sym;
+ gfc_symbol *extended;
match m;
match is_type_attr_spec = MATCH_NO;
bool seen_attr = false;
*************** gfc_match_derived_decl (void)
*** 6320,6336 ****
if (gfc_current_state () == COMP_DERIVED)
return MATCH_NO;
gfc_clear_attr (&attr);
do
{
! is_type_attr_spec = gfc_get_type_attr_spec (&attr);
if (is_type_attr_spec == MATCH_ERROR)
return MATCH_ERROR;
if (is_type_attr_spec == MATCH_YES)
seen_attr = true;
} while (is_type_attr_spec == MATCH_YES);
if (gfc_match (" ::") != MATCH_YES && seen_attr)
{
gfc_error ("Expected :: in TYPE definition at %C");
--- 6371,6397 ----
if (gfc_current_state () == COMP_DERIVED)
return MATCH_NO;
+ name[0] = '\0';
+ parent[0] = '\0';
gfc_clear_attr (&attr);
+ extended = NULL;
do
{
! is_type_attr_spec = gfc_get_type_attr_spec (&attr, parent);
if (is_type_attr_spec == MATCH_ERROR)
return MATCH_ERROR;
if (is_type_attr_spec == MATCH_YES)
seen_attr = true;
} while (is_type_attr_spec == MATCH_YES);
+ /* Deal with derived type extensions. */
+ if (parent[0])
+ extended = check_extended_derived_type (parent);
+
+ if (parent[0] && !extended)
+ return MATCH_ERROR;
+
if (gfc_match (" ::") != MATCH_YES && seen_attr)
{
gfc_error ("Expected :: in TYPE definition at %C");
*************** gfc_match_derived_decl (void)
*** 6383,6392 ****
--- 6444,6477 ----
if (attr.is_bind_c != 0)
sym->attr.is_bind_c = attr.is_bind_c;
+
/* Construct the f2k_derived namespace if it is not yet there. */
if (!sym->f2k_derived)
sym->f2k_derived = gfc_get_namespace (NULL, 0);
+
+ if (extended && !sym->components)
+ {
+ gfc_component *p;
+ gfc_symtree *st;
+
+ /* Add the extended derived type as the first component. */
+ gfc_add_component (sym, parent, &p);
+ sym->attr.extension = 1;
+ extended->refs++;
+ gfc_set_sym_referenced (extended);
+
+ p->ts.type = BT_DERIVED;
+ p->ts.derived = extended;
+ p->initializer = gfc_default_initializer (&p->ts);
+
+ /* Provide the links between the extended type and its extension. */
+ if (!extended->f2k_derived)
+ extended->f2k_derived = gfc_get_namespace (NULL, 0);
+ st = gfc_new_symtree (&extended->f2k_derived->sym_root, sym->name);
+ st->n.sym = sym;
+ }
+
gfc_new_block = sym;
return MATCH_YES;
Index: gcc/fortran/gfortran.h
===================================================================
*** gcc/fortran/gfortran.h (revision 138273)
--- gcc/fortran/gfortran.h (working copy)
*************** typedef struct
*** 638,643 ****
--- 638,644 ----
unsigned untyped:1; /* No implicit type could be found. */
unsigned is_bind_c:1; /* say if is bound to C */
+ unsigned extension:1; /* extends a derived type */
/* These flags are both in the typespec and attribute. The attribute
list is what gets read from/written to a module file. The typespec
*************** typedef struct gfc_symbol
*** 1016,1024 ****
gfc_formal_arglist *formal;
struct gfc_namespace *formal_ns;
-
- /* The namespace containing type-associated procedure symbols. */
- /* TODO: Make this union with formal? */
struct gfc_namespace *f2k_derived;
struct gfc_expr *value; /* Parameter/Initializer value */
--- 1017,1022 ----
Index: gcc/fortran/ChangeLog
===================================================================
*** gcc/fortran/ChangeLog (revision 138273)
--- gcc/fortran/ChangeLog (working copy)
***************
*** 1,3 ****
--- 1,42 ----
+ 2008-07-29 Paul Thomas <pault@gcc.gnu.org>
+
+ * trans-expr.c (conv_parent_component_references): New function
+ to build missing parent references.
+ (gfc_conv_variable): Call it
+ * symbol.c (gfc_add_component): Check that component name in a
+ derived type extension does not appear in parent.
+ (gfc_find_component): For a derived type extension, check if
+ the component appears in the parent derived type by calling
+ self. Separate errors for private components and private types.
+ * decl.c (match_data_constant): Add extra arg to call to
+ gfc_match_structure_constructor.
+ (check_extended_derived_type): New function to check that a
+ parent derived type exists and that it is OK for exension.
+ (gfc_get_type_attr_spec): Add extra argument 'name' and return
+ it if extends is specified.
+ (gfc_match_derived_decl): Match derived type extension and
+ build a first component of the parent derived type if OK. Add
+ the f2k namespace if not present.
+ * gfortran.h : Add the extension attribute.
+ * module.c : Handle attribute 'extension'.
+ * match.h : Modify prototypes for gfc_get_type_attr_spec and
+ gfc_match_structure_constructor.
+ * primary.c (build_actual_constructor): New function extracted
+ from gfc_match_structure_constructor and modified to call self
+ iteratively to build derived type extensions, when f2k named
+ components are used.
+ (gfc_match_structure_constructor): Do not throw error for too
+ many components if a parent type is being handled. Use
+ gfc_find_component to generate errors for non-existent or
+ private components. Iteratively call self for derived type
+ extensions so that parent constructor is built. If extension
+ and components left over, throw error.
+ (gfc_match_rvalue): Add extra arg to call to
+ gfc_match_structure_constructor.
+
+ * trans-array.c (gfc_conv_resolve_dependencies): If lhs and rhs
+ are the same symbol, aliassing does not matter.
+
2008-07-29 Jan Hubicka <jh@suse.cz>
* options.c (gfc_post_options): Do not set flag_no_inline.
Index: gcc/fortran/module.c
===================================================================
*** gcc/fortran/module.c (revision 138273)
--- gcc/fortran/module.c (working copy)
*************** typedef enum
*** 1648,1654 ****
AB_ELEMENTAL, AB_PURE, AB_RECURSIVE, AB_GENERIC, AB_ALWAYS_EXPLICIT,
AB_CRAY_POINTER, AB_CRAY_POINTEE, AB_THREADPRIVATE, AB_ALLOC_COMP,
AB_POINTER_COMP, AB_PRIVATE_COMP, AB_VALUE, AB_VOLATILE, AB_PROTECTED,
! AB_IS_BIND_C, AB_IS_C_INTEROP, AB_IS_ISO_C, AB_ABSTRACT, AB_ZERO_COMP
}
ab_attribute;
--- 1648,1655 ----
AB_ELEMENTAL, AB_PURE, AB_RECURSIVE, AB_GENERIC, AB_ALWAYS_EXPLICIT,
AB_CRAY_POINTER, AB_CRAY_POINTEE, AB_THREADPRIVATE, AB_ALLOC_COMP,
AB_POINTER_COMP, AB_PRIVATE_COMP, AB_VALUE, AB_VOLATILE, AB_PROTECTED,
! AB_IS_BIND_C, AB_IS_C_INTEROP, AB_IS_ISO_C, AB_ABSTRACT, AB_ZERO_COMP,
! AB_EXTENSION
}
ab_attribute;
*************** static const mstring attr_bits[] =
*** 1688,1693 ****
--- 1689,1695 ----
minit ("ZERO_COMP", AB_ZERO_COMP),
minit ("PROTECTED", AB_PROTECTED),
minit ("ABSTRACT", AB_ABSTRACT),
+ minit ("EXTENSION", AB_EXTENSION),
minit (NULL, -1)
};
*************** mio_symbol_attribute (symbol_attribute *
*** 1801,1806 ****
--- 1803,1810 ----
MIO_NAME (ab_attribute) (AB_PRIVATE_COMP, attr_bits);
if (attr->zero_comp)
MIO_NAME (ab_attribute) (AB_ZERO_COMP, attr_bits);
+ if (attr->extension)
+ MIO_NAME (ab_attribute) (AB_EXTENSION, attr_bits);
mio_rparen ();
*************** mio_symbol_attribute (symbol_attribute *
*** 1919,1924 ****
--- 1923,1931 ----
case AB_ZERO_COMP:
attr->zero_comp = 1;
break;
+ case AB_EXTENSION:
+ attr->extension = 1;
+ break;
}
}
}
Index: gcc/fortran/trans-io.c
===================================================================
*** gcc/fortran/trans-io.c (revision 138273)
--- gcc/fortran/trans-io.c (working copy)
***************
*** 1,6 ****
/* IO Code translation/library interface
! Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
! Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
--- 1,6 ----
/* IO Code translation/library interface
! Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
! Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
Index: gcc/fortran/match.h
===================================================================
*** gcc/fortran/match.h (revision 138273)
--- gcc/fortran/match.h (working copy)
*************** gfc_try get_bind_c_idents (void);
*** 182,191 ****
match gfc_match_bind_c_stmt (void);
match gfc_match_suffix (gfc_symbol *, gfc_symbol **);
match gfc_match_bind_c (gfc_symbol *, bool);
! match gfc_get_type_attr_spec (symbol_attribute *);
/* primary.c. */
! match gfc_match_structure_constructor (gfc_symbol *, gfc_expr **);
match gfc_match_variable (gfc_expr **, int);
match gfc_match_equiv_variable (gfc_expr **);
match gfc_match_actual_arglist (int, gfc_actual_arglist **);
--- 182,191 ----
match gfc_match_bind_c_stmt (void);
match gfc_match_suffix (gfc_symbol *, gfc_symbol **);
match gfc_match_bind_c (gfc_symbol *, bool);
! match gfc_get_type_attr_spec (symbol_attribute *, char*);
/* primary.c. */
! match gfc_match_structure_constructor (gfc_symbol *, gfc_expr **, bool);
match gfc_match_variable (gfc_expr **, int);
match gfc_match_equiv_variable (gfc_expr **);
match gfc_match_actual_arglist (int, gfc_actual_arglist **);
Index: gcc/fortran/primary.c
===================================================================
*** gcc/fortran/primary.c (revision 138273)
--- gcc/fortran/primary.c (working copy)
*************** gfc_free_structure_ctor_component (gfc_s
*** 1984,1994 ****
gfc_free_expr (comp->val);
}
! match
! gfc_match_structure_constructor (gfc_symbol *sym, gfc_expr **result)
{
- gfc_structure_ctor_component *comp_head, *comp_tail;
gfc_structure_ctor_component *comp_iter;
gfc_constructor *ctor_head, *ctor_tail;
gfc_component *comp; /* Is set NULL when named component is first seen */
gfc_expr *e;
--- 1984,2086 ----
gfc_free_expr (comp->val);
}
!
! /* Translate the component list into the actual constructor by sorting it in
! the order required; this also checks along the way that each and every
! component actually has an initializer and handles default initializers
! for components without explicit value given. */
! static gfc_try
! build_actual_constructor (gfc_structure_ctor_component **comp_head,
! gfc_constructor **ctor_head, gfc_symbol *sym)
{
gfc_structure_ctor_component *comp_iter;
+ gfc_constructor *ctor_tail = NULL;
+ gfc_component *comp;
+
+ for (comp = sym->components; comp; comp = comp->next)
+ {
+ gfc_structure_ctor_component **next_ptr;
+ gfc_expr *value = NULL;
+
+ /* Try to find the initializer for the current component by name. */
+ next_ptr = comp_head;
+ for (comp_iter = *comp_head; comp_iter; comp_iter = comp_iter->next)
+ {
+ if (!strcmp (comp_iter->name, comp->name))
+ break;
+ next_ptr = &comp_iter->next;
+ }
+
+ /* If an extension, try building the parent derived type by building
+ a value expression for the parent derived type and calling self. */
+ if (!comp_iter && comp == sym->components && sym->attr.extension)
+ {
+ value = gfc_get_expr ();
+ value->expr_type = EXPR_STRUCTURE;
+ value->value.constructor = NULL;
+ value->ts = comp->ts;
+ value->where = gfc_current_locus;
+
+ if (build_actual_constructor (comp_head, &value->value.constructor,
+ comp->ts.derived) == FAILURE)
+ {
+ gfc_free_expr (value);
+ return FAILURE;
+ }
+ *ctor_head = ctor_tail = gfc_get_constructor ();
+ ctor_tail->expr = value;
+ continue;
+ }
+
+ /* If it was not found, try the default initializer if there's any;
+ otherwise, it's an error. */
+ if (!comp_iter)
+ {
+ if (comp->initializer)
+ {
+ if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: Structure"
+ " constructor with missing optional arguments"
+ " at %C") == FAILURE)
+ return FAILURE;
+ value = gfc_copy_expr (comp->initializer);
+ }
+ else
+ {
+ gfc_error ("No initializer for component '%s' given in the"
+ " structure constructor at %C!", comp->name);
+ return FAILURE;
+ }
+ }
+ else
+ value = comp_iter->val;
+
+ /* Add the value to the constructor chain built. */
+ if (ctor_tail)
+ {
+ ctor_tail->next = gfc_get_constructor ();
+ ctor_tail = ctor_tail->next;
+ }
+ else
+ *ctor_head = ctor_tail = gfc_get_constructor ();
+ gcc_assert (value);
+ ctor_tail->expr = value;
+
+ /* Remove the entry from the component list. We don't want the expression
+ value to be free'd, so set it to NULL. */
+ if (comp_iter)
+ {
+ *next_ptr = comp_iter->next;
+ comp_iter->val = NULL;
+ gfc_free_structure_ctor_component (comp_iter);
+ }
+ }
+ return SUCCESS;
+ }
+
+ match
+ gfc_match_structure_constructor (gfc_symbol *sym, gfc_expr **result, bool parent)
+ {
+ gfc_structure_ctor_component *comp_tail, *comp_head, *comp_iter;
gfc_constructor *ctor_head, *ctor_tail;
gfc_component *comp; /* Is set NULL when named component is first seen */
gfc_expr *e;
*************** gfc_match_structure_constructor (gfc_sym
*** 1996,2005 ****
match m;
const char* last_name = NULL;
! comp_head = comp_tail = NULL;
ctor_head = ctor_tail = NULL;
! if (gfc_match_char ('(') != MATCH_YES)
goto syntax;
where = gfc_current_locus;
--- 2088,2097 ----
match m;
const char* last_name = NULL;
! comp_tail = comp_head = NULL;
ctor_head = ctor_tail = NULL;
! if (!parent && gfc_match_char ('(') != MATCH_YES)
goto syntax;
where = gfc_current_locus;
*************** gfc_match_structure_constructor (gfc_sym
*** 2047,2053 ****
if (last_name)
gfc_error ("Component initializer without name after"
" component named %s at %C!", last_name);
! else
gfc_error ("Too many components in structure constructor at"
" %C!");
goto cleanup;
--- 2139,2145 ----
if (last_name)
gfc_error ("Component initializer without name after"
" component named %s at %C!", last_name);
! else if (!parent)
gfc_error ("Too many components in structure constructor at"
" %C!");
goto cleanup;
*************** gfc_match_structure_constructor (gfc_sym
*** 2057,2095 ****
strncpy (comp_tail->name, comp->name, GFC_MAX_SYMBOL_LEN + 1);
}
! /* Find the current component in the structure definition; this is
! needed to get its access attribute in the private check below. */
if (comp)
! this_comp = comp;
else
{
! for (comp = sym->components; comp; comp = comp->next)
! if (!strcmp (comp->name, comp_tail->name))
! {
! this_comp = comp;
! break;
! }
comp = NULL; /* Reset needed! */
-
- /* Here we can check if a component name is given which does not
- correspond to any component of the defined structure. */
- if (!this_comp)
- {
- gfc_error ("Component '%s' in structure constructor at %C"
- " does not correspond to any component in the"
- " constructed structure!", comp_tail->name);
- goto cleanup;
- }
}
- gcc_assert (this_comp);
! /* Check the current component's access status. */
! if (sym->attr.use_assoc && this_comp->access == ACCESS_PRIVATE)
! {
! gfc_error ("Component '%s' is PRIVATE in structure constructor"
! " at %C!", comp_tail->name);
! goto cleanup;
! }
/* Check if this component is already given a value. */
for (comp_iter = comp_head; comp_iter != comp_tail;
--- 2149,2168 ----
strncpy (comp_tail->name, comp->name, GFC_MAX_SYMBOL_LEN + 1);
}
! /* Find the current component in the structure definition and check its
! access is not private. */
if (comp)
! this_comp = gfc_find_component (sym, comp->name);
else
{
! this_comp = gfc_find_component (sym, (const char *)comp_tail->name);
comp = NULL; /* Reset needed! */
}
! /* Here we can check if a component name is given which does not
! correspond to any component of the defined structure. */
! if (!this_comp)
! goto cleanup;
/* Check if this component is already given a value. */
for (comp_iter = comp_head; comp_iter != comp_tail;
*************** gfc_match_structure_constructor (gfc_sym
*** 2111,2199 ****
if (m == MATCH_ERROR)
goto cleanup;
! if (comp)
comp = comp->next;
}
while (gfc_match_char (',') == MATCH_YES);
! if (gfc_match_char (')') != MATCH_YES)
goto syntax;
-
- /* If there were components given and all components are private, error
- out at this place. */
- if (sym->attr.use_assoc && sym->component_access == ACCESS_PRIVATE)
- {
- gfc_error ("All components of '%s' are PRIVATE in structure"
- " constructor at %C", sym->name);
- goto cleanup;
- }
}
! /* Translate the component list into the actual constructor by sorting it in
! the order required; this also checks along the way that each and every
! component actually has an initializer and handles default initializers
! for components without explicit value given. */
! for (comp = sym->components; comp; comp = comp->next)
! {
! gfc_structure_ctor_component **next_ptr;
! gfc_expr *value = NULL;
! /* Try to find the initializer for the current component by name. */
! next_ptr = &comp_head;
for (comp_iter = comp_head; comp_iter; comp_iter = comp_iter->next)
{
! if (!strcmp (comp_iter->name, comp->name))
! break;
! next_ptr = &comp_iter->next;
! }
!
! /* If it was not found, try the default initializer if there's any;
! otherwise, it's an error. */
! if (!comp_iter)
! {
! if (comp->initializer)
! {
! if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: Structure"
! " constructor with missing optional arguments"
! " at %C") == FAILURE)
! goto cleanup;
! value = gfc_copy_expr (comp->initializer);
! }
! else
! {
! gfc_error ("No initializer for component '%s' given in the"
! " structure constructor at %C!", comp->name);
! goto cleanup;
! }
! }
! else
! value = comp_iter->val;
!
! /* Add the value to the constructor chain built. */
! if (ctor_tail)
! {
! ctor_tail->next = gfc_get_constructor ();
! ctor_tail = ctor_tail->next;
! }
! else
! ctor_head = ctor_tail = gfc_get_constructor ();
! gcc_assert (value);
! ctor_tail->expr = value;
!
! /* Remove the entry from the component list. We don't want the expression
! value to be free'd, so set it to NULL. */
! if (comp_iter)
! {
! *next_ptr = comp_iter->next;
! comp_iter->val = NULL;
! gfc_free_structure_ctor_component (comp_iter);
}
}
!
! /* No component should be left, as this should have caused an error in the
! loop constructing the component-list (name that does not correspond to any
! component in the structure definition). */
! gcc_assert (!comp_head);
e = gfc_get_expr ();
--- 2184,2239 ----
if (m == MATCH_ERROR)
goto cleanup;
! /* If not explicitly a parent constructor, gather up the components
! and build one. */
! if (comp && comp == sym->components
! && sym->attr.extension
! && (comp_tail->val->ts.type != BT_DERIVED
! ||
! comp_tail->val->ts.derived != this_comp->ts.derived))
! {
! gfc_current_locus = where;
! gfc_free_expr (comp_tail->val);
!
! m = gfc_match_structure_constructor (comp->ts.derived,
! &comp_tail->val, true);
! if (m == MATCH_NO)
! goto syntax;
! if (m == MATCH_ERROR)
! goto cleanup;
! }
!
! if (comp)
comp = comp->next;
+
+ if (parent && !comp)
+ break;
}
+
while (gfc_match_char (',') == MATCH_YES);
! if (!parent && gfc_match_char (')') != MATCH_YES)
goto syntax;
}
! if (build_actual_constructor (&comp_head, &ctor_head, sym) == FAILURE)
! goto cleanup;
! /* No component should be left, as this should have caused an error in the
! loop constructing the component-list (name that does not correspond to any
! component in the structure definition). */
! if (comp_head && sym->attr.extension)
! {
for (comp_iter = comp_head; comp_iter; comp_iter = comp_iter->next)
{
! gfc_error ("component '%s' at %L has already been set by a "
! "parent derived type constructor", comp_iter->name,
! &comp_iter->where);
}
+ goto cleanup;
}
! else
! gcc_assert (!comp_head);
e = gfc_get_expr ();
*************** gfc_match_rvalue (gfc_expr **result)
*** 2396,2402 ****
if (sym == NULL)
m = MATCH_ERROR;
else
! m = gfc_match_structure_constructor (sym, &e);
break;
/* If we're here, then the name is known to be the name of a
--- 2436,2442 ----
if (sym == NULL)
m = MATCH_ERROR;
else
! m = gfc_match_structure_constructor (sym, &e, false);
break;
/* If we're here, then the name is known to be the name of a
Index: gcc/testsuite/ChangeLog
===================================================================
*** gcc/testsuite/ChangeLog (revision 138273)
--- gcc/testsuite/ChangeLog (working copy)
***************
*** 1,3 ****
--- 1,15 ----
+ 2008-07-29 Paul Thomas <pault@gcc.gnu.org>
+
+ * gfortran.dg/extends_1.f03: New test.
+ * gfortran.dg/extends_2.f03: New test.
+ * gfortran.dg/extends_3.f03: New test.
+ * gfortran.dg/extends_4.f03: New test.
+ * gfortran.dg/extends_5.f03: New test.
+ * gfortran.dg/extends_6.f03: New test.
+ * gfortran.dg/private_type_6.f90: Modify error message.
+ * gfortran.dg/structure_constructor_7.f03: Modify error message.
+ * gfortran.dg/structure_constructor_8.f03: Modify error message.
+
2008-07-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36945
Index: gcc/testsuite/gfortran.dg/extends_1.f03
===================================================================
*** gcc/testsuite/gfortran.dg/extends_1.f03 (revision 0)
--- gcc/testsuite/gfortran.dg/extends_1.f03 (revision 0)
***************
*** 0 ****
--- 1,73 ----
+ ! { dg-do run }
+ ! A basic functional test of derived type extension.
+ !
+ ! Contributed by Paul Thomas <pault@gcc.gnu.org>
+ !
+ module persons
+ type :: person
+ character(24) :: name = ""
+ integer :: ss = 1
+ end type person
+ end module persons
+
+ module person_education
+ use persons
+ type, extends(person) :: education
+ integer :: attainment = 0
+ character(24) :: institution = ""
+ end type education
+ end module person_education
+
+ use person_education
+ type, extends(education) :: service
+ integer :: personnel_number = 0
+ character(24) :: department = ""
+ end type service
+
+ type, extends(service) :: person_record
+ type (person_record), pointer :: supervisor => NULL ()
+ end type person_record
+
+ type(person_record), pointer :: recruit, supervisor
+
+ ! Check that references by ultimate component work
+
+ allocate (supervisor)
+ supervisor%name = "Joe Honcho"
+ supervisor%ss = 123455
+ supervisor%attainment = 100
+ supervisor%institution = "Celestial University"
+ supervisor%personnel_number = 1
+ supervisor%department = "Directorate"
+
+ recruit => entry ("John Smith", 123456, 1, "Bog Hill High School", &
+ 99, "Records", supervisor)
+
+ if (trim (recruit%name) /= "John Smith") call abort
+ if (recruit%name /= recruit%service%name) call abort
+ if (recruit%supervisor%ss /= 123455) call abort
+ if (recruit%supervisor%ss /= supervisor%person%ss) call abort
+
+ deallocate (supervisor)
+ deallocate (recruit)
+ contains
+ function entry (name, ss, attainment, institution, &
+ personnel_number, department, supervisor) result (new_person)
+ integer :: ss, attainment, personnel_number
+ character (*) :: name, institution, department
+ type (person_record), pointer :: supervisor, new_person
+
+ allocate (new_person)
+
+ ! Check mixtures of references
+ new_person%person%name = name
+ new_person%service%education%person%ss = ss
+ new_person%service%attainment = attainment
+ new_person%education%institution = institution
+ new_person%personnel_number = personnel_number
+ new_person%service%department = department
+ new_person%supervisor => supervisor
+ end function
+ end
+
+ ! { dg-final { cleanup-modules "persons person_education" } }
Index: gcc/testsuite/gfortran.dg/extends_2.f03
===================================================================
*** gcc/testsuite/gfortran.dg/extends_2.f03 (revision 0)
--- gcc/testsuite/gfortran.dg/extends_2.f03 (revision 0)
***************
*** 0 ****
--- 1,66 ----
+ ! { dg-do run }
+ ! A test of f95 style constructors with derived type extension.
+ !
+ ! Contributed by Paul Thomas <pault@gcc.gnu.org>
+ !
+ module persons
+ type :: person
+ character(24) :: name = ""
+ integer :: ss = 1
+ end type person
+ end module persons
+
+ module person_education
+ use persons
+ type, extends(person) :: education
+ integer :: attainment = 0
+ character(24) :: institution = ""
+ end type education
+ end module person_education
+
+ use person_education
+ type, extends(education) :: service
+ integer :: personnel_number = 0
+ character(24) :: department = ""
+ end type service
+
+ type, extends(service) :: person_record
+ type (person_record), pointer :: supervisor => NULL ()
+ end type person_record
+
+ type(person_record), pointer :: recruit, supervisor
+
+ ! Check that simple constructor works
+ allocate (supervisor)
+ supervisor%service = service ("Joe Honcho", 123455, 100, &
+ "Celestial University", 1, &
+ "Directorate")
+
+ recruit => entry ("John Smith", 123456, 1, "Bog Hill High School", &
+ 99, "Records", supervisor)
+
+ if (trim (recruit%name) /= "John Smith") call abort
+ if (recruit%name /= recruit%service%name) call abort
+ if (recruit%supervisor%ss /= 123455) call abort
+ if (recruit%supervisor%ss /= supervisor%person%ss) call abort
+
+ deallocate (supervisor)
+ deallocate (recruit)
+ contains
+ function entry (name, ss, attainment, institution, &
+ personnel_number, department, supervisor) result (new_person)
+ integer :: ss, attainment, personnel_number
+ character (*) :: name, institution, department
+ type (person_record), pointer :: supervisor, new_person
+
+ allocate (new_person)
+
+ ! Check nested constructors
+ new_person = person_record (education (person (name, ss), &
+ attainment, institution), &
+ personnel_number, department, &
+ supervisor)
+ end function
+ end
+
+ ! { dg-final { cleanup-modules "persons person_education" } }
Index: gcc/testsuite/gfortran.dg/extends_3.f03
===================================================================
*** gcc/testsuite/gfortran.dg/extends_3.f03 (revision 0)
--- gcc/testsuite/gfortran.dg/extends_3.f03 (revision 0)
***************
*** 0 ****
--- 1,71 ----
+ ! { dg-do run }
+ ! A test of f2k style constructors with derived type extension.
+ !
+ ! Contributed by Paul Thomas <pault@gcc.gnu.org>
+ !
+ module persons
+ type :: person
+ character(24) :: name = ""
+ integer :: ss = 1
+ end type person
+ end module persons
+
+ module person_education
+ use persons
+ type, extends(person) :: education
+ integer :: attainment = 0
+ character(24) :: institution = ""
+ end type education
+ end module person_education
+
+ use person_education
+ type, extends(education) :: service
+ integer :: personnel_number = 0
+ character(24) :: department = ""
+ end type service
+
+ type, extends(service) :: person_record
+ type (person_record), pointer :: supervisor => NULL ()
+ end type person_record
+
+ type(person_record), pointer :: recruit, supervisor
+
+ ! Check that F2K constructor with missing entries works
+ allocate (supervisor)
+ supervisor%service = service (NAME = "Joe Honcho", SS= 123455)
+
+ recruit => entry ("John Smith", 123456, 1, "Bog Hill High School", &
+ 99, "Records", supervisor)
+
+ if (supervisor%ss /= 123455) call abort
+ if (trim (supervisor%name) /= "Joe Honcho") call abort
+ if (trim (supervisor%institution) /= "") call abort
+ if (supervisor%attainment /= 0) call abort
+
+ if (trim (recruit%name) /= "John Smith") call abort
+ if (recruit%name /= recruit%service%name) call abort
+ if (recruit%supervisor%ss /= 123455) call abort
+ if (recruit%supervisor%ss /= supervisor%person%ss) call abort
+
+ deallocate (supervisor)
+ deallocate (recruit)
+ contains
+ function entry (name, ss, attainment, institution, &
+ personnel_number, department, supervisor) result (new_person)
+ integer :: ss, attainment, personnel_number
+ character (*) :: name, institution, department
+ type (person_record), pointer :: supervisor, new_person
+
+ allocate (new_person)
+
+ ! Check F2K constructor with order shuffled a bit
+ new_person = person_record (NAME = name, SS =ss, &
+ DEPARTMENT = department, &
+ INSTITUTION = institution, &
+ PERSONNEL_NUMBER = personnel_number, &
+ ATTAINMENT = attainment, &
+ SUPERVISOR = supervisor)
+ end function
+ end
+
+ ! { dg-final { cleanup-modules "persons person_education" } }
Index: gcc/testsuite/gfortran.dg/extends_4.f03
===================================================================
*** gcc/testsuite/gfortran.dg/extends_4.f03 (revision 0)
--- gcc/testsuite/gfortran.dg/extends_4.f03 (revision 0)
***************
*** 0 ****
--- 1,52 ----
+ ! { dg-do run }
+ ! Check that derived type extension is compatible with renaming
+ ! the parent type and that allocatable components are OK. At
+ ! the same time, private type and components are checked.
+ !
+ ! Contributed by Paul Thomas <pault@gcc.gnu.org>
+ !
+ module mymod
+ type :: a
+ real, allocatable :: x(:)
+ integer, private :: ia = 0
+ end type a
+ type :: b
+ private
+ real, allocatable :: x(:)
+ integer :: i
+ end type b
+ contains
+ function set_b () result (res)
+ type(b) :: res
+ allocate (res%x(2))
+ res%x = [10.0, 20.0]
+ res%i = 1
+ end function
+ subroutine check_b (arg)
+ type(b) :: arg
+ if (any (arg%x /= [10.0, 20.0])) call abort
+ if (arg%i /= 1) call abort
+ end subroutine
+ end module mymod
+
+ use mymod, e => a
+ type, extends(e) :: f
+ integer :: if
+ end type f
+ type, extends(b) :: d
+ integer :: id
+ end type d
+
+ type(f) :: p
+ type(d) :: q
+
+ p = f (x = [1.0, 2.0], if = 3)
+ if (any (p%e%x /= [1.0, 2.0])) call abort
+
+ q%b = set_b ()
+ call check_b (q%b)
+ q = d (b = set_b (), id = 99)
+ call check_b (q%b)
+ end
+
+ ! { dg-final { cleanup-modules "persons person_education" } }
Index: gcc/testsuite/gfortran.dg/extends_5.f03
===================================================================
*** gcc/testsuite/gfortran.dg/extends_5.f03 (revision 0)
--- gcc/testsuite/gfortran.dg/extends_5.f03 (revision 0)
***************
*** 0 ****
--- 1,27 ----
+ ! { dg-do compile }
+ ! Some errors for derived type extension.
+ !
+ ! Contributed by Paul Thomas <pault@gcc.gnu.org>
+ !
+ module m
+ use iso_c_binding
+ type :: date
+ sequence
+ integer :: yr, mon
+ integer,public :: day
+ end type
+ type, bind(c) :: dt
+ integer(c_int) :: yr, mon
+ integer(c_int) :: day
+ end type
+ end module m
+
+ use m
+ type, extends(date) :: datetime ! { dg-error "because it is a SEQUENCE type" }
+ end type ! { dg-error "Expecting END PROGRAM" }
+
+ type, extends(dt) :: dt_type ! { dg-error "because it is BIND" }
+ end type ! { dg-error "Expecting END PROGRAM" }
+ end
+
+ ! { dg-final { cleanup-modules "m" } }
Index: gcc/testsuite/gfortran.dg/extends_6.f03
===================================================================
*** gcc/testsuite/gfortran.dg/extends_6.f03 (revision 0)
--- gcc/testsuite/gfortran.dg/extends_6.f03 (revision 0)
***************
*** 0 ****
--- 1,49 ----
+ ! { dg-do compile }
+ ! Some errors pointed out in the development of the patch.
+ !
+ ! Contributed by Tobias Burnus <burnus@net-b.de>
+ !
+ module m
+ type :: date
+ private
+ integer :: yr, mon
+ integer,public :: day
+ end type
+ type :: dt
+ integer :: yr, mon
+ integer :: day
+ end type
+ end module m
+
+ use m
+ type, extends(date) :: datetime
+ integer :: hr, min, sec
+ end type
+ type(datetime) :: o_dt
+
+ type :: one
+ integer :: i
+ end type one
+
+ type, extends(one) :: two
+ real :: r
+ end type two
+
+ o_dt%day = 5 ! VALID but failed in first version of EXTENDS patch
+ o_dt%yr = 5 ! { dg-error "All components of 'date' are PRIVATE" }
+
+ t = two(one = one(4), i = 5, r=4.4) ! { dg-error "has already been set" }
+
+ call foo
+ contains
+ subroutine foo
+ use m, date_type => dt
+ type, extends(date_type) :: dt_type
+ end type
+ type (dt_type) :: foo_dt
+ foo_dt%date_type%day = 1
+ foo_dt%dt%day = 1 ! { dg-error "not a member" }
+ end subroutine
+ end
+
+ ! { dg-final { cleanup-modules "m" } }
Index: gcc/testsuite/gfortran.dg/private_type_6.f90
===================================================================
*** gcc/testsuite/gfortran.dg/private_type_6.f90 (revision 138273)
--- gcc/testsuite/gfortran.dg/private_type_6.f90 (working copy)
*************** program foo_test
*** 19,25 ****
TYPE(footype) :: foo
TYPE(bartype) :: foo2
foo = footype(1) ! { dg-error "All components of 'footype' are PRIVATE" }
! foo2 = bartype(1,2) ! { dg-error "'dummy2' is PRIVATE" }
foo2%dummy2 = 5 ! { dg-error "is a PRIVATE component" }
end program foo_test
! { dg-final { cleanup-modules "foomod" } }
--- 19,25 ----
TYPE(footype) :: foo
TYPE(bartype) :: foo2
foo = footype(1) ! { dg-error "All components of 'footype' are PRIVATE" }
! foo2 = bartype(1,2) ! { dg-error "is a PRIVATE component" }
foo2%dummy2 = 5 ! { dg-error "is a PRIVATE component" }
end program foo_test
! { dg-final { cleanup-modules "foomod" } }
Index: gcc/testsuite/gfortran.dg/structure_constructor_7.f03
===================================================================
*** gcc/testsuite/gfortran.dg/structure_constructor_7.f03 (revision 138273)
--- gcc/testsuite/gfortran.dg/structure_constructor_7.f03 (working copy)
*************** PROGRAM test
*** 13,18 ****
TYPE(basics_t) :: basics
basics = basics_t (42, 1.5, 1000) ! { dg-error "Too many components" }
! basics = basics_t (42, xxx = 1000) ! { dg-error "Component 'xxx'" }
END PROGRAM test
--- 13,18 ----
TYPE(basics_t) :: basics
basics = basics_t (42, 1.5, 1000) ! { dg-error "Too many components" }
! basics = basics_t (42, xxx = 1000) ! { dg-error "is not a member" }
END PROGRAM test
Index: gcc/testsuite/gfortran.dg/structure_constructor_8.f03
===================================================================
*** gcc/testsuite/gfortran.dg/structure_constructor_8.f03 (revision 138273)
--- gcc/testsuite/gfortran.dg/structure_constructor_8.f03 (working copy)
*************** PROGRAM test
*** 47,54 ****
struct2 = allpriv_t ()
! These should fail
! struct1 = haspriv_t (1, 2) ! { dg-error "'b' is PRIVATE" }
! struct1 = haspriv_t (b = 2, a = 1) ! { dg-error "'b' is PRIVATE" }
! This should fail as all components are private
struct2 = allpriv_t (5) ! { dg-error "of 'allpriv_t' are PRIVATE" }
--- 47,54 ----
struct2 = allpriv_t ()
! These should fail
! struct1 = haspriv_t (1, 2) ! { dg-error "is a PRIVATE component" }
! struct1 = haspriv_t (b = 2, a = 1) ! { dg-error "is a PRIVATE component" }
! This should fail as all components are private
struct2 = allpriv_t (5) ! { dg-error "of 'allpriv_t' are PRIVATE" }
........
r138277 | sje | 2008-07-29 15:32:32 -0700 (Tue, 29 Jul 2008) | 2 lines
* gcc.dg/pr32370.c: Force 64 bits on IA64.
........
r138289 | gccadmin | 2008-07-29 17:16:57 -0700 (Tue, 29 Jul 2008) | 1 line
Daily bump.
........
r138291 | amodra | 2008-07-29 19:43:05 -0700 (Tue, 29 Jul 2008) | 5 lines
PR target/36955
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add
a use of pic_offset_table_rtx for -msecure-plt __tls_get_addr calls.
........
r138293 | rwild | 2008-07-29 22:28:53 -0700 (Tue, 29 Jul 2008) | 30 lines
gcc/ada/
PR documentation/15479
* gnat-style.texi: Remove AdaCore copyright statement and GPL
statement for GNAT. Add @copying stanza, use it. Update to
GFDL 1.2. Do not list GFDL as Invariant Section, do not list
title as Front-Cover Text.
* gnat_rm.texi: Likewise.
* gnat_ugn.texi: Likewise.
gcc/
* doc/cpp.texi: Update to GFDL 1.2.
* doc/gcc.texi: Do not list GPL as Invariant Section.
* doc/gccint.texi: Likewise. Update copyright years.
* doc/install.texi: Update copyright years.
gcc/fortran/
* gfc-internals.texi: Update to GFDL 1.2. Do not list GPL as
Invariant Section.
* gfortran.texi: Likewise.
* intrinsic.texi: Do not list GPL as Invariant Section.
* invoke.texi: Likewise. Update copyright years.
gcc/java/
* gcj.texi: Update copyright years. Do not list GPL as
Invariant Section.
libgomp/
* libgomp.texi: Update to GFDL 1.2. Update copyright years.
Do not list GPL as Invariant Section.
........
r138294 | guerby | 2008-07-29 23:45:39 -0700 (Tue, 29 Jul 2008) | 18 lines
gcc/ChangeLog
2008-07-29 Laurent Guerby <laurent@guerby.net>
PR ada/5911
* gnattools/Makefile.in: Replace stamp-gnatlib by
stamp-gnatlib-rts.
gcc/ada/ChangeLog
2008-07-29 Laurent Guerby <laurent@guerby.net>
PR ada/5911
* gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
Replace stamp-gnatlib* by stamp-gnatlib*-rts.
* gcc-interface/Make-lang.in: Replace stamp-gnatlib2
by stamp-gnatlib2-rts.
........
r138295 | hainque | 2008-07-30 00:44:09 -0700 (Wed, 30 Jul 2008) | 5 lines
* scan.c (make_sstring_space): Add explicit conversions of
allocator's return value.
* fix-header.c (recognized_function): Likewise.
........
r138296 | manu | 2008-07-30 01:30:32 -0700 (Wed, 30 Jul 2008) | 15 lines
2008-07-30 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 34389
* c-typeck.c (build_binary_op): Encapsulate code into...
* c-common.c (shorten_binary_op): ...this new function.
(conversion_warning): Use the new function. Handle non-negative
constant in bitwise-and.
* c-common.h (shorten_binary_op): Declare.
cp/
* typeck.c (build_binary_op): Encapsulate code into
shorten_binary_op.
testsuite/
* gcc.dg/Wconversion-pr34389.c: New.
* g++.dg/warn/Wconversion-pr34389.C: New.
........
r138297 | hainque | 2008-07-30 03:13:46 -0700 (Wed, 30 Jul 2008) | 5 lines
* config/mips/irix-crti.asm: .hide __gcc_init and __gcc_fini.
* config/mips/iris6.h (IRIX_SUBTARGET_LINK_SPEC, irix ld): Hide
__dso_handle explicitly here.
........
r138298 | hainque | 2008-07-30 03:15:19 -0700 (Wed, 30 Jul 2008) | 3 lines
Fix date on entry headline.
........
r138300 | bonzini | 2008-07-30 05:09:47 -0700 (Wed, 30 Jul 2008) | 2 lines
move wrong gcc/ChangeLog entry to gnattools/ChangeLog
........
r138301 | bonzini | 2008-07-30 05:17:17 -0700 (Wed, 30 Jul 2008) | 55 lines
2008-07-30 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Add makefile fragments for hpux.
* Makefile.def (flags_to_pass): Add ADA_CFLAGS.
* Makefile.tpl (HOST_EXPORTS): Pass ADA_CFLAGS.
* configure: Regenerate.
* Makefile.in: Regenerate.
config:
2008-07-30 Paolo Bonzini <bonzini@gnu.org>
* mh-pa: New, from gcc/config/pa/x-ada.
* mh-pa-hpux10: New, from gcc/config/pa/x-ada-hpux10.
gcc:
2008-07-30 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Substitute ADA_CFLAGS.
* configure: Regenerate.
* config.host: Remove mention of pa/x-ada and pa/x-ada-hpux10 files.
* Makefile.in: Remove mention of X_* variables.
* config/pa/x-ada-hpux10: Remove.
* config/pa/x-ada: Remove.
* doc/fragments.texi: Update.
gcc/ada:
2008-07-30 Paolo Bonzini <bonzini@gnu.org>
* gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
(ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
* gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
ALL_ADA_CFLAGS): Remove.
(ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
replace ALL_ADA_CFLAGS with ADA_CFLAGS.
(GCC_CFLAGS): Remove X_CFLAGS.
(LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
(ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
(ADA_CFLAGS): Substitute.
gnattools:
2008-07-30 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (x_ada_cflags): Remove.
(ADA_CFLAGS): Substitute.
* configure: Regenerate.
* Makefile.in (ADA_CFLAGS): Substitute.
(T_ADA_CFLAGS, X_ADA_CFLAGS, ALL_ADA_CFLAGS): Remove.
(TOOLS_FLAGS_TO_PASS_1, TOOLS_FLAGS_TO_PASS_1re,
TOOLS_FLAGS_TO_PASS_NATIVE, TOOLS_FLAGS_TO_PASS_CROSS):
Pass ADA_CFLAGS.
........
r138302 | charlet | 2008-07-30 06:02:21 -0700 (Wed, 30 Jul 2008) | 4 lines
2008-07-30 Robert Dewar <dewar@adacore.com>
* make.adb: Minor reformatting
........
r138303 | charlet | 2008-07-30 06:02:30 -0700 (Wed, 30 Jul 2008) | 4 lines
2008-07-30 Robert Dewar <dewar@adacore.com>
* mlib-utl.adb: Minor reformatting
........
r138304 | charlet | 2008-07-30 06:02:39 -0700 (Wed, 30 Jul 2008) | 4 lines
2008-07-30 Robert Dewar <dewar@adacore.com>
* osint.ads: Minor reformatting
........
r138305 | charlet | 2008-07-30 06:03:32 -0700 (Wed, 30 Jul 2008) | 32 lines
2008-07-30 Jose Ruiz <ruiz@adacore.com>
* adaint.c
(__gnat_file_exists): Do not use __gnat_stat for RTX.
(__main for RTX in RTSS mode): Create this dummy procedure symbol to
avoid the use of this symbol from libgcc.a in RTX kernel mode.
* cio.c
(put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
the function RtPrintf for console output.
* argv.c Do not use the environ variable for RTX.
* gnatlink.adb (gnatlink): The part that handles the --RTS option has
been moved before the call to Osint.Add_Default_Search_Dirs in order
to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
from the appropriate run time.
* targparm.ads
(RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
target is a RTSS module for RTX.
* targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
RTX_RTSS_Kernel_Module
(Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
exception handling mechanism for Windows and RTX in Win32 mode, but
not for RTX in kernel mode (RTSS).
(LIBGNAT_SRCS): Remove ada.h
........
r138306 | charlet | 2008-07-30 06:04:41 -0700 (Wed, 30 Jul 2008) | 2 lines
Resync
........
r138307 | charlet | 2008-07-30 06:06:45 -0700 (Wed, 30 Jul 2008) | 21 lines
2008-07-30 Doug Rupp <rupp@adacore.com>
* gigi.h (build_vms_descriptor64): New function prototype.
(fill_vms_descriptor): Modified function prototype.
* utils.c (build_vms_descriptor64): New function.
* utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
* trans.c (call_to_gnu): Call fill_vms_descriptor with new third
argument.
* decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
64bit and 32bit descriptor and save the 64bit version as an alternate
TREE_TYPE in the parameter.
(make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
thin pointer.
* ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
........
r138308 | dodji | 2008-07-30 06:07:50 -0700 (Wed, 30 Jul 2008) | 9 lines
2008-07-30 Dodji Seketeli <dseketel@redhat.com>
PR c++/36767
* decl2.c (fix_temporary_vars_context_r): New function.
(one_static_initialization_or_destruction): Make sure temporary
variables part of the initialiser have their DECL_CONTEXT()
properly set.
........
r138310 | espindola | 2008-07-30 06:59:58 -0700 (Wed, 30 Jul 2008) | 15 lines
2008-07-30 Rafael Avila de Espindola <espindola@google.com>
* final.c (call_from_call_insn): New.
(final_scan_insn): Call assemble_external on FUNCTION_DECLs.
2008-07-30 Rafael Avila de Espindola <espindola@google.com>
* gcc.dg/visibility-14.c: New test.
* gcc.dg/visibility-15.c: New test.
* gcc.dg/visibility-16.c: New test.
* gcc.dg/visibility-17.c: New test.
* gcc.dg/visibility-18.c: New test.
* gcc.dg/visibility-19.c: New test.
........
r138313 | bonzini | 2008-07-30 07:57:07 -0700 (Wed, 30 Jul 2008) | 8 lines
config: sync with src
2008-07-25 Keith Seitz <keiths@redhat.com>
* acinclude.m4: Remove libide, libgui, and all the other Tcl
functions.
* tcl.m4: New file.
........
r138314 | bonzini | 2008-07-30 08:04:24 -0700 (Wed, 30 Jul 2008) | 2 lines
sync with src
........
r138316 | froydnj | 2008-07-30 08:30:59 -0700 (Wed, 30 Jul 2008) | 5 lines
PR target/35866
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Add clause for
vector modes.
........
r138317 | froydnj | 2008-07-30 08:32:34 -0700 (Wed, 30 Jul 2008) | 3 lines
* config/arm/arm.c (arm_expand_prologue): Use 0-length rtvec
instead of NULL_RTVEC.
........
r138318 | rguenth | 2008-07-30 08:43:42 -0700 (Wed, 30 Jul 2008) | 8 lines
2008-07-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36967
* tree-predcom.c (remove_stmt): Use gimple_assign_ssa_name_copy_p.
Release defs of statements we remove.
* gfortran.dg/pr36967.f: New testcase.
........
r138320 | charlet | 2008-07-30 08:52:36 -0700 (Wed, 30 Jul 2008) | 4 lines
2008-07-30 Robert Dewar <dewar@adacore.com>
* gnatlink.adb: Minor reformatting
........
r138321 | charlet | 2008-07-30 08:52:47 -0700 (Wed, 30 Jul 2008) | 7 lines
2008-07-30 Thomas Quinot <quinot@adacore.com>
* rtsfind.adb (Check_RPC): Check version consistency even when not
generating RCI stubs. Provide more detailed error message in case of
mismatch.
........
r138322 | charlet | 2008-07-30 08:52:58 -0700 (Wed, 30 Jul 2008) | 11 lines
2008-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
as a actual in an instance, check for a missing attribute to prevent
program_error on an illegal program.
* exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
error if primitive is not found, so that exception can be handled
elsewhere on illegal programs.
........
r138323 | charlet | 2008-07-30 08:53:08 -0700 (Wed, 30 Jul 2008) | 4 lines
2008-07-30 Robert Dewar <dewar@adacore.com>
* uintp.adb (UI_GCD): Fix potential overflow
........
r138324 | charlet | 2008-07-30 08:53:21 -0700 (Wed, 30 Jul 2008) | 59 lines
2008-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb: Flag245 is now used.
(Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
check to include functions.
(Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
(Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
include functions.
(Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
to the list of displayed flags.
* einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
Wrapped_Entity. These two flags are now present in functions.
New flag Is_Private_Primitive.
(Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
* exp_ch9.adb:
(Build_Wrapper_Bodies): New subprogram.
(Build_Wrapper_Body): The spec and body have been moved to in
Build_Wrapper_ Bodies. Code cleanup.
(Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
Wrappers are now generated for primitives declared between the private
and full view of a concurrent type that implements an interface.
(Build_Wrapper_Specs): New subprogram.
(Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
creation mechanism with a call to Build_Wrapper_Bodies.
(Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
(Expand_N_Task_Body): Replace the wrapper body creation
mechanism with a call to Build_Wrapper_Bodies.
(Expand_N_Task_Type_Declaration): Replace the wrapper spec
creation mechanism with a call to Build_Wrapper_Specs.
(Is_Private_Primitive_Subprogram): New subprogram.
(Overriding_Possible): Code cleanup.
(Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
* exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
* sem_ch3.adb: Add with and use clause for Exp_Ch9.
(Process_Full_View): Build wrapper specs for all primitives
that belong to a private view completed by a concurrent type
implementing an interface.
* sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
is a primitive of a
concurrent type with a private view that implements an interface, try to
find the proper spec.
(Analyze_Subprogram_Declaration): Mark a subprogram as a private
primitive if the type of its first parameter is a non-generic tagged
private type.
(Analyze_Subprogram_Specification): Code reformatting.
(Disambiguate_Spec): New routine.
(Find_Corresponding_Spec): Add a flag to controll the output of errors.
(Is_Private_Concurrent_Primitive): New routine.
* sem_ch6.ads:
(Find_Corresponding_Spec): Add a formal to control the output of errors.
........
r138325 | charlet | 2008-07-30 08:56:34 -0700 (Wed, 30 Jul 2008) | 2 lines
Resync.
........
r138327 | andrewjenner | 2008-07-30 09:28:01 -0700 (Wed, 30 Jul 2008) | 12 lines
* config/arm/arm.c (arm_compute_static_chain_stack_bytes): New
function.
(arm_compute_initial_elimination_offset): Use it.
(arm_compute_save_reg_mask): Include static chain save slot when
calculating alignment.
(arm_get_frame_offsets): Ditto.
(thumb1_compute_save_reg_mask): Ensure we have a low register saved
that we can use to decrement the stack when the stack decrement
could be too big for an immediate value in a single insn.
(thumb1_expand_prologue): Avoid using r12 for stack decrement.
........
r138328 | charlet | 2008-07-30 10:38:04 -0700 (Wed, 30 Jul 2008) | 4 lines
2008-07-30 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb: Minor reformatting
........
r138329 | charlet | 2008-07-30 10:38:16 -0700 (Wed, 30 Jul 2008) | 8 lines
2008-07-30 Robert Dewar <dewar@adacore.com>
* exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
if no primitive operation is found.
* exp_util.adb: (Find_Prim_Op): Add comments for previous change
........
r138330 | charlet | 2008-07-30 10:38:25 -0700 (Wed, 30 Jul 2008) | 4 lines
2008-07-30 Robert Dewar <dewar@adacore.com>
* sem_ch8.adb: Minor reformatting
........
r138331 | charlet | 2008-07-30 10:38:55 -0700 (Wed, 30 Jul 2008) | 11 lines
2008-07-30 Laurent Pautet <pautet@adacore.com>
* g-pehage.adb:
Remove a limitation on the length of the words handled by the minimal
perfect hash function generator.
* g-pehage.ads:
Detail the use of subprograms Insert, Initialize, Compute and Finalize.
Fix some typos.
........
r138332 | charlet | 2008-07-30 10:39:56 -0700 (Wed, 30 Jul 2008) | 2 lines
Resync.
........
r138333 | schwab | 2008-07-30 11:22:50 -0700 (Wed, 30 Jul 2008) | 5 lines
PR rtl-optimization/36929
* dse.c (replace_inc_dec): Use emit_insn_before instead of
add_insn_before and fix argument order.
(replace_inc_dec_mem): Handle NULL rtx.
........
r138335 | hjl | 2008-07-30 12:20:43 -0700 (Wed, 30 Jul 2008) | 166 lines
2008-07-30 Joey Ye <joey.ye@intel.com>
H.J. Lu <hongjiu.lu@intel.com>
* builtins.c (expand_builtin_setjmp_receiver): Replace
virtual_incoming_args_rtx with crtl->args.internal_arg_pointer.
(expand_builtin_apply_args_1): Likewise.
(expand_builtin_longjmp): Need DRAP for stack alignment.
(expand_builtin_apply): Likewise.
* caller-save.c (setup_save_areas): Call assign_stack_local_1
instead of assign_stack_local to allow alignment reduction.
* calls.c (emit_call_1): Need DRAP for stack alignment if
return pops.
(expand_call): Replace virtual_incoming_args_rtx with
crtl->args.internal_arg_pointer.
* stmt.c (expand_nl_goto_receiver): Likewise.
* cfgexpand.c (get_decl_align_unit): Estimate stack variable
alignment and store to stack_alignment_estimated and
max_used_stack_slot_alignment.
(expand_one_var): Likewise.
(expand_stack_alignment): New function.
(tree_expand_cfg): Initialize max_used_stack_slot_alignment
and stack_alignment_estimated fields in rtl_data. Call
expand_stack_alignment at end.
* defaults.h (INCOMING_STACK_BOUNDARY): New.
(MAX_STACK_ALIGNMENT): Likewise.
(MAX_SUPPORTED_STACK_ALIGNMENT): Likewise.
(SUPPORTS_STACK_ALIGNMENT): Likewise.
* emit-rtl.c (gen_reg_rtx): Estimate stack alignment for
stack alignment when generating virtual registers.
* function.c (assign_stack_local): Renamed to ...
(assign_stack_local_1): This. Add a parameter to indicate
if it is OK to reduce alignment.
(assign_stack_local): Use it.
(instantiate_new_reg): Instantiate virtual incoming args rtx
to vDRAP if stack realignment and DRAP is needed.
(assign_parms): Collect parameter/return type alignment and
contribute to stack_alignment_estimated.
(locate_and_pad_parm): Likewise.
(get_arg_pointer_save_area): Replace virtual_incoming_args_rtx
with crtl->args.internal_arg_pointer.
* function.h (rtl_data): Add new field drap_reg,
max_used_stack_slot_alignment, stack_alignment_estimated,
stack_realign_needed, need_drap, stack_realign_processed and
stack_realign_finalized.
(stack_realign_fp): New macro.
(stack_realign_drap): Likewise.
* global.c (compute_regsets): Frame pointer is needed when
stack is realigned. Can eliminate frame pointer when stack is
realigned and dynamic realigned argument pointer isn't used.
* reload1.c (update_eliminables): Frame pointer is needed
when stack is realigned.
(init_elim_table): Can eliminate frame pointer when stack is
realigned and dynamic realigned argument pointer isn't used.
* rtl.h (assign_stack_local_1): Declare new funtion.
* target-def.h (TARGET_UPDATE_STACK_BOUNDARY): New.
(TARGET_GET_DRAP_RTX): Likewise.
(TARGET_CALLS): Add TARGET_UPDATE_STACK_BOUNDARY and
TARGET_GET_DRAP_RTX.
* target.h (gcc_target): Add update_stack_boundary and
get_drap_rtx.
* tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
STACK_BOUNDARY with MAX_STACK_ALIGNMENT.
2008-07-30 Xuepeng Guo <xuepeng.guo@intel.com>
H.J. Lu <hongjiu.lu@intel.com>
* dwarf2out.c (dw_fde_struct): Add stack_realignment, drap_reg,
vdrap_reg, stack_realign and drap_reg_saved.
(add_cfi): Don't allow redefining CFA when DRAP is used.
(reg_save): Handle stack alignment.
(dwarf2out_frame_debug_expr): Add rules 16-20 to handle stack
alignment. Don't generate DWARF information for (set fp sp)
when DRAP is used.
(dwarf2out_begin_prologue): Initialize drap_reg and vdrap_reg
to INVALID_REGNUM.
(int_loc_descriptor): Move prototype forward. Also define if
DWARF2_UNWIND_INFO is true.
(output_cfa_loc): Handle DW_CFA_expression.
(build_cfa_aligned_loc): New.
(based_loc_descr): Update assert for stack realign. For local
variables, use sp+offset when stack is aligned without drap and
fp+offset when stack is aligned with drap. For arguments, use
cfa+offset when drap is used to align stack.
2008-07-30 Joey Ye <joey.ye@intel.com>
H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_force_align_arg_pointer_string):
Break long line.
(ix86_gen_andsp): New.
(ix86_user_incoming_stack_boundary): Likewise.
(ix86_default_incoming_stack_boundary): Likewise.
(ix86_incoming_stack_boundary): Likewise.
(ix86_can_eliminate): Likewise.
(find_drap_reg): Likewise.
(ix86_update_stack_boundary): Likewise.
(ix86_get_drap_rtx): Likewise.
(ix86_finalize_stack_realign_flags): Likewise.
(TARGET_UPDATE_STACK_BOUNDARY): Likewise.
(TARGET_GET_DRAP_RTX): Likewise.
(override_options): Overide option value for new options.
(ix86_function_ok_for_sibcall): Remove check for
force_align_arg_pointer.
(ix86_handle_cconv_attribute): Likewise.
(ix86_function_regparm): Likewise.
(setup_incoming_varargs_64): Don't set stack_alignment_needed
here.
(ix86_va_start): Replace virtual_incoming_args_rtx with
crtl->args.internal_arg_pointer.
(ix86_select_alt_pic_regnum): Check DRAP register.
(ix86_save_reg): Replace force_align_arg_pointer with drap_reg.
(ix86_compute_frame_layout): Compute frame layout wrt stack
realignment.
(ix86_internal_arg_pointer): Just return
virtual_incoming_args_rtx.
(ix86_expand_prologue): Decide if stack realignment is needed
and generate prologue code accordingly.
(ix86_expand_epilogue): Generate epilogue code wrt stack
realignment is really needed or not.
* config/i386/i386.h (MAIN_STACK_BOUNDARY): New.
(ABI_STACK_BOUNDARY): Likewise.
(PREFERRED_STACK_BOUNDARY_DEFAULT): Likewise.
(STACK_REALIGN_DEFAULT): Likewise.
(INCOMING_STACK_BOUNDARY): Likewise.
(MAX_STACK_ALIGNMENT): Likewise.
(ix86_incoming_stack_boundary): Likewise.
(FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Removed.
(REAL_PIC_OFFSET_TABLE_REGNUM): Updated to use BX_REG.
(CAN_ELIMINATE): Defined with ix86_can_eliminate.
(machine_function): Remove force_align_arg_pointer.
* config/i386/i386.md (BX_REG): New.
(R13_REG): Likewise.
* config/i386/i386.opt (mforce_drap): New.
(mincoming-stack-boundary): Likewise.
(mstackrealign): Add Init(-1).
* config/i386/i386-protos.h (ix86_can_eliminate): New
2008-07-30 H.J. Lu <hongjiu.lu@intel.com>
* doc/extend.texi: Update force_align_arg_pointer.
* doc/invoke.texi: Document -mincoming-stack-boundary. Update
-mstackrealign.
* doc/tm.texi (MAX_STACK_ALIGNMENT): Add macro.
(INCOMING_STACK_BOUNDARY): Likewise.
(TARGET_UPDATE_STACK_BOUNDARY): New target hook.
(TARGET_GET_DRAP_RTX): Likewise.
........
r138336 | hjl | 2008-07-30 12:24:02 -0700 (Wed, 30 Jul 2008) | 90 lines
2008-07-30 H.J. Lu <hongjiu.lu@intel.com>
Joey Ye <joey.ye@intel.com>
* gcc.dg/dfp/func-vararg-alternate-d128-2.c: New.
* gcc.dg/dfp/func-vararg-mixed-2.c: Likewise.
* gcc.dg/torture/stackalign/alloca-1.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise.
* gcc.dg/torture/stackalign/builtin-return-1.c: Likewise.
* gcc.dg/torture/stackalign/check.h: Likewise.
* gcc.dg/torture/stackalign/comp-goto-1.c: Likewise.
* gcc.dg/torture/stackalign/fastcall-1.c: Likewise.
* gcc.dg/torture/stackalign/global-1.c: Likewise.
* gcc.dg/torture/stackalign/inline-1.c: Likewise.
* gcc.dg/torture/stackalign/inline-2.c: Likewise.
* gcc.dg/torture/stackalign/nested-1.c: Likewise.
* gcc.dg/torture/stackalign/nested-2.c: Likewise.
* gcc.dg/torture/stackalign/nested-3.c: Likewise.
* gcc.dg/torture/stackalign/nested-4.c: Likewise.
* gcc.dg/torture/stackalign/nested-5.c: Likewise.
* gcc.dg/torture/stackalign/nested-6.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-1.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-2.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-3.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-4.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-5.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-1.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-2.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-3.c: Likewise.
* gcc.dg/torture/stackalign/regparm-1.c: Likewise.
* gcc.dg/torture/stackalign/ret-struct-1.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-1.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-2.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-3.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-4.c: Likewise.
* gcc.dg/torture/stackalign/sibcall-1.c: Likewise.
* gcc.dg/torture/stackalign/stackalign.exp: Likewise.
* gcc.dg/torture/stackalign/struct-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-2.c: Likewise.
* gcc.target/i386/align-main-1.c: Likewise.
* gcc.target/i386/align-main-2.c: Likewise.
* gcc.target/i386/pr32000-2.c: Likewise.
* gcc.target/i386/stackalign/asm-1.c: Likewise.
* gcc.target/i386/stackalign/return-1.c: Likewise.
* gcc.target/i386/stackalign/return-2.c: Likewise.
* gcc.target/i386/stackalign/return-3.c: Likewise.
* gcc.target/i386/stackalign/return-4.c: Likewise.
* gcc.target/i386/stackalign/return-5.c: Likewise.
* gcc.target/i386/stackalign/return-6.c: Likewise.
* gcc.target/i386/stackalign/stackalign.exp: Likewise.
* g++.dg/torture/stackalign/check.h: Likewise.
* g++.dg/torture/stackalign/eh-alloca-1.C: Likewise.
* g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-global-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-2.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-2.C: Likewise.
* g++.dg/torture/stackalign/stackalign.exp: Likewise.
* g++.dg/torture/stackalign/stdcall-1.C: Likewise.
* g++.dg/torture/stackalign/test-unwind.h: Likewise.
* g++.dg/torture/stackalign/throw-1.C: Likewise.
* g++.dg/torture/stackalign/throw-2.C: Likewise.
* g++.dg/torture/stackalign/throw-3.C: Likewise.
* g++.dg/torture/stackalign/throw-4.C: Likewise.
* g++.dg/torture/stackalign/unwind-0.C: Likewise.
* g++.dg/torture/stackalign/unwind-1.C: Likewise.
* g++.dg/torture/stackalign/unwind-2.C: Likewise.
* g++.dg/torture/stackalign/unwind-3.C: Likewise.
* g++.dg/torture/stackalign/unwind-4.C: Likewise.
* g++.dg/torture/stackalign/unwind-5.C: Likewise.
* g++.dg/torture/stackalign/unwind-6.C: Likewise.
* gcc.target/i386/20060512-1.c: Add -mpreferred-stack-boundary=4.
(main): Move "popl" after check.
* gcc.target/i386/20060512-3.c: Likewise.
* gcc.target/i386/20060512-2.c: Add -mpreferred-stack-boundary=4.
Remove dg-error.
* gcc.target/i386/20060512-4.c: Add -mpreferred-stack-boundary=4.
Remove dg-warning.
* lib/target-supports.exp (check_effective_target_unaligned_stack):
Always return 0.
(check_effective_target_automatic_stack_alignment): New.
........
r138340 | hjl | 2008-07-30 13:19:53 -0700 (Wed, 30 Jul 2008) | 6 lines
2008-07-30 H.J. Lu <hongjiu.lu@intel.com>
* builtins.c (std_gimplify_va_arg_expr): Replace
PREFERRED_STACK_BOUNDARY with MAX_SUPPORTED_STACK_ALIGNMENT.
* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
........
r138347 | espindola | 2008-07-30 16:23:33 -0700 (Wed, 30 Jul 2008) | 6 lines
2008-07-30 Rafael Avila de Espindola <espindola@google.com>
PR 36974
* final.c (call_from_call_insn): Handle COND_EXEC
........
r138348 | ebotcazou | 2008-07-30 16:54:56 -0700 (Wed, 30 Jul 2008) | 20 lines
PR ada/36554
* dwarf2out.c (is_subrange_type): Deal with BOOLEAN_TYPE.
ada/
* back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
* gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
Set precision to 1 for subtype of BOOLEAN_TYPE.
(set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
(make_type_from_size): Deal with BOOLEAN_TYPE.
* gcc-interface/misc.c (gnat_print_type): Likewise.
* gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
Set boolean_type_node as its translation in the table, as well
as boolean_false_node for False and boolean_true_node for True.
* gcc-interface/utils.c (gnat_init_decl_processing): Create custom
8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
(create_param_decl): Deal with BOOLEAN_TYPE.
(build_vms_descriptor): Likewise.
(build_vms_descriptor64): Likewise.
(convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
........
r138351 | gccadmin | 2008-07-30 17:16:40 -0700 (Wed, 30 Jul 2008) | 1 line
Daily bump.
........
r138353 | aaronwl | 2008-07-30 17:18:07 -0700 (Wed, 30 Jul 2008) | 6 lines
2008-07-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]: Add
s-winext.o.
........
r138355 | jason | 2008-07-30 22:07:10 -0700 (Wed, 30 Jul 2008) | 9 lines
PR c++/11309
* tree.c (build_aggr_init_expr): Split out...
(build_cplus_new): ...from here.
(stabilize_init): Don't mess with AGGR_INIT_EXPR either.
* init.c (build_new_1): new T() means value-initialization,
not default-initialization.
(build_vec_init): Likewise.
(build_value_init_1): Use build_aggr_init_expr.
........
r138356 | charlet | 2008-07-31 00:51:32 -0700 (Thu, 31 Jul 2008) | 5 lines
2008-07-31 Robert Dewar <dewar@adacore.com>
* g-pehage.adb, g-pehage.ads: Minor reformatting
........
r138357 | charlet | 2008-07-31 00:51:44 -0700 (Thu, 31 Jul 2008) | 2 lines
* mlib-utl.ads, prj-makr.ads: Add comments.
........
r138358 | charlet | 2008-07-31 00:52:12 -0700 (Thu, 31 Jul 2008) | 2 lines
Resync
........
r138360 | jakub | 2008-07-31 00:59:18 -0700 (Thu, 31 Jul 2008) | 9 lines
PR preprocessor/36649
* c-pch.c (c_common_read_pch): Save and restore
line_table->trace_includes across PCH restore.
* gcc.dg/pch/cpp-3.c: New test.
* gcc.dg/pch/cpp-3.hs: New file.
* gcc.dg/pch/cpp-3a.h: New file.
* gcc.dg/pch/cpp-3b.h: New file.
........
r138361 | jakub | 2008-07-31 01:01:25 -0700 (Thu, 31 Jul 2008) | 9 lines
PR debug/36278
* dwarf2out.c (get_context_die): New function.
(force_decl_die, force_type_die): Use it.
(dwarf2out_imported_module_or_decl): Likewise. If base_type_die
returns NULL, force generation of DW_TAG_typedef and put that into
DW_AT_import.
* g++.dg/debug/namespace2.C: New test.
........
r138362 | jakub | 2008-07-31 01:02:49 -0700 (Thu, 31 Jul 2008) | 8 lines
PR c/36970
* builtins.c (maybe_emit_free_warning): New function.
(expand_builtin): Process BUILT_IN_FREE even at -O0. Call
maybe_emit_free_warning for BUILT_IN_FREE.
* gcc.dg/free-1.c: New test.
* gcc.dg/free-2.c: New test.
........
r138363 | charlet | 2008-07-31 01:17:03 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Robert Dewar <dewar@adacore.com>
* mlib-utl.ads: Minor reformatting
........
r138364 | charlet | 2008-07-31 01:17:31 -0700 (Thu, 31 Jul 2008) | 11 lines
2008-07-31 Ed Schonberg <schonberg@adacore.com>
sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
from context. This attribute must be usable in Ada95 mode.
The attribute can appear in the body of a function marked
Inline_Always, but in this case the postocondition is not enforced.
sem_prag.adb (Check_Precondition_Postcondition): within the expansion
of an inlined call pre- and postconditions are legal
........
r138365 | charlet | 2008-07-31 01:18:53 -0700 (Thu, 31 Jul 2008) | 5 lines
2008-07-31 Vincent Celier <celier@adacore.com>
* prj.adb, clean.adb, prj-nmsc.adb, prj.ads: Remove declarations that
were for gprmake only
........
r138366 | charlet | 2008-07-31 01:19:24 -0700 (Thu, 31 Jul 2008) | 8 lines
2008-07-31 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Update -gnatN documentation.
* gnat_rm.texi: Add note about pre/postcondition
pragmas not checked in conjunction with front-end inlining.
........
r138367 | charlet | 2008-07-31 01:30:58 -0700 (Thu, 31 Jul 2008) | 2 lines
Resync
........
r138370 | charlet | 2008-07-31 02:42:14 -0700 (Thu, 31 Jul 2008) | 10 lines
2008-07-31 Robert Dewar <dewar@adacore.com>
* einfo.adb (Spec_PPC): Now defined for generic subprograms
* einfo.ads (Spec_PPC): Now defined for generic subprograms
* sem_prag.adb (Check_Precondition_Postcondition): Handle generic
subprogram case
........
r138371 | charlet | 2008-07-31 02:42:39 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Vincent Celier <celier@adacore.com>
* s-os_lib.adb: Minor comment fix
........
r138372 | charlet | 2008-07-31 02:42:51 -0700 (Thu, 31 Jul 2008) | 13 lines
2008-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
transfer pre/postconditions from generic copy to original tree, so that
they will appear in each instance.
(Process_PPCs): Do not transform postconditions into a procedure in a
generic context, to prevent double expansion of check pragmas.
* sem_attr.adb: In an instance, the prefix of the 'result attribute
can be the renaming of the
current instance, so check validity of the name accordingly.
........
r138373 | charlet | 2008-07-31 02:43:09 -0700 (Thu, 31 Jul 2008) | 2 lines
Resync
........
r138374 | charlet | 2008-07-31 02:46:03 -0700 (Thu, 31 Jul 2008) | 2 lines
* gnat.dg/specs/genericppc.ads: New test
........
r138375 | charlet | 2008-07-31 03:25:05 -0700 (Thu, 31 Jul 2008) | 2 lines
* mlib-utl.ads: Fix typo.
........
r138376 | rguenth | 2008-07-31 03:25:11 -0700 (Thu, 31 Jul 2008) | 36 lines
2008-07-31 Richard Guenther <rguenther@suse.de>
* passes.c (init_optimization_passes): Always call
pass_early_warn_uninitialized.
* opts.c (decode_options): Do not warn about -Wuninitialized
at -O0.
* doc/invoke.texi (-Wuninitialized): Correct for enabling at -O0.
* doc/passes.texi (Warn for uninitialized variables): Adjust.
* gcc.dg/uninit-1-O0.c: New testcase.
* gcc.dg/uninit-2-O0.c: Likewise.
* gcc.dg/uninit-3-O0.c: Likewise.
* gcc.dg/uninit-4-O0.c: Likewise.
* gcc.dg/uninit-5-O0.c: Likewise.
* gcc.dg/uninit-6-O0.c: Likewise.
* gcc.dg/uninit-8-O0.c: Likewise.
* gcc.dg/uninit-9-O0.c: Likewise.
* gcc.dg/uninit-A-O0.c: Likewise.
* gcc.dg/uninit-B-O0.c: Likewise.
* gcc.dg/uninit-C-O0.c: Likewise.
* gcc.dg/uninit-D-O0.c: Likewise.
* gcc.dg/uninit-E-O0.c: Likewise.
* gcc.dg/uninit-F-O0.c: Likewise.
* gcc.dg/uninit-G-O0.c: Likewise.
* gcc.dg/uninit-H-O0.c: Likewise.
* gcc.dg/uninit-I-O0.c: Likewise.
* gcc.dg/uninit-10-O0.c: Likewise.
* gcc.dg/uninit-11-O0.c: Likewise.
* gcc.dg/uninit-12-O0.c: Likewise.
* gcc.dg/uninit-13-O0.c: Likewise.
* gcc.dg/uninit-14-O0.c: Likewise.
* gcc.dg/uninit-15-O0.c: Likewise.
* gcc.dg/Wall.c: Avoid uninitialized warning.
* gcc.dg/Wno-all.c: Likewise.
* gcc.dg/pr3074-1.c: Likewise.
........
r138377 | charlet | 2008-07-31 03:25:14 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb: Minor reformatting
........
r138378 | charlet | 2008-07-31 03:25:35 -0700 (Thu, 31 Jul 2008) | 7 lines
2008-07-31 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Change the description of the
Overly_Nested_Control_Structures: now the rule always requires a
positive parameter for '+R' option
........
r138379 | charlet | 2008-07-31 03:25:50 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Thomas Quinot <quinot@adacore.com>
* g-pehage.adb: Minor reformatting
........
r138380 | charlet | 2008-07-31 03:26:05 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Pascal Obry <obry@adacore.com>
* s-finimp.ads: Minor reformatting.
........
r138381 | charlet | 2008-07-31 03:26:12 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Vincent Celier <celier@adacore.com>
* s-regexp.ads: Minor comment fix
........
r138382 | charlet | 2008-07-31 03:26:43 -0700 (Thu, 31 Jul 2008) | 3 lines
* s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
so that we can compile this file successfully with -gnatc.
........
r138383 | charlet | 2008-07-31 03:27:04 -0700 (Thu, 31 Jul 2008) | 10 lines
2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
of the type when looking for stream subprograms for type String,
Wide_String and Wide_Wide_String.
* s-ststop.adb: Change the initialization expression of constant
Use_Block_IO.
........
r138384 | charlet | 2008-07-31 03:27:20 -0700 (Thu, 31 Jul 2008) | 26 lines
2008-07-31 Geert Bosch <bosch@adacore.com>
* arit64.c:
New file implementing __gnat_mulv64 signed integer multiplication with
overflow checking
* fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
* gcc-interface/gigi.h:
(standard_types): Add ADT_mulv64_decl
(mulv64_decl): Define subprogram declaration for __gnat_mulv64
* gcc-interface/utils.c:
(init_gigi_decls): Add initialization of mulv64_decl
* gcc-interface/trans.c:
(build_unary_op_trapv): New function
(build_binary_op_trapv): New function
(gnat_to_gnu): Use the above functions instead of
build_{unary,binary}_op
* gcc-interface/Makefile.in
(LIBGNAT_SRCS): Add arit64.c
(LIBGNAT_OBJS): Add arit64.o
........
r138385 | charlet | 2008-07-31 03:27:30 -0700 (Thu, 31 Jul 2008) | 6 lines
2008-07-31 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
Linker'Default_Switches are declared. Warn if they are declared.
........
r138386 | charlet | 2008-07-31 03:27:42 -0700 (Thu, 31 Jul 2008) | 8 lines
2008-07-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
Insert_Actions to place the pointer declaration in the code, rather
than Insert_Before_And_Analyze, so that insertions of temporaries are
kept in the proper order when transient scopes are present.
........
r138387 | charlet | 2008-07-31 04:04:00 -0700 (Thu, 31 Jul 2008) | 12 lines
2008-07-31 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb:
(Record_Ada_Source): Do not set Data.Sources, component has been removed
* prj.adb: Remove component Sources in record Project_Data
* prj.ads: Remove component Sources in record Project_Data
* sinput.ads, prj-util.ads: Minor reformatting
........
r138388 | charlet | 2008-07-31 04:04:10 -0700 (Thu, 31 Jul 2008) | 18 lines
2008-07-31 Gary Dismukes <dismukes@adacore.com>
* exp_attr.adb (Enclosing_Object): New function local to handling of
access attributes,
for retrieving the innermost enclosing object prefix of a compound name.
(Expand_N_Attribute_Reference, N_Attribute_Access): In the case where an
Access attribute has a prefix that is a dereference of an access
parameter (or the prefix is a subcomponent selected from such a
dereference), apply an accessibility check to the access parameter.
Replaces code that rewrote the prefix as a type conversion (and that
didn't handle subcomponent cases).
Also, this is now only applied in the case of 'Access.
* exp_ch6.adb (Expand_Call): Add handling for the case of an access
discriminant passed as an actual to an access formal, passing the
Object_Access_Level of the object containing the access discriminant.
........
r138389 | charlet | 2008-07-31 05:31:12 -0700 (Thu, 31 Jul 2008) | 2 lines
* gnat.dg/missing_acc_check.adb: New test.
........
r138390 | charlet | 2008-07-31 05:37:04 -0700 (Thu, 31 Jul 2008) | 6 lines
2008-07-31 Bob Duff <duff@adacore.com>
* sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
recognized as two end-of-lines, but it should be just one.
........
r138391 | charlet | 2008-07-31 05:37:14 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Thomas Quinot <quinot@adacore.com>
* exp_ch9.adb: Minor reformatting
........
r138392 | charlet | 2008-07-31 05:37:24 -0700 (Thu, 31 Jul 2008) | 5 lines
2008-07-31 Thomas Quinot <quinot@adacore.com>
* tbuild.ads: Fix several occurrences of incorrectly referring to
Name_Find as Find_Name.
........
r138393 | charlet | 2008-07-31 05:37:33 -0700 (Thu, 31 Jul 2008) | 7 lines
2008-07-31 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
and the context is an object declaration with non-static bounds, treat
the aggregate as non-static.
........
r138394 | charlet | 2008-07-31 05:37:42 -0700 (Thu, 31 Jul 2008) | 11 lines
2008-07-31 Vincent Celier <celier@adacore.com>
* prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
Move back spec of Parse_Single_Project to body, as it is not called
outside of package Prj.Part.
(Project_Data): Remove components Linker_Name, Linker_Path and
Minimum_Linker_Options as they are no longer set.
Remove function There_Are_Ada_Sources from package Prj and move code
in the only place it was used, in Prj.Env.Set_Ada_Paths.
........
r138395 | charlet | 2008-07-31 05:40:15 -0700 (Thu, 31 Jul 2008) | 2 lines
Resync.
........
r138396 | charlet | 2008-07-31 05:41:23 -0700 (Thu, 31 Jul 2008) | 2 lines
Resync.
........
r138397 | hjl | 2008-07-31 05:43:34 -0700 (Thu, 31 Jul 2008) | 5 lines
2008-07-31 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/torture/stackalign/pr16660-1.c: Include "check.h".
(f): Align to 64 byte. Use check instead of asm statement.
........
r138398 | charlet | 2008-07-31 05:46:11 -0700 (Thu, 31 Jul 2008) | 6 lines
2008-07-31 Vincent Celier <celier@adacore.com>
* makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
return the empty string, instead of raising Constraint_Error.
........
r138399 | charlet | 2008-07-31 05:46:23 -0700 (Thu, 31 Jul 2008) | 22 lines
2008-07-31 Gary Dismukes <dismukes@adacore.com>
* checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
* checks.adb (Apply_Accessibility_Check): Insert the check on
Insert_Node.
* exp_attr.adb:
(Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
to new parameter Insert_Node on call to Apply_Accessibility_Check.
Necessary to distinguish the insertion node because the dereferenced
formal may come from a rename, but the check must be inserted in
front of the attribute.
* exp_ch4.adb:
(Expand_N_Allocator): Pass actual for new Insert_Node parameter on
call to Apply_Accessibility_Check.
(Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
on call to Apply_Accessibility_Check.
Minor reformatting
........
r138400 | charlet | 2008-07-31 05:46:35 -0700 (Thu, 31 Jul 2008) | 17 lines
2008-07-31 Javier Miranda <miranda@adacore.com>
* sem_type.adb (Has_Compatible_Type): Complete support for synchronized
types when the candidate type is a synchronized type.
* sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
types, and complete management of synchronized types adding missing
code to handle formal that is a synchronized type.
* sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
are not available and cause the compiler to blowup. Found compiling
test with switch -gnatc
* sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
Has_Correct_Formal_Mode plus code cleanup.
........
r138401 | charlet | 2008-07-31 05:47:08 -0700 (Thu, 31 Jul 2008) | 2 lines
Resync.
........
r138402 | charlet | 2008-07-31 05:49:43 -0700 (Thu, 31 Jul 2008) | 2 lines
* gnat.dg/specs/sync_iface_test.ads: New test.
........
r138404 | charlet | 2008-07-31 06:25:48 -0700 (Thu, 31 Jul 2008) | 7 lines
2008-07-31 Javier Miranda <miranda@adacore.com>
* sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
handle synchronized types. Required to handle well the object.operation
notation applied to synchronized types.
........
r138405 | charlet | 2008-07-31 06:26:20 -0700 (Thu, 31 Jul 2008) | 10 lines
2008-07-31 Quentin Ochem <ochem@adacore.com>
* s-stausa.ad? (Fill_Stack): Stack_Used_When_Filling is now stored
anymore - just used internally.
Added handling of very small tasks - when the theoretical size is
already full at the point of the call.
(Report_Result): Fixed result computation, Stack_Used_When_Filling does
not need to be added to the result.
........
r138406 | charlet | 2008-07-31 06:26:40 -0700 (Thu, 31 Jul 2008) | 6 lines
2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
corresponding spec is a primitive wrapper. Update comment.
........
r138407 | charlet | 2008-07-31 06:27:47 -0700 (Thu, 31 Jul 2008) | 37 lines
2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* bindgen.adb Comment reformatting. Update the list of run-time globals.
(Gen_Adainit_Ada): Add the declaration, import and value set for
configuration flag Canonical_Streams.
(Gen_Adainit_C): Add the declaration and initial value of external
symbol __gl_canonical_streams.
* init.c: Update the list of global values computed by the binder.
* opt.ads: Add flag Canonical_Streams.
* par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
semantically handled pragmas.
* sem_prag.adb: Add an entry into enumeration type Sig_Flags.
(Analyze_Pragma): Add case for pragma Canonical_Streams.
* snames.adb: Add character value for name Canonical_Streams.
* snames.ads:
Add Name_Canonical_Streams to the list of configuration pragmas.
Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
* snames.h: Add a definition for Pragma_Canonical_Streams.
* s-ststop.adb:
Add a flag and import to seize the value of external symbol
__gl_canonical_streams. Update comment and initial value of constant
Use_Block_IO.
* gnat_rm.texi: Add section of pragma Canonical_Streams.
* gnat_ugn.texi:
Add pragma Canonical_Streams to the list of configuration pragmas.
........
r138408 | charlet | 2008-07-31 06:31:37 -0700 (Thu, 31 Jul 2008) | 7 lines
2008-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
has the form A.B.C and B is a unit renaming, analyze its compilation
unit and add a with_clause on A.b to the context.
........
r138409 | charlet | 2008-07-31 06:42:37 -0700 (Thu, 31 Jul 2008) | 2 lines
Resync.
........
r138410 | charlet | 2008-07-31 06:45:32 -0700 (Thu, 31 Jul 2008) | 2 lines
* gnat.dg/sync_iface_test.ad[s,b]: New test.
........
r138411 | charlet | 2008-07-31 06:53:45 -0700 (Thu, 31 Jul 2008) | 6 lines
2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
tagged type is completed by a concurrent type.
........
r138412 | charlet | 2008-07-31 06:53:55 -0700 (Thu, 31 Jul 2008) | 9 lines
2008-07-31 Gary Dismukes <dismukes@adacore.com>
* sem_aggr.adb:
(Resolve_Record_Aggregate): Bypass error that a type without
components must have a "null record" aggregate when compiling for Ada
2005, since it's legal to give an aggregate of form (others => <>)
for such a type.
........
r138413 | charlet | 2008-07-31 06:55:12 -0700 (Thu, 31 Jul 2008) | 2 lines
* gnat.dg/specs/null_aggr_bug.ads: New test.
........
r138414 | charlet | 2008-07-31 06:58:21 -0700 (Thu, 31 Jul 2008) | 2 lines
Resync.
........
r138415 | rguenth | 2008-07-31 07:12:24 -0700 (Thu, 31 Jul 2008) | 8 lines
2008-07-31 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36978
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Do not fold
the generated condition.
* gcc.dg/torture/pr36978.c: New testcase.
........
r138416 | hjl | 2008-07-31 07:33:43 -0700 (Thu, 31 Jul 2008) | 7 lines
2008-07-31 H.J. Lu <hongjiu.lu@intel.com>
PR debug/36976
* dwarf2out.c (dwarf2out_args_size_adjust): New.
(dwarf2out_stack_adjust): Use it.
(dwarf2out_frame_debug_expr): Likewise.
........
r138417 | charlet | 2008-07-31 07:40:48 -0700 (Thu, 31 Jul 2008) | 5 lines
2008-07-31 Pascal Obry <obry@adacore.com>
* prj-nmsc.adb: Keep Object and Exec directory casing.
........
r138418 | charlet | 2008-07-31 07:41:01 -0700 (Thu, 31 Jul 2008) | 12 lines
2008-07-31 Jose Ruiz <ruiz@adacore.com>
* s-parame-vxworks.adb
Document that this body is used for RTX in RTSS (kernel) mode.
* gcc-interface/Makefile.in
(LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
s-parame-vxworks.adb body in order to have reasonable stack sizes in
RTX RTSS kernel mode. Virtual memory is not used in that case, so we
cannot ask for too big values.
........
r138419 | charlet | 2008-07-31 07:41:10 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb: Minor reformatting
........
r138420 | charlet | 2008-07-31 07:41:22 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Robert Dewar <dewar@adacore.com>
* makeutl.adb: Minor reformatting
........
r138421 | charlet | 2008-07-31 07:41:32 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 Robert Dewar <dewar@adacore.com>
* prj-env.adb: Minor reformatting
........
r138422 | charlet | 2008-07-31 07:46:14 -0700 (Thu, 31 Jul 2008) | 2 lines
Resync.
........
r138424 | hjl | 2008-07-31 08:32:51 -0700 (Thu, 31 Jul 2008) | 6 lines
2008-07-31 H.J. Lu <hongjiu.lu@intel.com>
PR debug/36980
* dwarf2out.c (dwarf2out_frame_debug_expr): Move rule 17 before
rule 19.
........
r138425 | jason | 2008-07-31 10:38:08 -0700 (Thu, 31 Jul 2008) | 4 lines
PR c++/36633
* init.c (build_new_1): Don't convert pointer to the data type
until we're actually going to treat it as that type.
........
r138426 | jakub | 2008-07-31 11:07:20 -0700 (Thu, 31 Jul 2008) | 6 lines
PR c++/36405
* rtti.c (get_tinfo_decl_dynamic, get_typeid): Call
complete_type_or_else even for UNKNOWN_TYPE to get diagnostics.
* g++.dg/rtti/typeid8.C: New test.
........
r138427 | jakub | 2008-07-31 11:08:36 -0700 (Thu, 31 Jul 2008) | 11 lines
PR rtl-optimization/36419
* dwarf2out.c (barrier_args_size): New variable.
(compute_barrier_args_size, compute_barrier_args_size_1): New
functions.
(dwarf2out_stack_adjust): For BARRIERs call compute_barrier_args_size
if not called yet in the current function, use barrier_args_size
array to find the new args_size value.
(dwarf2out_frame_debug): Free and clear barrier_args_size.
* g++.dg/eh/async-unwind2.C: New test.
........
r138428 | paolo | 2008-07-31 11:43:08 -0700 (Thu, 31 Jul 2008) | 6 lines
2008-07-31 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/lib/libstdc++.exp (libstdc++_init): Set v3-libgomp.
(check_v3_target_parallel_mode): Robustify, just follow the
structure of testsuite/Makefile.am.
........
r138429 | jakub | 2008-07-31 11:56:35 -0700 (Thu, 31 Jul 2008) | 6 lines
* mkstemps.c (mkstemps): If open failed with errno other than
EEXIST, return immediately.
* make-temp-file.c: Include errno.h.
(make_temp_file): If mkstemps failed, print an error message
before aborting.
........
r138432 | jakub | 2008-07-31 12:12:14 -0700 (Thu, 31 Jul 2008) | 17 lines
PR preprocessor/36649
* files.c (struct report_missing_guard_data): New type.
(report_missing_guard): Put paths into an array instead of printing
them right away. Return 1 rather than 0.
(report_missing_guard_cmp): New function.
(_cpp_report_missing_guards): Sort and print paths gathered by
report_missing_guard callback.
* gcc.dg/pch/cpp-3.hs: Add include guards.
* gcc.dg/pch/cpp-3a.h: Likewise.
* gcc.dg/pch/cpp-3b.h: Likewise.
* gcc.dg/cpp/mi8.c: New test.
* gcc.dg/cpp/mi8a.h: New file.
* gcc.dg/cpp/mi8b.h: New file.
* gcc.dg/cpp/mi8c.h: New file.
* gcc.dg/cpp/mi8d.h: New file.
........
r138434 | paolo | 2008-07-31 12:37:21 -0700 (Thu, 31 Jul 2008) | 10 lines
2008-07-31 Chris Fairles <chris.fairles@gmail.com>
* include/std/chrono (duration): Use explicitly defaulted ctor, cctor,
dtor and assignment. Add diagnostics as per 20.8.3 paragraphs 2, 3
and 4 in WD. Other minor tweaks.
* testsuite/20_util/duration/cons/1_neg.cc: Adjust line numbers.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: New.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
........
r138435 | jakub | 2008-07-31 13:37:21 -0700 (Thu, 31 Jul 2008) | 3 lines
PR target/35100
* gcc.target/powerpc/longcall-1.c: New test.
........
r138436 | jakub | 2008-07-31 14:22:09 -0700 (Thu, 31 Jul 2008) | 2 lines
* mkstemps.c (mkstemps): Keep looping even for EISDIR.
........
r138437 | kkojima | 2008-07-31 14:23:04 -0700 (Thu, 31 Jul 2008) | 4 lines
* config/sh/sh.c (sh_canonical_va_list_type): Remove.
(TARGET_CANONICAL_VA_LIST_TYPE): Remove.
........
r138438 | hjl | 2008-07-31 14:28:54 -0700 (Thu, 31 Jul 2008) | 11 lines
2008-07-31 H.J. Lu <hongjiu.lu@intel.com>
PR debug/36977
* cfgexpand.c (expand_stack_alignment): Set stack_realign_tried.
* dwarf2out.c (based_loc_descr): Check crtl->stack_realign_tried
for stack alignment.
* function.h (rtl_data): Add stack_realign_tried. Update
comments.
........
r138439 | sje | 2008-07-31 14:42:16 -0700 (Thu, 31 Jul 2008) | 2 lines
* expr.c (expand_assignment): Check for complete type.
........
r138440 | ebotcazou | 2008-07-31 15:04:03 -0700 (Thu, 31 Jul 2008) | 3 lines
* gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
* gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
........
r138444 | gccadmin | 2008-07-31 17:16:31 -0700 (Thu, 31 Jul 2008) | 1 line
Daily bump.
........
r138446 | hjl | 2008-07-31 17:31:46 -0700 (Thu, 31 Jul 2008) | 4 lines
2008-07-31 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/darwin.h (MAIN_STACK_BOUNDARY): Define to 128.
........
r138448 | nemet | 2008-07-31 18:18:16 -0700 (Thu, 31 Jul 2008) | 24 lines
* config.gcc (mipsisa64*-*-linux*): New configuration. Set ISA
to MIPS64r2 for mipsisa64r2*.
* config/mips/mips.h (GENERATE_MIPS16E): Update comment.
(ISA_MIPS64R2): New macro.
(TARGET_CPU_CPP_BUILTINS, MULTILIB_ISA_DEFAULT): Handle it.
(ISA_HAS_64BIT_REGS, ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE,
ISA_HAS_8CC, ISA_HAS_FP4, ISA_HAS_PAIRED_SINGLE,
ISA_HAS_MADD_MSUB, ISA_HAS_NMADD4_NMSUB4, ISA_HAS_CLZ_CLO,
ISA_HAS_ROR, ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX, ISA_HAS_SEB_SEH,
ISA_HAS_EXT_INS, ISA_HAS_MXHC1, ISA_HAS_HILO_INTERLOCKS,
ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Return true for ISA_MIPS64R2.
(MIPS_ISA_LEVEL_SPEC, ASM_SPEC, LINK_SPEC): Handle -mips64r2.
(TARGET_LOONGSON_2E, TARGET_LOONGSON_2F, TARGET_LOONGSON_2EF):
Move up to keep list alphabetically sorted.
(TUNE_20KC, TUNE_24K, TUNE_74K, TUNE_LOONGSON_2EF): Likewise.
* config/mips/mips.c (mips_cpu_info_table): Add default MIPS64r2
processor.
* doc/invoke.texi (MIPS Options): Add -mips64r2.
(-march=@var{arch}): Add mips64r2.
testsuite/
* gcc.target/mips/ext-1.c: New test.
........
r138450 | bstarynk | 2008-07-31 22:19:40 -0700 (Thu, 31 Jul 2008) | 9 lines
2008-08-01 Basile Starynkevitch <basile@starynkevitch>
* gcc/tree-pass.h: Added comment about not dumping passes with name
starting with star in struct opt_pass.
* gcc/passes.c (register_dump_files_1): Don't do dump for a pass with
name starting with star.
* gcc/doc/passes.texi (Pass manager): Mention pass names and special
meaning of star prefix to avoid dump.
........
r138455 | charlet | 2008-08-01 00:37:28 -0700 (Fri, 01 Aug 2008) | 5 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi:
Minor editing, remove uncomfortable use of semicolon
........
r138456 | charlet | 2008-08-01 00:37:40 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* s-ststop.adb: Add some ??? comments
........
r138457 | charlet | 2008-08-01 00:37:50 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* sem_ch10.adb: Minor reformatting
........
r138458 | charlet | 2008-08-01 00:37:59 -0700 (Fri, 01 Aug 2008) | 6 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* snames.ads:
Minor comment fixes, some pragmas were not properly
categorized in the comments, documentation change only
........
r138459 | charlet | 2008-08-01 00:38:08 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* xref_lib.adb: Minor reformatting
........
r138460 | charlet | 2008-08-01 00:38:17 -0700 (Fri, 01 Aug 2008) | 5 lines
2008-08-01 Jose Ruiz <ruiz@adacore.com>
* cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
current directory so only fully qualified names are allowed.
........
r138461 | charlet | 2008-08-01 00:38:26 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* sinput.adb: Minor reformatting
........
r138462 | charlet | 2008-08-01 00:38:36 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* gnatchop.adb: Minor reformatting
........
r138463 | charlet | 2008-08-01 00:38:45 -0700 (Fri, 01 Aug 2008) | 6 lines
2008-08-01 Ed Schonberg <schonberg@adacore.com>
* exp_disp.adb (Expand_Interface_Conversion): If the target type is a
tagged synchronized type, use corresponding record type.
........
r138464 | charlet | 2008-08-01 00:38:54 -0700 (Fri, 01 Aug 2008) | 8 lines
2008-08-01 Doug Rupp <rupp@adacore.com>
* mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
dummy transfer address for debugging.
* mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
........
r138465 | charlet | 2008-08-01 00:39:03 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* sem_util.ads: Minor reformatting.
........
r138466 | charlet | 2008-08-01 00:39:11 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* opt.ads: Minor documentation fix
........
r138467 | charlet | 2008-08-01 00:39:22 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Doug Rupp <rupp@adacore.com>
* vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
........
r138468 | charlet | 2008-08-01 00:39:30 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* scng.adb: Minor reformatting
........
r138469 | charlet | 2008-08-01 00:41:55 -0700 (Fri, 01 Aug 2008) | 2 lines
Update comments.
........
r138470 | charlet | 2008-08-01 00:43:16 -0700 (Fri, 01 Aug 2008) | 2 lines
Resync.
........
r138472 | charlet | 2008-08-01 00:56:07 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
........
r138473 | charlet | 2008-08-01 00:56:20 -0700 (Fri, 01 Aug 2008) | 47 lines
2008-08-01 Doug Rupp <rupp@adacore.com>
* gnat_rm.texi: Document new mechanism Short_Descriptor.
* types.ads (Mechanism_Type): Modify range for new Short_Descriptor
mechanism values.
* sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
mechanism and Short_Descriptor mechanism values.
* snames.adb (preset_names): Add short_descriptor entry.
* snames.ads: Add Name_Short_Descriptor.
* types.h: Add new By_Short_Descriptor mechanism values.
* sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
mechanism and Short_Descriptor mechanism values.
* sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
values.
(Descriptor_Codes): Modify range for new mechanism values.
* treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
mechanism values.
* gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
(gnat_to_gnu_param): Handle By_Short_Descriptor.
* gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
(build_vms_descriptor32): New prototype.
(fill_vms_descriptor): Remove unneeded gnat_actual parameter.
* gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
argument in call fill_vms_descriptor.
* gcc-interface/utils.c (build_vms_descriptor32): Renamed from
build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
(build_vms_descriptor): Renamed from build_vms_descriptor64.
(convert_vms_descriptor32): New function.
(convert_vms_descriptor64): New function.
(convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
descriptors.
* gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
no longer needed.
........
r138474 | charlet | 2008-08-01 00:56:32 -0700 (Fri, 01 Aug 2008) | 6 lines
2008-08-01 Jose Ruiz <ruiz@adacore.com>
* adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
name.
........
r138475 | charlet | 2008-08-01 00:56:48 -0700 (Fri, 01 Aug 2008) | 2 lines
Resync.
........
r138479 | bonzini | 2008-08-01 01:18:13 -0700 (Fri, 01 Aug 2008) | 36 lines
gcc:
2008-08-01 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Do not generate libada-mk. Do not subst
host_cc_for_libada.
* libada-mk.in: Remove.
* Makefile.in: Pass TARGET_LIBGCC2_CFLAGS to libgcc.mvars.
* configure: Regenerate.
libada:
2008-08-01 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (warn_cflags): Substitute.
* configure: Regenerate.
* Makefile.in (libdir, WARN_CFLAGS): Substitute.
(GCC_WARN_CFLAGS): Remove NOCOMMON_FLAG.
(ADA_CFLAGS, T_ADA_CFLAGS, X_ADA_CFLAGS, ALL_ADA_CFLAGS): Remove,
they were unused.
(libada-mk): Do not include. Include libgcc.mvars instead.
(tmake_file): Remove, do not include.
(FLAGS_TO_PASS): Pass dummy values for exeext and CC.
* configure: Regenerate.
gnattools:
2008-08-01 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (warn_cflags): Substitute.
* configure: Regenerate.
* Makefile.in (libdir, exeext, WARN_CFLAGS): Substitute.
(GCC_WARN_CFLAGS): Remove NOCOMMON_FLAG.
(ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Remove as they were unused.
(libsubdir): Remove.
(libada-mk): Do not include. Include libgcc.mvars instead.
(xmake_file): Remove, do not include.
........
r138480 | charlet | 2008-08-01 01:19:04 -0700 (Fri, 01 Aug 2008) | 14 lines
2008-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
a pending instantiation for the body of a subprogram that is to be
inlined.
* sem_ch12.adb:
(Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
* sem_prag.adb (Make_Inline): If the pragma applies to an instance,
create a pending instance for its body, so that calls to the subprogram
can be inlined by the back-end.
........
r138481 | charlet | 2008-08-01 01:19:29 -0700 (Fri, 01 Aug 2008) | 6 lines
2008-08-01 Jose Ruiz <ruiz@adacore.com>
* gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
rts-rtx-w32).
........
r138482 | charlet | 2008-08-01 01:34:50 -0700 (Fri, 01 Aug 2008) | 6 lines
2008-08-01 Jose Ruiz <ruiz@adacore.com>
* adaint.c (__gnat_tmp_name): Refine the generation of temporary names
for RTX. Adding a suffix that is incremented at each iteration.
........
r138483 | charlet | 2008-08-01 01:35:04 -0700 (Fri, 01 Aug 2008) | 6 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
Raise_Exception
........
r138484 | charlet | 2008-08-01 01:35:21 -0700 (Fri, 01 Aug 2008) | 7 lines
2008-08-01 Jerome Lambourg <lambourg@adacore.com>
* s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
paths, which are authorized by Windows but can lead to errors when used
elsewhere.
........
r138485 | charlet | 2008-08-01 02:02:34 -0700 (Fri, 01 Aug 2008) | 6 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
generating code
........
r138486 | charlet | 2008-08-01 02:02:44 -0700 (Fri, 01 Aug 2008) | 8 lines
2008-08-01 Ed Schonberg <schonberg@adacore.com>
* checks.adb (Apply_Float_Conversion_Check): If the expression to be
converted is a real literal and the target type has static bounds,
perform the conversion exactly to prevent floating-point anomalies on
some targets.
........
r138487 | charlet | 2008-08-01 02:02:58 -0700 (Fri, 01 Aug 2008) | 20 lines
2008-08-01 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
* prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
* prj.adb (Object_Exist_For): Use Object_Generated, not
Objects_Generated that is removed and was never modified anyway.
* prj.ads:
(Path_Syntax_Kind): New enumeration type
(Language_Config): New component Path_Syntax, defaulted to Host.
Components PIC_Option and Objects_Generated removed, as they are not
used.
* snames.adb: New standard name Path_Syntax
* snames.ads: New standard name Path_Syntax
........
r138488 | charlet | 2008-08-01 02:03:11 -0700 (Fri, 01 Aug 2008) | 11 lines
2008-08-01 Vincent Celier <celier@adacore.com>
* mlib-utl.adb:
(Adalib_Path): New variable to store the path of the adalib directory
when procedure Specify_Adalib_Dir is called.
(Lib_Directory): If Adalib_Path is not null, return its value
(Specify_Adalib_Dir): New procedure
* mlib-utl.ads (Specify_Adalib_Dir): New procedure
........
r138489 | charlet | 2008-08-01 02:03:23 -0700 (Fri, 01 Aug 2008) | 8 lines
2008-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb:
(Check_Precondition_Postcondition): If not generating code, analyze the
expression in a postcondition that appears in a subprogram body, so that
it is properly decorated for ASIS use.
........
r138490 | charlet | 2008-08-01 02:03:35 -0700 (Fri, 01 Aug 2008) | 10 lines
2008-08-01 Gary Dismukes <dismukes@adacore.com>
* exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
Orig_Prev to Prev in the case where the actual is N_Function_Call or
N_Identifier. This was interfering with other cases that are rewritten
as N_Identifier, such as allocators, resulting in passing of the wrong
accessibility level, and based on testing this code is apparently no
longer needed at all.
........
r138491 | charlet | 2008-08-01 02:04:06 -0700 (Fri, 01 Aug 2008) | 7 lines
2008-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
procedure call whose prefix
is a parameterless function call that returns an access_to_procedure.
........
r138492 | charlet | 2008-08-01 02:10:16 -0700 (Fri, 01 Aug 2008) | 7 lines
2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils.c (convert_vms_descriptor): Add gnu_expr_alt_type
parameter.
Convert the expression to it instead of changing its type in place.
(build_function_stub): Adjust call to above function.
........
r138493 | charlet | 2008-08-01 02:29:30 -0700 (Fri, 01 Aug 2008) | 8 lines
2008-08-01 Gary Dismukes <dismukes@adacore.com>
* exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
correct accessibility levels. In the "when others" case, retrieve the
access level of the Etype of Prev rather than Prev_Orig, because the
original exression has not always been analyzed.
........
r138494 | charlet | 2008-08-01 02:29:39 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* prj-nmsc.adb: Minor reformatting
........
r138495 | charlet | 2008-08-01 02:29:48 -0700 (Fri, 01 Aug 2008) | 5 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb: Minor reformatting
Minor code reorganization
........
r138496 | charlet | 2008-08-01 02:30:05 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* prj.ads: Minor reformatting
........
r138497 | charlet | 2008-08-01 02:30:14 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* s-os_lib.adb: Minor reformatting
........
r138498 | charlet | 2008-08-01 02:30:26 -0700 (Fri, 01 Aug 2008) | 5 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
half encodings
........
r138499 | charlet | 2008-08-01 02:30:37 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* scans.ads: Minor reformatting.
........
r138500 | charlet | 2008-08-01 02:30:53 -0700 (Fri, 01 Aug 2008) | 5 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma): Put entries in alpha order
(Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
........
r138501 | charlet | 2008-08-01 02:31:06 -0700 (Fri, 01 Aug 2008) | 5 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* sem_res.adb:
(Resolve_Call): Check violation of No_Specific_Termination_Handlers
........
r138502 | charlet | 2008-08-01 02:31:18 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Thomas Quinot <quinot@adacore.com>
* sem_ch12.adb: Minor comment reformatting
........
r138503 | charlet | 2008-08-01 02:31:42 -0700 (Fri, 01 Aug 2008) | 5 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* par-ch3.adb (P_Type_Declaration): Properly handle missing type
keyword
........
r138506 | charlet | 2008-08-01 03:33:21 -0700 (Fri, 01 Aug 2008) | 6 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
warnings
........
r138507 | charlet | 2008-08-01 03:33:29 -0700 (Fri, 01 Aug 2008) | 5 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* lib-xref.adb: Add error defense.
........
r138508 | charlet | 2008-08-01 03:33:45 -0700 (Fri, 01 Aug 2008) | 4 lines
2008-08-01 Bob Duff <duff@adacore.com>
* ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
........
r138509 | hainque | 2008-08-01 03:36:01 -0700 (Fri, 01 Aug 2008) | 10 lines
ada/
* decl.c (gnat_to_gnu_entity) <case E_Function>: Do not turn Ada
Pure into GCC const, now implicitely implying nothrow as well.
testsuite/
* gnat.dg/raise_from_pure.ad[bs],
* gnat.dg/wrap_raise_from_pure.ad[bs]: Support for ...
* gnat.dg/test_raise_from_pure.adb: New test.
........
r138510 | charlet | 2008-08-01 03:44:17 -0700 (Fri, 01 Aug 2008) | 6 lines
2008-08-01 Robert Dewar <dewar@adacore.com>
* par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
convert plain identifier into defining identifier.
........
r138511 | charlet | 2008-08-01 03:47:27 -0700 (Fri, 01 Aug 2008) | 21 lines
2008-08-01 Hristian Kirtchev <kirtchev@adacore.com>
* rtsfind.ads: Add block IO versions of stream routines for Strings.
* bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
sem_prag.adb, snames.adb, snames.ads, snames.h,
par-prag.adb: Undo Canonical_Streams related changes.
* s-rident.ads: Add new restriction No_Stream_Optimizations.
* s-ststop.ads, s-ststop.adb: Comment reformatting.
Define enumeration type to designate different IO mechanisms.
Enchance generic package Stream_Ops_Internal to include an
implementation of Input and Output.
* exp_attr.adb (Find_Stream_Subprogram): If restriction
No_Stream_Optimization is active, choose the default byte IO
implementations of stream attributes for Strings.
Otherwise use the corresponding block IO version.
........
r138512 | rguenth | 2008-08-01 04:18:36 -0700 (Fri, 01 Aug 2008) | 8 lines
2008-08-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36988
* tree-ssa-ccp.c (ccp_fold): Conversions of constants only
do not matter if that doesn't change volatile qualification.
* gcc.c-torture/compile/pr36988.c: New testcase.
........
r138513 | ebotcazou | 2008-08-01 05:39:57 -0700 (Fri, 01 Aug 2008) | 16 lines
2008-08-01  Eric Botcazou  <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
code. Â Do not get full definition of deferred constants with address
clause for a use. Â Do not ignore deferred constant definitions with
address clause. Â Ignore constant definitions already marked with the
error node.
<object>: Remove obsolete comment. Â For a deferred constant with
address clause, get the initializer from the full view.
* gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
Rework and remove obsolete comment.
<N_Object_Declaration>: For a deferred constant with address clause,
mark the full view with the error node.
* Â gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
formatting nits.
........
r138514 | ebotcazou | 2008-08-01 06:11:51 -0700 (Fri, 01 Aug 2008) | 2 lines
Revert incorrect patch.
........
r138515 | rguenth | 2008-08-01 06:12:38 -0700 (Fri, 01 Aug 2008) | 7 lines
2008-08-01 Richard Guenther <rguenther@suse.de>
PR middle-end/36997
* gimplify.c (gimplify_call_expr): Set error_mark_node on GS_ERROR.
* gcc.dg/pr36997.c: New testcase.
........
r138516 | schwab | 2008-08-01 06:14:39 -0700 (Fri, 01 Aug 2008) | 2 lines
Remove conflict marker.
........
r138517 | hjl | 2008-08-01 06:30:03 -0700 (Fri, 01 Aug 2008) | 11 lines
2008-08-01 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (override_options): Replace ABI_STACK_BOUNDARY
with MIN_STACK_BOUNDARY.
(ix86_update_stack_boundary): Likewise.
(ix86_expand_prologue): Assert MIN_STACK_BOUNDARY instead of
STACK_BOUNDARY.
* config/i386/i386.h (ABI_STACK_BOUNDARY): Renamed to ...
(MIN_STACK_BOUNDARY): This.
........
r138518 | ebotcazou | 2008-08-01 07:02:10 -0700 (Fri, 01 Aug 2008) | 8 lines
* gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
* gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
and adjust for above renaming.
* gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
gnu_expr_alt_type parameter. Convert the expression to it instead
of changing its type in place.
(build_function_stub): Adjust call to above function.
........
r138519 | paolo | 2008-08-01 07:06:38 -0700 (Fri, 01 Aug 2008) | 14 lines
2008-08-01 Paolo Bonzini <bonzini@gnu.org>
Chris Fairles <chris.fairles@gmail.com>
* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Reinstate clock_gettime
search, but only in libposix4, never link librt.
* src/Makefile.am: Reinstate previous change to add GLIBCXX_LIBS.
* configure: Regenerate.
* configure.in: Likewise.
* Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* libsup++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
........
r138520 | ebotcazou | 2008-08-01 07:10:10 -0700 (Fri, 01 Aug 2008) | 2 lines
* gnat.dg/boolean_expr.ad[sb]: Rename to boolean_expr1.ad[sb].
........
r138522 | rguenth | 2008-08-01 07:42:42 -0700 (Fri, 01 Aug 2008) | 9 lines
2008-08-01 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (fini_pre): Take in_fre parameter. Free
loop information only if we initialized it.
(execute_pre): Call fini_pre with in_fre.
* tree-ssa-loop-ivcanon (try_unroll_loop_completely): Dump
if we do not unroll because we hit max-completely-peeled-insns.
Use our estimation for consistency, do allow shrinking.
........
r138524 | hjl | 2008-08-01 09:05:50 -0700 (Fri, 01 Aug 2008) | 9 lines
2008-08-01 H.J. Lu <hongjiu.lu@intel.com>
* cfgexpand.c (expand_stack_alignment): Assert that
stack_realign_drap and drap_rtx must match.
* function.c (instantiate_new_reg): If DRAP is used to realign
stack, replace virtual_incoming_args_rtx with internal arg
pointer.
........
r138525 | hjl | 2008-08-01 09:10:28 -0700 (Fri, 01 Aug 2008) | 2 lines
Add missing ChangeLog entry for revision 138517.
........
r138530 | jakub | 2008-08-01 12:01:33 -0700 (Fri, 01 Aug 2008) | 5 lines
2008-08-01 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/36991
* gcc.dg/pr36991.c: New test.
........
r138537 | jakub | 2008-08-01 13:30:09 -0700 (Fri, 01 Aug 2008) | 6 lines
* dwarf2out.c (compute_barrier_args_size): Set barrier_args_size
for labels for which it hasn't been set yet. If it has been set,
stop walking insns and continue with next worklist item.
(dwarf2out_stack_adjust): Don't call compute_barrier_args_size
if the only BARRIER is at the very end of a function.
........
r138541 | gccadmin | 2008-08-01 17:16:48 -0700 (Fri, 01 Aug 2008) | 1 line
Daily bump.
........
r138544 | dougkwan | 2008-08-01 18:25:48 -0700 (Fri, 01 Aug 2008) | 44 lines
2008-08-01 Doug Kwan <dougkwan@google.com>
* matrix-reorg.c: Re-enable all code.
(struct malloc_call_data): Change CALL_STMT to gimple type.
(collect_data_for_malloc_call): Tuplify.
(struct access_site_info): Change STMT to gimple type.
(struct matrix_info): Change MIN_INDIRECT_LEVEL_ESCAPE_STMT,
and MALLOC_FOR_LEVEL to gimple and gimple pointer type.
(struct free_info): Change STMT to gimple type.
(struct matrix_access_phi_node): Change PHI to gimple type.
(get_inner_of_cast_expr): Remove.
(may_flatten_matrices_1): Tuplify.
(may_flatten_matrices): Ditto.
(mark_min_matrix_escape_level): Ditto.
(ssa_accessed_in_tree): Refactor statement RHS related code into ...
(ssa_accessed_in_call_rhs): New
(ssa_accessed_in_assign_rhs): New
(record_access_alloc_site_info): Tuplify.
(add_allocation_site): Ditto.
(analyze_matrix_allocation_site): Ditto.
(analyze_transpose): Ditto.
(get_index_from_offset): Ditto.
(update_type_size): Ditto.
(analyze_accesses_for_call_expr): Tuplify and renamed into ...
(analyze_accesses_for_call_stmt): New. Also handle LHS of a call.
(analyze_accesses_for_phi_node): Tuplify.
(analyze_accesses_for_modify_stmt): Tuplify and renamed into ...
(analyze_accesses_for_assign_stmt): Remove code for handling call LHS.
(analyze_matrix_accesses): Tuplify.
(check_var_data): New call-back type for check_var_notmodified_p.
(check_var_notmodified_p): Tuplify and use call-back struct to
return statement found.
(can_calculate_expr_before_stmt): Factor out statement related code
into ...
(can_calculate_stmt_before_stmt): New.
(check_allocation_function): Tuplify.
(find_sites_in_func): Ditto.
(record_all_accesses_in_func): Ditto.
(transform_access_sites): Ditto.
(transform_allocation_sites): Ditto.
(matrix_reorg): Re-enable.
(gate_matrix_reorg): Re-enable.
........
r138552 | ebotcazou | 2008-08-02 03:49:51 -0700 (Sat, 02 Aug 2008) | 3 lines
* gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
New case. Convert BOOLEAN_TYPE operation to the default integer type.
........
r138553 | rguenth | 2008-08-02 05:05:47 -0700 (Sat, 02 Aug 2008) | 33 lines
2008-08-02 Richard Guenther <rguenther@suse.de>
PR target/35252
* config/i386/sse.md (SSEMODE4S, SSEMODE2D): New mode iterators.
(ssedoublesizemode): New mode attribute.
(sse_shufps): Call gen_sse_shufps_v4sf.
(sse_shufps_1): Macroize.
(sse2_shufpd): Call gen_Sse_shufpd_v2df.
(sse2_shufpd_1): Macroize.
(vec_extract_odd, vec_extract_even): New expanders.
(vec_interleave_highv4sf, vec_interleave_lowv4sf,
vec_interleave_highv2df, vec_interleave_lowv2df): Likewise.
* i386.c (ix86_expand_vector_init_one_nonzero): Call
gen_sse_shufps_v4sf instead of gen_sse_shufps_1.
(ix86_expand_vector_set): Likewise.
(ix86_expand_reduc_v4sf): Likewise.
* lib/target-supports.exp (vect_extract_even_odd_wide) Add.
(vect_strided_wide): Likewise.
* gcc.dg/vect/fast-math-pr35982.c: Enable for
vect_extract_even_odd_wide.
* gcc.dg/vect/fast-math-vect-complex-3.c: Likewise.
* gcc.dg/vect/vect-1.c: Likewise.
* gcc.dg/vect/vect-107.c: Likewise.
* gcc.dg/vect/vect-98.c: Likewise.
* gcc.dg/vect/vect-strided-float.c: Likewise.
* gcc.dg/vect/slp-11.c: Enable for vect_strided_wide.
* gcc.dg/vect/slp-12a.c: Likewise.
* gcc.dg/vect/slp-12b.c: Likewise.
* gcc.dg/vect/slp-19.c: Likewise.
* gcc.dg/vect/slp-23.c: Likewise.
* gcc.dg/vect/slp-5.c: Likewise.
........
r138555 | kseitz | 2008-08-02 15:56:04 -0700 (Sat, 02 Aug 2008) | 4 lines
* tcl.m4 (SC_PATH_TCLCONFIG): Add some simple logic to deal
with cygwin.
(SC_PATH_TKCONFIG): Likewise.
........
r138560 | gccadmin | 2008-08-02 17:16:39 -0700 (Sat, 02 Aug 2008) | 1 line
Daily bump.
........
r138562 | amodra | 2008-08-02 20:37:55 -0700 (Sat, 02 Aug 2008) | 3 lines
* mt-spu (all-ld): Update for ld Makefile changes.
........
r138564 | uros | 2008-08-02 23:13:04 -0700 (Sat, 02 Aug 2008) | 17 lines
PR target/36992
* config/i386/sse.md (vec_concatv2di): Add Y2 constraint to
alternative 0 of operand 1.
(*vec_concatv2di_rex64_sse): Ditto.
(*vec_concatv2di_rex64_sse4_1): Add x constraint to alternative 0
of operand 1.
(*sse2_storeq_rex64): Penalize allocation of "r" registers.
* config/i386/mmx.md (*mov<mode>_internal_rex64): Penalize allocation
of "Y2" registers to avoid SSE <-> MMX conversions for DImode moves.
(*movv2sf_internal_rex64): Ditto.
testsuite/ChangeLog:
PR target/36992
* gcc.target/i386/pr36992-1.c: New test.
* gcc.target/i386/pr36992-2.c: Ditto.
........
r138565 | hubicka | 2008-08-03 05:04:49 -0700 (Sun, 03 Aug 2008) | 4 lines
* optabs.c (expand_binop, expand_builtin_pow, expand_builtin_powi,
expand_builtin_strcat): Upse optimize_insn_for_speed predicate.
* expmed.c (expand_smod_pow2): Likewise.
........
r138566 | uros | 2008-08-03 11:45:17 -0700 (Sun, 03 Aug 2008) | 5 lines
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use Yi instead of x
to avoid inter-unit moves for !TARGET_INTER_UNIT_MOVES.
(*movv2sf_internal_rex64): Ditto.
........
r138568 | jvdelisle | 2008-08-03 15:02:22 -0700 (Sun, 03 Aug 2008) | 4 lines
2008-08-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/fmt_t_7.f: Replace CR-LF with LF.
........
r138573 | gccadmin | 2008-08-03 17:16:36 -0700 (Sun, 03 Aug 2008) | 1 line
Daily bump.
........
r138575 | charlet | 2008-08-04 01:37:31 -0700 (Mon, 04 Aug 2008) | 9 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* restrict.adb: Improved messages for restriction warnings
* restrict.ads: Improved messages for restriction messages
* s-rident.ads (Profile_Name): Add No_Profile
........
r138576 | charlet | 2008-08-04 01:37:40 -0700 (Mon, 04 Aug 2008) | 5 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
........
r138577 | charlet | 2008-08-04 01:37:47 -0700 (Mon, 04 Aug 2008) | 5 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Check for size clause for boolean warning
........
r138578 | charlet | 2008-08-04 01:37:57 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Vincent Celier <celier@adacore.com>
* prj-proc.adb:
(Copy_Package_Declarations): When inheriting package Naming from a
project being extended, do not inherit source exception names.
........
r138579 | charlet | 2008-08-04 01:38:06 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Check_Precondition_Postcondition): When scanning the
list of declaration to find previous subprogram, do not go to the
original node of a generic unit.
........
r138580 | charlet | 2008-08-04 01:40:22 -0700 (Mon, 04 Aug 2008) | 2 lines
Resync.
........
r138581 | charlet | 2008-08-04 02:05:01 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* par-ch10.adb: Minor reformatting
........
r138582 | charlet | 2008-08-04 02:05:29 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Pascal Obry <obry@adacore.com>
* i-cobol.adb: Minor reformatting.
........
r138583 | charlet | 2008-08-04 02:05:40 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Definition): Create an itype reference for an
anonymous access return type of a regular function that is not a
compilation unit.
........
r138584 | charlet | 2008-08-04 02:05:56 -0700 (Mon, 04 Aug 2008) | 9 lines
2008-08-04 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New Builder attribute Global_Compilation_Switches
* snames.adb: New standard name Global_Compilation_Switches
* snames.ads: New standard name Global_Compilation_Switches
........
r138585 | charlet | 2008-08-04 02:06:16 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Vincent Celier <celier@adacore.com>
* make.adb: Correct spelling error in comment
........
r138586 | charlet | 2008-08-04 02:06:36 -0700 (Mon, 04 Aug 2008) | 6 lines
2008-08-04 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
target.
........
r138587 | charlet | 2008-08-04 02:06:45 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Thomas Quinot <quinot@adacore.com>
* sem_ch10.adb: Minor comment fix.
........
r138588 | charlet | 2008-08-04 02:07:31 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Doug Rupp <rupp@adacore.com>
* gcc-interface/utils2.c:
(fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
in 32bit descriptor.
........
r138589 | charlet | 2008-08-04 02:16:54 -0700 (Mon, 04 Aug 2008) | 6 lines
2008-08-04 Doug Rupp <rupp@adacore.com>
* utils2.c (fill_vms_descriptor): Use long_integer for comparison.
Call add_stmt_with_node to set locus.
........
r138590 | charlet | 2008-08-04 02:17:44 -0700 (Mon, 04 Aug 2008) | 31 lines
2008-08-04 Vincent Celier <celier@adacore.com>
* gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
variable, but don't check the resulting value as it has no impact on
the processing.
* opt.ads:
(Generate_Processed_File): New Boolean flag, set to True in the compiler
when switch -gnateG is used.
* prep.adb:
(Preprocess): new Boolean out parameter Source_Modified. Set it to True
when the source is modified by the preprocessor and there is no
preprocessing errors.
* prep.ads (Preprocess): new Boolean out parameter Source_Modified
* sinput-l.adb:
(Load_File): Output the result of preprocessing if the source text was
modified.
* switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
* switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
* ug_words: Add VMS equivalent for -gnateG
* vms_data.ads:
Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
........
r138591 | charlet | 2008-08-04 02:36:10 -0700 (Mon, 04 Aug 2008) | 19 lines
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Definition): A formal object declaration is a
legal context for an anonymous access to subprogram.
* sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
indirect call, report success to the caller to include possible
interpretation.
* sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
check when the type
of the extended return is an anonymous access_to_subprogram type.
* sem_res.adb:
(Resolve_Call): Insert a dereference if the type of the subprogram is an
access_to_subprogram and the context requires its return type, and a
dereference has not been introduced previously.
........
r138592 | charlet | 2008-08-04 02:36:26 -0700 (Mon, 04 Aug 2008) | 6 lines
2008-08-04 Arnaud Charlet <charlet@adacore.com>
* usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
gnatcheck support in GPS.
........
r138593 | charlet | 2008-08-04 02:36:46 -0700 (Mon, 04 Aug 2008) | 6 lines
2008-08-04 Vincent Celier <celier@adacore.com>
* mlib.adb (Create_Sym_Links): Create relative symbolic links when
requested
........
r138594 | charlet | 2008-08-04 02:38:06 -0700 (Mon, 04 Aug 2008) | 8 lines
2008-08-04 Doug Rupp <rupp@adacore.com>
* gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
* trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
* utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
use it. Calculate pointer range overflow using 64bit types.
........
r138595 | charlet | 2008-08-04 02:40:33 -0700 (Mon, 04 Aug 2008) | 2 lines
Minor reformatting.
........
r138596 | charlet | 2008-08-04 02:49:33 -0700 (Mon, 04 Aug 2008) | 8 lines
2008-08-04 Jerome Lambourg <lambourg@adacore.com>
* g-comlin.adb (Group_Switches): Preserve the switch order when
grouping and allow switch grouping of switches with more than one
character extension (e.g. gnatw.x).
(Args_From_Expanded): Remove this now obsolete method.
........
r138597 | charlet | 2008-08-04 02:49:42 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
chain at once, to ensure that type is properly decorated for back-end,
when allocator appears within a loop.
........
r138598 | charlet | 2008-08-04 02:50:09 -0700 (Mon, 04 Aug 2008) | 15 lines
2008-08-04 Kevin Pouget <pouget@adacore.com>
* snames.h, snames.adb, snames.ads:
Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
* exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
Build_To_Any_Call and Build_TypeCode_Call procedures.
* exp_attr.adb, sem_attr.adb: Add corresponding cases.
* rtsfind.ads: Add corresponding names.
* tbuild.adb: Update prefix restrictions to allow '_' character.
........
r138599 | charlet | 2008-08-04 03:22:39 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Add comments
........
r138600 | charlet | 2008-08-04 03:22:48 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
access type and the allocator is not initialized, warn rather than
reporting an error.
........
r138601 | charlet | 2008-08-04 03:22:58 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor reformatting
........
r138602 | charlet | 2008-08-04 03:23:07 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* exp_dist.adb: Minor reformatting
........
r138603 | charlet | 2008-08-04 03:23:16 -0700 (Mon, 04 Aug 2008) | 19 lines
2008-08-04 Gary Dismukes <dismukes@adacore.com>
* exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
target to the type of the aggregate in the case where the target object
is class-wide.
* exp_ch5.adb (Expand_Simple_Function_Return): When the function's
result type is class-wide and inherently limited, and the expression
has a specific type, create a return object of the specific type, for
more efficient handling of returns of build-in-place aggregates (avoids
conversions of the class-wide return object to the specific type on
component assignments).
* sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
about a type mismatch for a class-wide function with a return object
having a specific type when the object declaration doesn't come from
source. Such an object can result from the expansion of a simple return.
........
r138604 | charlet | 2008-08-04 03:23:25 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* g-comlin.adb: Minor reformatting
........
r138605 | charlet | 2008-08-04 03:25:26 -0700 (Mon, 04 Aug 2008) | 8 lines
2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
* g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
* gcc-interface/Makefile.in: Use 64bit-specific system files when
compiling for 64bit windows.
........
r138606 | charlet | 2008-08-04 03:28:30 -0700 (Mon, 04 Aug 2008) | 2 lines
* gnat.dg/bip_aggregate_bug.adb: New test.
........
r138608 | paolo | 2008-08-04 05:05:41 -0700 (Mon, 04 Aug 2008) | 9 lines
2008-08-04 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/postypes.h: Reinstate inclusion of <stdint.h>;
also define the __STDC_* macros.
(streamoff): Adjust.
* include/tr1_impl/cstdint: Check that the __STDC_* macros are
not defined before defining.
........
r138609 | charlet | 2008-08-04 05:13:10 -0700 (Mon, 04 Aug 2008) | 2 lines
* gnat.dg/test_ai254.adb: New test.
........
r138610 | charlet | 2008-08-04 05:14:25 -0700 (Mon, 04 Aug 2008) | 38 lines
2008-08-04 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
for N_Formal_Object_Declaration nodes. Adding kludge required by
First_Formal to provide its functionality with access to functions.
(Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
for anonymous access types returned by functions.
* sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
conversion of null-excluding access types (required only once to force
the generation of the required runtime check).
* sem_type.adb (Covers): minor reformating
* checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
with internally generated nodes. Avoid generating the error inside init
procs.
* sem_res.adb (Resolve_Membership_Test): Minor reformating.
(Resolve_Null): Generate the null-excluding check in case of assignment
to a null-excluding object.
(Valid_Conversion): Add missing support for anonymous access to
subprograms.
* sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
anonymous access types whose designated type is an itype. This case
occurs with anonymous access to protected subprograms types.
(Analyze_Return_Type): Add missing support for anonymous access to
protected subprogram.
* sem_eval.adb (Subtypes_Statically_Match): In case of access to
subprograms addition of missing check on matching convention. Required
to properly handle access to protected subprogram types.
* exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
null excluding access types.
........
r138611 | hjl | 2008-08-04 05:29:08 -0700 (Mon, 04 Aug 2008) | 5 lines
2008-08-04 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_compute_frame_layout): Fix a typo
in comments.
........
r138612 | charlet | 2008-08-04 05:34:16 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* sem_ch13.ads: Minor comment update
* sem_res.adb: (Large_Storage_Type): Improve previous change.
........
r138613 | charlet | 2008-08-04 05:35:08 -0700 (Mon, 04 Aug 2008) | 6 lines
2008-08-04 Pascal Obry <obry@adacore.com>
* adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
file attributes.
........
r138614 | charlet | 2008-08-04 05:50:41 -0700 (Mon, 04 Aug 2008) | 5 lines
2008-08-04 Pascal Obry <obry@adacore.com>
* adaint.h: Add missing prototype.
........
r138615 | charlet | 2008-08-04 05:51:00 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* sem_res.adb:
(Valid_Conversion): Catch case of designated types having different
sizes, even though they statically match.
........
r138616 | charlet | 2008-08-04 05:51:10 -0700 (Mon, 04 Aug 2008) | 6 lines
2008-08-04 Javier Miranda <miranda@adacore.com>
* sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
added in previous patch to handle access to subprograms.
........
r138617 | charlet | 2008-08-04 05:51:19 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* freeze.adb:
(Freeze_Entity): Only check No_Default_Initialization restriction for
constructs that come from source
........
r138618 | charlet | 2008-08-04 05:51:30 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Thomas Quinot <quinot@adacore.com>
* exp_ch6.adb: Minor comment fix.
........
r138619 | charlet | 2008-08-04 05:51:41 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Thomas Quinot <quinot@adacore.com>
* sem_ch4.adb: Minor reformatting.
........
r138620 | charlet | 2008-08-04 05:52:38 -0700 (Mon, 04 Aug 2008) | 5 lines
2008-08-04 Pascal Obry <obry@adacore.com>
* adaint.c: Refine support for Windows file attributes.
........
r138631 | hjl | 2008-08-04 07:56:12 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 H.J. Lu <hongjiu.lu@intel.com>
PR target/37012
* config/i386/i386.c (ix86_expand_prologue): Use UNITS_PER_WORD
instead of STACK_BOUNDARY / BITS_PER_UNIT to align stack.
(ix86_expand_epilogue): Likewise.
........
r138633 | simonb | 2008-08-04 08:09:56 -0700 (Mon, 04 Aug 2008) | 7 lines
PR c++/36999
* parser.c (cp_parser_elaborated_type_specifier): Warn only when
the declaration's id is followed by a semicolon.
* g++.dg/warn/pr36999.C: New.
........
r138635 | charlet | 2008-08-04 08:33:55 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Thomas Quinot <quinot@adacore.com>
* sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
........
r138636 | charlet | 2008-08-04 08:34:04 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
* g-soccon-mingw.ads: Fix value for MSG_WAITALL
........
r138637 | charlet | 2008-08-04 08:34:13 -0700 (Mon, 04 Aug 2008) | 6 lines
2008-08-04 Javier Miranda <miranda@adacore.com>
* sem_prag.adb (Process_Convention): Add missing support for
N_Private_Extension_Declaration nodes.
........
r138638 | charlet | 2008-08-04 08:34:39 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor reformatting
........
r138640 | pbrook | 2008-08-04 09:27:17 -0700 (Mon, 04 Aug 2008) | 10 lines
2008-08-04 Paul Brook <paul@codesourcery.com>
gcc/
* cofig/arm/arm.c (thumb_core_reg_alloc_order): New.
(arm_order_regs_for_local_alloc): New function.
* config/arm/arm-protos.h (arm_order_regs_for_local_alloc): Add
prototype.
* config/arm/arm.h (ORDER_REGS_FOR_LOCAL_ALLOC): Define.
........
r138642 | rguenth | 2008-08-04 10:22:17 -0700 (Mon, 04 Aug 2008) | 4 lines
2008-08-04 Richard Guenther <rguenther@suse.de>
* tree-vect-transform.c (vectorizable_call): Fix tuplification.
........
r138643 | victork | 2008-08-04 10:25:13 -0700 (Mon, 04 Aug 2008) | 5 lines
2008-08-04 Victor Kaplansky <victork@il.ibm.com>
* gcc.dg/vect/vect-complex-5.c: New test.
........
r138645 | rguenth | 2008-08-04 11:29:08 -0700 (Mon, 04 Aug 2008) | 8 lines
2008-08-04 Richard Guenther <rguenther@suse.de>
PR middle-end/36691
* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Correctly
check for no_overflow.
* gcc.c-torture/execute/pr36691.c: New testcase.
........
r138647 | rguenth | 2008-08-04 11:35:20 -0700 (Mon, 04 Aug 2008) | 6 lines
2008-08-04 Richard Guenther <rguenther@suse.de>
* tree-ssa-loop-ivopts.c (add_iv_value_candidates): Also add
the candidate with the stripped base if that base is different
from the original base even for offset zero.
........
r138648 | jason | 2008-08-04 11:39:16 -0700 (Mon, 04 Aug 2008) | 4 lines
PR c++/37006
* pt.c (tsubst_decl): Leave DECL_INITIAL set on deleted
instantiations.
........
r138649 | charlet | 2008-08-04 11:50:33 -0700 (Mon, 04 Aug 2008) | 5 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
........
r138650 | charlet | 2008-08-04 11:50:45 -0700 (Mon, 04 Aug 2008) | 16 lines
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb:
(Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
anonymous access to protected subprogram that is the return type of the
specification of a subprogram body.
* sem_ch6.adb:
(Analyze_Subprogram_Body): if the return type is an anonymous access to
subprogram, freeze it now to prevent access anomalies in the back-end.
* exp_ch9.adb: Minor code cleanup.
Make sure that new declarations are inserted into the tree before
analysis (from code reading).
........
r138651 | charlet | 2008-08-04 11:51:10 -0700 (Mon, 04 Aug 2008) | 7 lines
2008-08-04 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb:
(Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
at point of return.
........
r138652 | jason | 2008-08-04 12:53:57 -0700 (Mon, 04 Aug 2008) | 4 lines
PR c++/36963
* typeck2.c (check_narrowing): Allow narrowing conversion
from an explicit floating-point constant.
........
r138661 | gccadmin | 2008-08-04 17:16:33 -0700 (Mon, 04 Aug 2008) | 1 line
Daily bump.
........
r138664 | tromey | 2008-08-04 18:28:26 -0700 (Mon, 04 Aug 2008) | 2 lines
PR libgcj/31890:
* gcj/javaprims.h: Regenerate class list.
........
r138667 | charlet | 2008-08-05 01:16:11 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting
........
r138668 | charlet | 2008-08-05 01:16:22 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* checks.adb: Minor reformatting
........
r138669 | charlet | 2008-08-05 01:16:33 -0700 (Tue, 05 Aug 2008) | 6 lines
2008-08-05 Thomas Quinot <quinot@adacore.com>
* tbuild.ads (New_External_Name): Update spec to reflect relaxed
restriction on Prefix.
........
r138670 | charlet | 2008-08-05 01:16:44 -0700 (Tue, 05 Aug 2008) | 17 lines
2008-08-05 Jerome Lambourg <lambourg@adacore.com>
* g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
methods needed to handle switch sections when building a command line.
(Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
Current_Section): New public methods or methods modified to handle
building command lines with sections.
(Set_Command_Line): Take into account sections when analysing a switch
string.
(Start): Sort the switches by sections before iterating the command line
elements.
* g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
Is_New_Section, Current_Section): New methods or methods modified to
handle building command lines with sections.
........
r138671 | charlet | 2008-08-05 01:17:02 -0700 (Tue, 05 Aug 2008) | 8 lines
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
discriminants, indicate that the corresponding object declaration has
no initialization, to prevent spurious warnings when the access type is
null-excluding.
........
r138672 | charlet | 2008-08-05 01:17:24 -0700 (Tue, 05 Aug 2008) | 6 lines
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Call): If this is a call to the predefined
Abort_Task, warn if the call appears within a protected operation.
........
r138673 | charlet | 2008-08-05 01:21:05 -0700 (Tue, 05 Aug 2008) | 2 lines
* gnat.dg/access_discr2.adb: New test.
........
r138674 | charlet | 2008-08-05 01:34:58 -0700 (Tue, 05 Aug 2008) | 6 lines
2008-08-05 Thomas Quinot <quinot@adacore.com>
* exp_strm.adb: Minor reformatting (comments)
* sem_ch12.adb: Minor reformatting.
........
r138675 | charlet | 2008-08-05 01:41:07 -0700 (Tue, 05 Aug 2008) | 7 lines
2008-08-05 Javier Miranda <miranda@adacore.com>
* sem_util.adb (Collect_Interfaces_Info): Minor reformating.
* exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
implementation of this routine has been simplified.
........
r138676 | charlet | 2008-08-05 01:41:30 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Pascal Obry <obry@adacore.com>
* adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
Set_Read_Only Win32 implementation.
........
r138678 | charlet | 2008-08-05 02:04:18 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Thomas Quinot <quinot@adacore.com>
* a-rttiev.adb: Minor reformatting (comments)
........
r138679 | charlet | 2008-08-05 02:05:08 -0700 (Tue, 05 Aug 2008) | 9 lines
2008-08-05 Thomas Quinot <quinot@adacore.com>
* gen-soccon.c: Rename to gen-oscons.c
* gen-oscons.c: New file. Now generate System.OS_Constants instead of
GNAT.Sockets.Constants.
Add new constants for GNAT.Serial_Communications and System.File_IO.
........
r138680 | charlet | 2008-08-05 02:13:53 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Vincent Celier <celier@adacore.com>
* mlib.adb: Update comments.
........
r138681 | charlet | 2008-08-05 02:14:03 -0700 (Tue, 05 Aug 2008) | 7 lines
2008-08-05 Vincent Celier <celier@adacore.com>
* prj-proc.adb:
(Process_Declarative_Items): Skip associative array attribute when index
is reserved word "others".
........
r138682 | charlet | 2008-08-05 02:14:13 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Vasiliy Fofanov <fofanov@adacore.com>
* gen-oscons.c: Adapt for VMS where termios.h is not available.
........
r138683 | charlet | 2008-08-05 02:14:48 -0700 (Tue, 05 Aug 2008) | 38 lines
2008-08-05 Vincent Celier <celier@adacore.com>
* make.adb (Switches_Of): Check for Switches (others), before checking
for Default_Switches ("Ada").
(Gnatmake): Use Builder'Switches (others) in preference to
Builder'Default_Switches ("Ada") if there are several mains.
* prj-attr-pm.adb:
(Add_Attribute): Add component Others_Allowed in Attribute_Record
aggregate.
* prj-attr.adb:
Add markers to indicates that attributes Switches allow others as index
(Others_Allowed_For): New Boolean function, returning True for
attributes with the mark.
(Initialize): Recognize optional letter 'O' as the marker for
associative array attributes where others is allowed as the index.
* prj-attr.ads:
(Others_Allowed_For): New Boolean function
(Attribute_Record): New Boolean component Others_Allowed
* prj-dect.adb:
(Parse_Attribute_Declaration): For associative array attribute where
others is allowed as the index, allow others as an index.
* prj-nmsc.adb:
(Process_Binder): Skip associative array attributes with index others
(Process_Compiler): Ditto
* prj-util.adb:
(Value_Of (Index, In_Array)): Make no attempt to put in lower case when
index is All_Other_Names.
* prj.ads:
(All_Other_Names): New constant
........
r138684 | charlet | 2008-08-05 02:27:49 -0700 (Tue, 05 Aug 2008) | 13 lines
2008-08-05 Jose Ruiz <ruiz@adacore.com>
* init.c (__gnat_install_handler for linux): If we are building the
Xenomai run time then we need to do two additional things: avoid
memory swapping and transform the Linux environment task into a native
Xenomai task.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
time): Use interface to Xenomai native skin and avoid linux-specific
way of setting CPU affinity.
(EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
........
r138685 | charlet | 2008-08-05 02:28:03 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Bob Duff <duff@adacore.com>
* checks.ads: Minor comment fix
........
r138686 | charlet | 2008-08-05 02:28:12 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* make.adb: Minor reformatting
........
r138687 | charlet | 2008-08-05 02:28:44 -0700 (Tue, 05 Aug 2008) | 7 lines
2008-08-05 Thomas Quinot <quinot@adacore.com>
* g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
CS8.
........
r138688 | charlet | 2008-08-05 02:28:55 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* mlib.adb: Minor code reorganization
Minor reformatting
........
r138689 | charlet | 2008-08-05 02:29:03 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* prj-attr.ads: Minor reformatting
........
r138690 | charlet | 2008-08-05 02:29:12 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* s-os_lib.adb: Minor reformatting
........
r138691 | charlet | 2008-08-05 02:29:20 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* s-fileio.adb: Minor code reorganization
Minor reformatting
........
r138692 | charlet | 2008-08-05 02:29:28 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* prj.ads: Minor reformatting
........
r138693 | charlet | 2008-08-05 02:30:53 -0700 (Tue, 05 Aug 2008) | 7 lines
2008-08-05 Bob Duff <duff@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
unresolved initial value of "null", because it causes implicitly
generated "=" operators to be ambiguous, and because this type should
not be passed to gigi.
........
r138694 | charlet | 2008-08-05 02:33:21 -0700 (Tue, 05 Aug 2008) | 2 lines
* gnat.dg/not_null.adb: New test.
........
r138695 | charlet | 2008-08-05 02:39:05 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting
........
r138696 | charlet | 2008-08-05 02:39:23 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* prj-nmsc.adb: Minor reformatting
........
r138697 | charlet | 2008-08-05 02:40:19 -0700 (Tue, 05 Aug 2008) | 6 lines
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
visibility check on the component type if the simple test fails.
........
r138700 | rguenth | 2008-08-05 04:42:33 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Richard Guenther <rguenther@suse.de>
PR middle-end/37026
* gcc.c-torture/compile/pr37026.c: New testcase.
........
r138701 | charlet | 2008-08-05 06:23:44 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Pascal Obry <obry@adacore.com>
* a-coinve.adb: Reorder the code to avoid uninitialized warning.
........
r138702 | charlet | 2008-08-05 06:23:53 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Thomas Quinot <quinot@adacore.com>
* socket.c: Minor reformatting.
........
r138703 | charlet | 2008-08-05 06:24:02 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Pascal Obry <obry@adacore.com>
* adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
........
r138704 | charlet | 2008-08-05 06:24:27 -0700 (Tue, 05 Aug 2008) | 16 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* opt.ads (Warn_On_Biased_Representation): New flag
* sem_ch13.adb:
(Analyze_Attribute_Definition_Clause): Issue warning when biased
representation is required.
(Minimum_Size): Don't allow biasing if enum rep clause case
* sem_warn.adb:
(Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
(Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
* usage.adb: Add lines for -gnatw.b/B switches
........
r138705 | charlet | 2008-08-05 06:26:24 -0700 (Tue, 05 Aug 2008) | 7 lines
2008-08-05 Thomas Quinot <quinot@adacore.com>
* xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
s-oscons.ads
........
r138706 | charlet | 2008-08-05 06:29:05 -0700 (Tue, 05 Aug 2008) | 3 lines
* Makefile.in (gnatlib*): Now depend on oscons target.
(oscons): New target.
........
r138708 | charlet | 2008-08-05 06:42:08 -0700 (Tue, 05 Aug 2008) | 12 lines
2008-08-05 Vincent Celier <celier@adacore.com>
* s-wchwts.adb:
(Wide_String_To_String): Returns a String with the same 'First as its
parameter S.
(Wide_Wide_String_To_String): Ditto
* s-wchwts.ads:
(Wide_String_To_String): Document that the lowest index of the returned
String is equal to S'First.
........
r138709 | charlet | 2008-08-05 06:42:47 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Pascal Obry <obry@adacore.com>
* adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
readable attribute.
........
r138710 | charlet | 2008-08-05 06:53:04 -0700 (Tue, 05 Aug 2008) | 8 lines
2008-08-05 Vincent Celier <celier@adacore.com>
* a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
(File).
* a-ztdeio.adb: Ditto.
........
r138711 | uweigand | 2008-08-05 06:53:20 -0700 (Tue, 05 Aug 2008) | 5 lines
* config/spu/spu.h (CANNOT_CHANGE_MODE_CLASS): Allow (multi)word-sized
SUBREG of multi-word hard register.
* config/spu/spu.c (valid_subreg): Likewise.
(adjust_operand): Handle SUBREGs of multi-word hard registers.
........
r138714 | uweigand | 2008-08-05 07:04:56 -0700 (Tue, 05 Aug 2008) | 27 lines
* config/spu_spu_mfcio.h: Wrap in extern "C" if __cplusplus.
Reword some comments throughout the file.
(MFC_MIN_DMA_LIST_ELEMENTS): New define.
(MFC_MAX_DMA_LIST_ELEMENTS): Likewise.
(MFC_MIN_DMA_LIST_SIZE): Redefine in terms of MFC_MIN_DMA_LIST_ELEMENTS.
(MFC_MAX_DMA_LIST_SIZE): Redefine in terms of MFC_MAX_DMA_LIST_ELEMENTS.
(MFC_START_ENABLE): Remove PPU-only define.
(MFC_PUTS_CMD, MFC_PUTFS_CMD, MFC_PUTBS_CMD): Likewise.
(MFC_GETS_CMD, MFC_GETFS_CMD, MFC_GETBS_CMD): Likewise.
(MFC_PUTB_CMD, MFC_PUTF_CMD): Reimplement using symbolic constants.
(MFC_PUTL_CMD, MFC_PUTLB_CMD, MFC_PUTLF_CMD): Likewise.
(MFC_PUTR_CMD, MFC_PUTRB_CMD, MFC_PUTRF_CMD): Likewise.
(MFC_PUTRL_CMD, MFC_PUTRLB_CMD, MFC_PUTRLF_CMD): Likewise.
(MFC_GETB_CMD, MFC_GETF_CMD): Likewise.
(MFC_GETL_CMD, MFC_GETLB_CMD, MFC_GETLF_CMD): Likewise.
(MFC_SNDSIGB_CMD, MFC_SNDSIGF_CMD): Likewise.
(MFC_SDCRT_CMD, MFC_SDCRTST_CMD): New defines.
(MFC_SDCRZ_CMD, MFC_SDCRST_CMD, MFC_SDCRF_CMD): Likewise.
(mfc_sdcrt, mfc_sdcrtst): Likewise.
(mfc_sdcrz, mfc_sdcrst, mfc_sdcrf): Likewise.
(spu_read_machine_status): Fix typo.
........
r138716 | charlet | 2008-08-05 07:10:38 -0700 (Tue, 05 Aug 2008) | 7 lines
2008-08-05 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Changing the description of the gnatcheck metrics
rule according to the change in the rule option.
Add documentation for -gnatw.b/-gnatw.B
........
r138717 | charlet | 2008-08-05 07:10:54 -0700 (Tue, 05 Aug 2008) | 6 lines
2008-08-05 Robert Dewar <dewar@adacore.com>
* ug_words: Add entries for -gnatw.b/-gnatw.B
* vms_data.ads: Add entries for -gnatw.b/-gnatw.B
........
r138718 | pbrook | 2008-08-05 07:24:08 -0700 (Tue, 05 Aug 2008) | 16 lines
2008-08-05 Paul Brook <paul@codesourcery.com>
gcc/
* doc/invoke.texi: Document new ARM -mfpu= and -mcpu= options.
* config/arm/arm.c (all_fpus): Add vfpv3 and vfpv3-d16.
(fp_model_for_fpu): Add entry for FPUTYPE_VFP3D16.
(arm_file_start): Add FPUTYPE_VFP3D16. Rename vfp3 to vfpv3.
* config/arm/arm.h (TARGET_VFPD32): Define.
(TARGET_VFP3): Use TARGET_VFPD32.
(fputype): Add FPUTYPE_VFP3D16.
(LAST_VFP_REGNUM): Use TARGET_VFPD32.
* config/arm/constraints.md ("w"): Use TARGET_VFPD32.
* config/arm/arm-cores.def: Add cortex-r4f.
* config/arm/arm-tune.md: Regenerate.
........
r138719 | charlet | 2008-08-05 07:36:21 -0700 (Tue, 05 Aug 2008) | 2 lines
* gnat.dg/post_block.adb: New test.
........
r138720 | charlet | 2008-08-05 07:37:01 -0700 (Tue, 05 Aug 2008) | 8 lines
2008-08-05 Thomas Quinot <quinot@adacore.com>
* gsocket.h: Make this file includable in a Nucleus environment, which
does not support sockets.
* socket.c: Remove Nucleus-specific hack.
........
r138721 | charlet | 2008-08-05 07:37:10 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Pascal Obry <obry@adacore.com>
* adaint.c: Remove support for readable attribute on vxworks and nucleus
........
r138722 | charlet | 2008-08-05 07:37:19 -0700 (Tue, 05 Aug 2008) | 8 lines
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb:
(Analyze_Attribute, case 'Result): handle properly the case where some
operand of the expression in a post-condition generates a transient
block.
........
r138723 | charlet | 2008-08-05 07:37:44 -0700 (Tue, 05 Aug 2008) | 7 lines
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
right-hand side when it is an anonymous access_to_subprogram, to force
static accessibility check when needed.
........
r138724 | charlet | 2008-08-05 07:49:51 -0700 (Tue, 05 Aug 2008) | 2 lines
Remove test, premature.
........
r138725 | charlet | 2008-08-05 08:11:19 -0700 (Tue, 05 Aug 2008) | 7 lines
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* freeze.adb:
(Freeze_Entity): A deferred constant does not violate the restriction
No_Default_Initialization,
........
r138726 | charlet | 2008-08-05 08:13:05 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Thomas Quinot <quinot@adacore.com>
* Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
........
r138727 | charlet | 2008-08-05 08:13:25 -0700 (Tue, 05 Aug 2008) | 5 lines
2008-08-05 Doug Rupp <rupp@adacore.com>
* vms_data.ads: Translation for /POINTER_SIZE qualifier.
........
r138728 | charlet | 2008-08-05 08:14:29 -0700 (Tue, 05 Aug 2008) | 13 lines
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
can carry a null exclusion indicator, and on which an error may be
posted if the indicator is redundant.
* sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
does not apply to a subtype mark that already excludes null.
* sem_ch12.adb (Formal_Object_Declaration): Verify that a null
exclusion does not apply to a subtype mark that already excludes null.
........
r138732 | doko | 2008-08-05 08:46:22 -0700 (Tue, 05 Aug 2008) | 4 lines
2008-08-05 Matthias Klose <doko@ubuntu.com>
* HACKING: Update instructions how to build gcj/javaprims.h.
........
r138733 | rth | 2008-08-05 10:24:37 -0700 (Tue, 05 Aug 2008) | 20 lines
* Makefile.in (c-cppbuiltin.o): Depend on debug.h.
* c-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_DWARF2_CFI_ASM.
* doc/cpp.texi (__GCC_HAVE_DWARF2_CFI_ASM): Document it.
* common.opt (fdwarf2-cfi-asm): New.
* configure.ac (HAVE_GAS_CFI_DIRECTIVE): New.
* config.in, configure: Rebuild.
* dwarf2asm.c (dw2_asm_output_data_raw): New.
(dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_sleb128_raw): New.
(dw2_force_const_mem): Externalize.
* dwarf2asm.h: Update.
* dwarf2out.c (dwarf2out_cfi_label): If flag_dwarf2_cfi_asm, don't
generate a real label.
(output_cfi_directive): New.
(add_fde_cfi): If flag_dwarf2_cfi_asm, use it.
(output_call_frame_info): Do nothing if flag_dwarf2_cfi_asm.
(dwarf2out_begin_prologue): Emit .cfi_startproc, .cfi_personality,
and .cfi_lsda.
(dwarf2out_end_epilogue): Emit .cfi_endproc.
(output_loc_operands_raw, output_loc_sequence_raw): New.
(output_cfa_loc_raw): New.
........
r138735 | pinskia | 2008-08-05 11:23:07 -0700 (Tue, 05 Aug 2008) | 13 lines
2008-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/37024
* tree-tailcall.c (process_assignment): Use gimple_assign_cast_p
instead of IS_CONVERT_EXPR_CODE_P for seeing if the assignment
is a conversion.
2008-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/37024
* gcc.dg/tree-ssa/tailcall-4.c: New testcase.
........
r138737 | paolo | 2008-08-05 13:39:48 -0700 (Tue, 05 Aug 2008) | 28 lines
2008-08-05 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/util/testsuite_api.h (diamond_derivation<>::test):
Expect ambiguity together with the standard exception classes.
* testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc: Remove
xfail.
* testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc:
Likewise.
* testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc:
Likewise.
* testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc:
Likewise.
* testsuite/18_support/bad_alloc/cons_virtual_derivation.cc: Likewise.
* testsuite/18_support/bad_cast/cons_virtual_derivation.cc: Likewise.
* testsuite/18_support/bad_exception/cons_virtual_derivation.cc:
Likewise.
* testsuite/18_support/bad_typeid/cons_virtual_derivation.cc:
Likewise.
* testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc:
Likewise.
* testsuite/ext/forced_exception_error/cons_virtual_derivation.cc:
Likewise.
* testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc:
Likewise.
* testsuite/20_util/bad_function_call/cons_virtual_derivation.cc:
Likewise.
........
r138738 | rth | 2008-08-05 14:25:48 -0700 (Tue, 05 Aug 2008) | 2 lines
* configure.ac (HAVE_GAS_CFI_DIRECTIVE): Check .cfi_personality.
* configure: Rebuild.
........
r138740 | jason | 2008-08-05 15:22:00 -0700 (Tue, 05 Aug 2008) | 4 lines
PR c++/37016
* tree-ssa.c (useless_type_conversion_p_1): Call langhook
if TYPE_STRUCTURAL_EQUALITY_P is true for both types.
........
r138747 | bwilson | 2008-08-05 16:06:33 -0700 (Tue, 05 Aug 2008) | 4 lines
* config/xtensa/xtensa.c (xtensa_va_start): Unshare valist.
(xtensa_gimplify_va_arg_expr): Unshare valist, orig_ndx, ndx, array,
va_size, and type_size.
........
r138748 | bwilson | 2008-08-05 16:16:51 -0700 (Tue, 05 Aug 2008) | 2 lines
* config/xtensa/t-xtensa: Remove dependency for gt-xtensa.h.
........
r138751 | gccadmin | 2008-08-05 17:16:51 -0700 (Tue, 05 Aug 2008) | 1 line
Daily bump.
........
r138756 | jason | 2008-08-05 19:25:20 -0700 (Tue, 05 Aug 2008) | 8 lines
PR c++/37016
* decl.c (build_ptrmemfunc_type): Don't require structural
comparison of PMF types.
* tree.c (cp_build_qualified_type_real): Don't clear
a valid TYPE_PTRMEMFUNC_TYPE.
* typeck.c (cp_build_unary_op): Still do build_ptrmemfunc in
templates.
........
r138757 | mkuvyrkov | 2008-08-05 23:20:02 -0700 (Tue, 05 Aug 2008) | 4 lines
* sched-rgn.c (new_ready): Check if instruction can be
speculatively scheduled before attempting speculation.
(debug_rgn_dependencies): Remove wrongful assert.
........
r138758 | mkuvyrkov | 2008-08-05 23:22:33 -0700 (Tue, 05 Aug 2008) | 6 lines
* haifa-sched.c (extend_global): Split to extend_global_data and
extend_region_data. Update all uses.
(extend_all): Rename to extend_block_data.
* gcc.target/ia64/20080802-1.c: New test.
........
r138759 | mkuvyrkov | 2008-08-05 23:23:47 -0700 (Tue, 05 Aug 2008) | 7 lines
PR target/35659
* haifa-sched.c (sched_insn_is_legitimate_for_speculation_p): Move ...
* sched-deps.c (sched_insn_is_legitimate_for_speculation_p): ... here.
Don't allow predicated instructions for data speculation.
* sched-int.h (sched_insn_is_legitimate_for_speculation_p): Move
declaration.
........
r138763 | krebbel | 2008-08-05 23:51:11 -0700 (Tue, 05 Aug 2008) | 11 lines
2008-08-06 Andreas Krebbel <krebbel1@de.ibm.com>
* reload.c (find_reloads): Force constants into literal pool
also if they are wrapped in a SUBREG.
2008-08-06 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.c-torture/compile/20080806-1.c: New testcase.
........
r138764 | hubicka | 2008-08-06 00:50:52 -0700 (Wed, 06 Aug 2008) | 3 lines
* predict.c (maybe_hot_frequency_p): When profile is absent, all
frequencies might be hot.
........
r138765 | charlet | 2008-08-06 00:56:04 -0700 (Wed, 06 Aug 2008) | 12 lines
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
null exclusion in a discriminant declaration
* sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
indicators when type is not an access type.
* sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
indicators when type is not an access type.
........
r138766 | charlet | 2008-08-06 00:56:23 -0700 (Wed, 06 Aug 2008) | 7 lines
2008-08-06 Javier Miranda <miranda@adacore.com>
* exp_disp (Expand_Interface_Conversion): Freeze the entity associated
with the target interface before expanding the code of the interface
conversion.
........
r138767 | charlet | 2008-08-06 00:57:04 -0700 (Wed, 06 Aug 2008) | 8 lines
2008-08-06 Doug Rupp <rupp@adacore.com>
* gcc-interface/utils2.c (snames.h) Include
(TARGET_ABI_OPEN_VMS): Initialize.
(build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
for Convention C.
........
r138768 | charlet | 2008-08-06 01:07:32 -0700 (Wed, 06 Aug 2008) | 12 lines
2008-08-06 Doug Rupp <rupp@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
TARGET_MALLOC64 clear.
* gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
if TARGET_MALLOC64 clear.
* gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
(TARGET_MALLC64): New macro. Default to clear.
........
r138769 | charlet | 2008-08-06 01:31:51 -0700 (Wed, 06 Aug 2008) | 5 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* xnmake.adb: Use new XUtil package for platform independent text
output.
........
r138770 | charlet | 2008-08-06 01:32:00 -0700 (Wed, 06 Aug 2008) | 5 lines
2008-08-06 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Document compiler switch -gnateG
........
r138771 | charlet | 2008-08-06 01:32:09 -0700 (Wed, 06 Aug 2008) | 9 lines
2008-08-06 Quentin Ochem <ochem@adacore.com>
* s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
in the case of an empty pattern size.
(Compute_Result): Do not do any computation in the case of an empty
pattern size.
(Report_Result): Fixed computation of the overflow guard.
........
r138772 | charlet | 2008-08-06 01:32:32 -0700 (Wed, 06 Aug 2008) | 7 lines
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* g-awk.adb (Finalize): Do not use directly objects of the type in the
finalization routine to prevent elaboration order anomalies in new
finalization scheme.
........
r138773 | charlet | 2008-08-06 01:32:42 -0700 (Wed, 06 Aug 2008) | 6 lines
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
declaration for the same type.
........
r138774 | charlet | 2008-08-06 01:32:52 -0700 (Wed, 06 Aug 2008) | 4 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* sem.adb: Minor rewording (comment)
........
r138775 | charlet | 2008-08-06 01:33:21 -0700 (Wed, 06 Aug 2008) | 29 lines
2008-08-06 Jerome Lambourg <lambourg@adacore.com>
* g-comlin.adb (Define_Switch, Get_Switches): New.
(Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
ungrouping switches.
(For_Each_Simple_Switch): Allow more control over parameters handling.
This generic method now allows ungrouping of switches with parameters
and switches with more than one letter after the prefix.
(Set_Command_Line): Take care of switches that are prefixed with a
switch handling parameters without delimiter (-gnatya and -gnaty3 for
example).
(Add_Switch, Remove_Switch): Handle parameters possibly present inside
a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
the operation.
(Start, Alias_Switches, Group_Switches): Take care of parameters
possibly present inside a group.
* g-comlin.ads (Define_Switch): New method used to define a list of
expected switches, that are necessary for correctly ungrouping switches
with more that one character after the prefix.
(Get_Switches): Method that builds a getopt string from the list of
switches as set previously by Define_Switch.
(Add_Switch, Remove_Switch): New versions of the methods, reporting the
status of the operation. Also allow the removal of switches with
parameters only.
(Command_Line_Configuration_Record): Maintain a list of expected
switches.
........
r138776 | charlet | 2008-08-06 01:52:10 -0700 (Wed, 06 Aug 2008) | 4 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb: Minor reformatting
........
r138777 | charlet | 2008-08-06 01:52:19 -0700 (Wed, 06 Aug 2008) | 5 lines
2008-08-06 Pascal Obry <obry@adacore.com>
* adaint.c: Another fix for ACL support on Windows.
........
r138778 | charlet | 2008-08-06 01:52:28 -0700 (Wed, 06 Aug 2008) | 6 lines
2008-08-06 Javier Miranda <miranda@adacore.com>
* exp_disp (Expand_Interface_Actuals): Adds missing support for
expansion of calls to subprograms using selected components.
........
r138779 | charlet | 2008-08-06 01:52:36 -0700 (Wed, 06 Aug 2008) | 7 lines
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Call): Use base type to determine whether a
dereference is needed because a subtype of an access_to_subprogram is
simply an access-subtype
........
r138780 | charlet | 2008-08-06 01:52:44 -0700 (Wed, 06 Aug 2008) | 6 lines
2008-08-06 Jerome Lambourg <lambourg@adacore.com>
* g-comlin.adb (Set_Command_Line): Now that aliases can contain
parameters, always specify the expected separator.
........
r138781 | charlet | 2008-08-06 01:57:21 -0700 (Wed, 06 Aug 2008) | 10 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
g-sttsne-dummy.ads: New files.
* gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
with pragma Unimplemented_Unit for sockets packages on Nucleus.
........
r138782 | charlet | 2008-08-06 02:16:07 -0700 (Wed, 06 Aug 2008) | 2 lines
New tests.
........
r138783 | charlet | 2008-08-06 02:35:06 -0700 (Wed, 06 Aug 2008) | 4 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* sem_res.adb: Minor reformatting
........
r138784 | charlet | 2008-08-06 02:35:17 -0700 (Wed, 06 Aug 2008) | 10 lines
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
incomplete, add the access_to_subprogram type to the list of private
dependents only if the incomplete type will be completed in the current
scope.
(Build_Discriminant_Constraints): If the type of the discriminant is
access_to_variable, reject a constraint that is access_to_constant.
........
r138785 | charlet | 2008-08-06 02:35:27 -0700 (Wed, 06 Aug 2008) | 4 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* exp_ch11.adb: Minor reformatting
........
r138786 | charlet | 2008-08-06 02:41:04 -0700 (Wed, 06 Aug 2008) | 7 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* s-fileio.adb (Open): When file open operation fails, raise Name_Error
only when the operating system reports a non-existing file or directory
(ENOENT), otherwise raise Name_Error.
........
r138787 | charlet | 2008-08-06 02:42:31 -0700 (Wed, 06 Aug 2008) | 9 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
Remove obsolete targets referencing gen-soccon
When generating s-oscons.ads, use a file name that includes the
THREAD_KIND, to ensure that the (potentially different) version from a
previous build with a different threads flavour does not get reused.
........
r138788 | charlet | 2008-08-06 02:43:10 -0700 (Wed, 06 Aug 2008) | 8 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
Remove obsolete targets referencing gen-soccon
When generating s-oscons.ads, use a file name that includes the
THREAD_KIND, to ensure that the (potentially different) version from a
previous build with a different threads flavour does not get reused.
........
r138789 | charlet | 2008-08-06 02:43:33 -0700 (Wed, 06 Aug 2008) | 4 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* Makefile.in: Now generate s-oscons-$(THREAD_KIND).
........
r138790 | charlet | 2008-08-06 03:03:21 -0700 (Wed, 06 Aug 2008) | 10 lines
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
of incomplete type.
* sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
of a formal parameter of an incomplete type. Improve error message for
other improper uses of incomplete types.
........
r138791 | charlet | 2008-08-06 03:03:52 -0700 (Wed, 06 Aug 2008) | 5 lines
2008-08-06 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Clarify -gnato documentation
........
r138792 | charlet | 2008-08-06 03:08:09 -0700 (Wed, 06 Aug 2008) | 16 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in,
g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
Remove GNAT.Sockets.Constants. This internal package is replaced by
System.OS_Constants.
........
r138793 | aldyh | 2008-08-06 03:25:22 -0700 (Wed, 06 Aug 2008) | 7 lines
PR middle-end/35432
* gimplify.c (gimplify_modify_expr): Do not optimize zero-sized types
if want_value.
testsuite/
* gcc.c-torture/compile/pr35432.c: New file.
........
r138797 | paolo | 2008-08-06 05:25:00 -0700 (Wed, 06 Aug 2008) | 9 lines
2008-08-06 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_CHECK_INT64_T]): Also check whether int64_t
is actually a typedef to long or long long.
* include/bits/postypes.h: If int64_t is actually a typedef for
long or long long don't include <stdint.h> unnecessarily.
* configure: Regenerate.
* config.h.in: Likewise.
........
r138799 | sam | 2008-08-06 06:54:31 -0700 (Wed, 06 Aug 2008) | 2 lines
gcc/ada/
* gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
........
r138800 | sam | 2008-08-06 06:55:07 -0700 (Wed, 06 Aug 2008) | 7 lines
gcc/ada/
* gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
with s-oscons-tmplt.i.
libada/
* Makefile.in: Pass FLAGS_TO_PASS to sub-make for target
oscons.
........
r138804 | jsm28 | 2008-08-06 08:20:14 -0700 (Wed, 06 Aug 2008) | 4 lines
* jump.c (rtx_renumbered_equal_p): Do not call subreg_regno_offset
for unrepresentable subregs or treat them as equal to other regs
or subregs with the same register number.
........
r138806 | hjl | 2008-08-06 08:29:37 -0700 (Wed, 06 Aug 2008) | 31 lines
gcc/
2008-08-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/37009
* cfgexpand.c (expand_stack_alignment): Check parm_stack_boundary
for incoming stack boundary.
* function.c (assign_parm_find_entry_rtl): Update
parm_stack_boundary.
* function.h (rtl_data): Add parm_stack_boundary.
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Check
parm_stack_boundary for incoming stack boundary.
gcc/testsuite/
2008-08-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/37009
* gcc.dg/torture/stackalign/alloca-2.c: New.
* gcc.dg/torture/stackalign/alloca-3.c: Likewise.
* gcc.dg/torture/stackalign/alloca-4.c: Likewise.
* gcc.dg/torture/stackalign/vararg-3.c: Likewise.
* gcc.target/i386/incoming-1.c: Likewise.
* gcc.target/i386/incoming-2.c: Likewise.
* gcc.target/i386/incoming-3.c: Likewise.
* gcc.target/i386/incoming-4.c: Likewise.
* gcc.target/i386/incoming-5.c: Likewise.
........
r138807 | matz | 2008-08-06 08:34:45 -0700 (Wed, 06 Aug 2008) | 7 lines
PR target/36613
* reload.c (push_reload): Merge in,out,in_reg,out_reg members
for reused reload, instead of overwriting them.
* gcc.target/i386/pr36613.c: New testcase.
........
r138808 | hjl | 2008-08-06 08:43:46 -0700 (Wed, 06 Aug 2008) | 15 lines
gcc/
2008-08-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/37010
* calls.c (expand_call): Use the biggest preferred stack
boundary.
gcc/testsuite/
2008-08-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/37010
* gcc.dg/torture/stackalign/push-1.c: New.
........
r138809 | ghazi | 2008-08-06 08:57:09 -0700 (Wed, 06 Aug 2008) | 44 lines
* builtins.c (expand_builtin_profile_func): Avoid C++ keywords.
* calls.c (avoid_likely_spilled_reg): Likewise.
* cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
* cgraph.c (cgraph_clone_edge, cgraph_clone_node): Likewise.
* config/i386/i386.c (ix86_expand_special_args_builtin,
ix86_secondary_reload): Likewise.
* except.c (struct eh_region, gen_eh_region_catch,
remove_unreachable_regions, duplicate_eh_regions,
assign_filter_values, build_post_landing_pads,
sjlj_find_directly_reachable_regions, remove_eh_handler,
reachable_next_level, foreach_reachable_handler,
can_throw_internal_1, can_throw_external_1,
collect_one_action_chain): Likewise.
* expr.c (expand_expr_real_1, vector_mode_valid_p): Likewise.
* fold-const.c (twoval_comparison_p, eval_subst): Likewise.
* function.c (update_temp_slot_address, instantiate_new_reg,
instantiate_virtual_regs_in_rtx,
instantiate_virtual_regs_in_insn): Likewise.
* gimple.c (extract_ops_from_tree, gimple_seq_copy): Likewise.
* gimplify.c (gimplify_call_expr, gimplify_init_constructor,
gimplify_cleanup_point_expr): Likewise.
* ipa-cp.c (ipcp_lattice_changed): Likewise.
* passes.c (next_pass_1): Likewise.
* print-tree.c (print_node_brief, print_node): Likewise.
* profile.c (branch_prob): Likewise.
* tree-dump.c (dump_register): Likewise.
* tree-eh.c (replace_goto_queue_cond_clause, lower_catch):
Likewise.
* tree-inline.c (remap_ssa_name, remap_type_1, remap_blocks,
copy_statement_list, remap_gimple_op_r, copy_tree_body_r,
copy_edges_for_bb, copy_cfg_body, copy_tree_r,
copy_arguments_for_versioning, copy_static_chain): Likewise.
* tree-into-ssa.c (names_replaced_by, add_to_repl_tbl,
add_new_name_mapping, register_new_name_mapping): Likewise.
* tree-mudflap.c (mf_xform_derefs): Likewise.
* tree-predcom.c (struct chain, dump_chain, replace_ref_with,
get_init_expr, combine_chains): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-ssa-structalias.c (create_variable_info_for): Likewise.
* tree-vrp.c (simplify_cond_using_ranges): Likewise.
* tree.c (substitute_in_expr, iterative_hash_expr): Likewise.
* value-prof.c (gimple_duplicate_stmt_histograms): Likewise.
........
r138810 | bwilson | 2008-08-06 09:02:16 -0700 (Wed, 06 Aug 2008) | 14 lines
2008-08-06 Marc Gauthier <marc@tensilica.com>
* config.gcc: Match more processor names for Xtensa.
* configure.ac: Likewise.
* doc/install.texi (Specific): Likewise.
* configure: Regenerate.
testsuite/
* lib/target-supports.exp (check_profiling_available): Match more
processor names for Xtensa.
* g++.old-deja/g++.jason/thunk3.C: Likewise.
* gcc.dg/intmax_t-1.c: Likewise.
* gcc.dg/sibcall-3.c: Likewise.
* gcc.dg/sibcall-4.c: Likewise.
* gcc.c-torture/compile/20001226-1.c: Likewise.
........
r138811 | bwilson | 2008-08-06 09:03:03 -0700 (Wed, 06 Aug 2008) | 3 lines
libgcc/
* config.host: Match more processor names for Xtensa.
........
r138812 | matz | 2008-08-06 09:10:22 -0700 (Wed, 06 Aug 2008) | 3 lines
* Makefile.in (write_entries_to_file): Quote words.
* gengtype.c: (read_input_line): Skip over leading white-space.
........
r138813 | ghazi | 2008-08-06 09:12:51 -0700 (Wed, 06 Aug 2008) | 89 lines
* config/alpha/alpha.c (alpha_preferred_reload_class,
alpha_secondary_reload, alpha_emit_set_const_1, function_value,
alpha_output_mi_thunk_osf): Avoid C++ keywords.
* config/arm/arm.c (output_move_vfp, output_move_neon): Likewise.
* config/arm/arm.md: Likewise.
* config/avr/avr-protos.h (preferred_reload_class,
test_hard_reg_class, avr_simplify_comparison_p,
out_shift_with_cnt, class_max_nregs): Likewise.
* config/avr/avr.c (class_max_nregs, avr_simplify_comparison_p,
output_movqi, output_movhi, output_movsisf, out_shift_with_cnt,
preferred_reload_class, test_hard_reg_class): Likewise.
* config/bfin/bfin.c (legitimize_pic_address, hard_regno_mode_ok,
bfin_memory_move_cost, bfin_secondary_reload,
bfin_output_mi_thunk): Likewise.
* config/crx/crx.c (crx_secondary_reload_class,
crx_memory_move_cost): Likewise.
* config/frv/frv-protos.h (frv_secondary_reload_class,
frv_class_likely_spilled_p, frv_class_max_nregs): Likewise.
* config/frv/frv.c (frv_override_options, frv_alloc_temp_reg,
frv_secondary_reload_class, frv_class_likely_spilled_p,
frv_class_max_nregs): Likewise.
* config/h8300/h8300.c (h8300_classify_operand,
h8300_unary_length, h8300_bitfield_length, h8300_asm_insn_count):
Likewise.
* config/i386/winnt.c (i386_pe_declare_function_type): Likewise.
* config/ia64/ia64.c (ia64_preferred_reload_class,
ia64_secondary_reload_class, ia64_output_mi_thunk): Likewise.
* config/iq2000/iq2000.c (gen_int_relational): Likewise.
* config/m32c/m32c.c (class_can_hold_mode, m32c_output_compare):
Likewise.
* config/m68hc11/m68hc11.c (preferred_reload_class,
m68hc11_memory_move_cost): Likewise.
* config/mcore/mcore.c (mcore_secondary_reload_class,
mcore_reload_class): Likewise.
* config/mips/mips.c (mips_hard_regno_mode_ok_p,
mips_class_max_nregs, mips_cannot_change_mode_class,
mips_preferred_reload_class, mips_secondary_reload_class,
mips_output_mi_thunk): Likewise.
* config/mmix/mmix.c (mmix_preferred_reload_class,
mmix_preferred_output_reload_class, mmix_secondary_reload_class):
Likewise.
* config/mn10300/mn10300.c (mn10300_secondary_reload_class):
Likewise.
* config/pa/pa.c (pa_secondary_reload, pa_combine_instructions,
pa_can_combine_p, pa_cannot_change_mode_class): Likewise.
* config/pa/pa.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
* config/rs6000/rs6000.c (paired_expand_vector_init,
rs6000_secondary_reload_class, rs6000_output_mi_thunk,
compare_section_name, rs6000_memory_move_cost): Likewise.
* config/s390/s390.c (s390_emit_compare_and_swap,
s390_preferred_reload_class, s390_secondary_reload,
legitimize_pic_address, legitimize_tls_address,
legitimize_reload_address, s390_expand_cs_hqi, s390_expand_atomic,
s390_class_max_nregs): Likewise.
* config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
* config/s390/s390.md: Likewise.
* config/score/score-protos.h (score_secondary_reload_class,
score_preferred_reload_class): Likewise.
* config/score/score.c (score_preferred_reload_class,
score_secondary_reload_class): Likewise.
* config/score/score3.c (score3_output_mi_thunk,
score3_preferred_reload_class, score3_secondary_reload_class,
score3_hard_regno_mode_ok): Likewise.
* config/score/score3.h (score3_preferred_reload_class,
score3_secondary_reload_class): Likewise.
* config/score/score7.c (score7_output_mi_thunk,
score7_preferred_reload_class, score7_secondary_reload_class,
score7_hard_regno_mode_ok): Likewise.
* config/score/score7.h (score7_preferred_reload_class,
score7_secondary_reload_class): Likewise.
* config/sh/sh.c (prepare_move_operands, output_far_jump,
output_branchy_insn, add_constant, gen_block_redirect,
sh_insn_length_adjustment, sh_cannot_change_mode_class,
sh_output_mi_thunk, replace_n_hard_rtx, sh_secondary_reload):
Likewise.
* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
* config/stormy16/stormy16.c (xstormy16_output_cbranch_hi,
xstormy16_output_cbranch_si, xstormy16_secondary_reload_class,
xstormy16_preferred_reload_class): Likewise.
* config/xtensa/xtensa.c (xtensa_expand_compare_and_swap,
xtensa_expand_atomic, override_options,
xtensa_preferred_reload_class, xtensa_secondary_reload_class):
Likewise.
* reorg.c (try_merge_delay_insns): Likewise.
* tree.c (merge_dllimport_decl_attributes): Likewise.
* config/frv/frv.c (frv_print_operand): Change isalpha to ISALPHA.
........
r138814 | manu | 2008-08-06 09:17:41 -0700 (Wed, 06 Aug 2008) | 12 lines
2008-08-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 8715
* c-common.c (warn_for_sign_compare): New. Handle separately the
case that 'constant' is zero.
* c-typeck.c (build_binary_op): Move code to c-common.c
cp/
* typeck.c (cp_build_binary_op): Move code to c-common.c.
testsuite/
* gcc.dg/pr8715.c: New.
* g++.dg/warn/pr8715.C: New.
........
r138815 | victork | 2008-08-06 09:26:46 -0700 (Wed, 06 Aug 2008) | 19 lines
2008-08-06 Victor Kaplansky <victork@il.ibm.com>
Ira Rosen <irar@il.ibm.com>
* tree-vect-transform.c (vect_model_simple_cost): Return
immediately if stmt is pure SLP.
(vect_model_store_cost): Ditto.
(vect_model_load_cost): Ditto.
(vectorizable_store): Remove PURE_SLP check before call
to vect_model_store_cost.
(vect_model_store_cost): When checking whether stmt describe
strided access, add a check that it is not slp_node.
Testsute
* gcc.dg/vect/costmodel/ppc/costmodel-slp-34.c: New test.
........
r138816 | manu | 2008-08-06 09:37:06 -0700 (Wed, 06 Aug 2008) | 11 lines
2008-08-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 26785
* diagnostic.c (permerror_at): New.
* toplev.h (permerror_at): Declare.
cp/
* decl.c (grokdeclarator): Use explicit location with
permerror_at.
testsuite/
* g++.dg/warn/pr26785.C: New.
........
r138817 | ghazi | 2008-08-06 10:22:05 -0700 (Wed, 06 Aug 2008) | 9 lines
* matrix-reorg.c (compute_offset): Avoid C++ keywords.
* c-common.c: Fix typo.
(c_common_reswords): Activate more C++ keyword warnings.
testsuite:
* gcc.dg/Wcxx-compat-2.c: Adjust test for more warnings.
........
r138819 | dgregor | 2008-08-06 12:08:12 -0700 (Wed, 06 Aug 2008) | 14 lines
2008-08-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/36460
* parser.c (cp_parser_template_argument): Don't assume that '>>'
following a type-id is an error when in C++0x mode.
2008-08-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/36460
* g++.dg/cpp0x/bracket3.C: Add another test case for the >>
warning under -Wc++0x-compat.
* g++.dg/cpp0x/bracket4.C: Add testcase for PR c++/36460.
........
r138829 | paolo | 2008-08-06 16:17:05 -0700 (Wed, 06 Aug 2008) | 14 lines
2008-08-06 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for
common values of EOF, SEEK_CUR, SEEK_END.
* configure.ac: Use it.
* include/bits/ios_base.h: Likewise.
* include/bits/char_traits.h: Likewise.
* config/locale/gnu/ctype_members.cc: Include <cstdio>.
* config/locale/generic/ctype_members.cc: Likewise.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error lines.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* configure: Regenerate.
* config.h.in: Likewise.
........
r138832 | gccadmin | 2008-08-06 17:16:41 -0700 (Wed, 06 Aug 2008) | 1 line
Daily bump.
........
r138834 | krebbel | 2008-08-07 00:18:53 -0700 (Thu, 07 Aug 2008) | 6 lines
2008-08-07 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.c-torture/compile/20080806-1.c: Move testcase ...
* gcc.target/s390/20080806-1.c: ... to here.
........
r138835 | hubicka | 2008-08-07 00:35:51 -0700 (Thu, 07 Aug 2008) | 21 lines
* optabs.c (emit_unop_insn): Break out to ...
(maybe_emit_unop_insn): ... this one.
(expand_sfix_optab): Use maybe variant.
* optabs.h (maybe_emit_unop_insn): Declare.
* i386.md (mov0 patterns): Enable by default.
(FP conversion expanders): Disable expansion of code expanding
sequences when instruction should be optimized for size.
(single strinop patterns): Enable when optimizing for size.
(string expanders): Disable expanding of code expanding sequences
when optimizning instruction for size.
* i386.c (ix86_expand_vector_move_misalign): Do code size optimization
per BB basis.
(ix86_fp_comparison_sahf_cost): Likewise.
(ix86_expand_branch): Likewise.
(ix86_expand_ashl_const): Likewise.
(ix86_split_ashl): Likewise.
(ix86_expand_strlen): Likewise.
(ix86_emit_fp_unordered_jump): Likewie.
........
r138837 | rguenth | 2008-08-07 03:01:48 -0700 (Thu, 07 Aug 2008) | 8 lines
2008-08-07 Richard Guenther <rguenther@suse.de>
PR middle-end/37042
* tree-ssa-alias-warnings.c (nonstandard_alias_p): Ref-all
pointers can access anything.
* gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: New testcase.
........
r138839 | hjl | 2008-08-07 06:16:23 -0700 (Thu, 07 Aug 2008) | 24 lines
gcc/
2008-08-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/36992
* config/i386/emmintrin.h (_mm_move_epi64): Use
__builtin_ia32_movq128.
* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVQ128.
(bdesc_args): Add IX86_BUILTIN_MOVQ128.
* config/i386/sse.md (sse2_movq128): New.
* doc/extend.texi: Document __builtin_ia32_movq128.
gcc/testsuite/
2008-08-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/36992
* gcc.target/i386/pr36992-1.c: Scan movq.
* gcc.target/i386/pr36992-2.c: Use "-O2 -msse4" instead of
"-O0 -msse2". Scan movq.
........
r138840 | aph | 2008-08-07 07:19:15 -0700 (Thu, 07 Aug 2008) | 5 lines
2008-08-07 Andrew Haley <aph@redhat.com>
* testsuite/libjava.lang/StackTrace2.java: Rewrite to prevent
spurious failure when some methods are inlined.
........
r138841 | hubicka | 2008-08-07 07:55:32 -0700 (Thu, 07 Aug 2008) | 3 lines
PR target/37048
* i386.md (single stringop patterns): Enable unconditionally.
........
r138842 | smw | 2008-08-07 08:06:28 -0700 (Thu, 07 Aug 2008) | 1 line
* include/tr1_impl/regex (match_results): Add cbegin()/cend() per N2691 WD.
........
r138843 | dgregor | 2008-08-07 08:38:59 -0700 (Thu, 07 Aug 2008) | 9 lines
2008-08-07 Douglas Gregor <doug.gregor@gmail.com>
* semantics.c (finish_decltype_type): Handle calls to function
pointers and references to functions properly.
2008-08-07 Douglas Gregor <doug.gregor@gmail.com>
* g++.dg/cpp0x/decltype12.C: New.
........
r138844 | jsm28 | 2008-08-07 08:43:28 -0700 (Thu, 07 Aug 2008) | 4 lines
* config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
movv2si_internal): Combine into mov<mode>_internal.
(movv2si_internal_2): Remove.
........
r138846 | rth | 2008-08-07 09:29:22 -0700 (Thu, 07 Aug 2008) | 7 lines
* configure.ac (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): New.
* configure, config.in: Rebuild.
* debug.h (dwarf2out_do_cfi_asm): Declare.
* c-cppbuiltin.c (c_cpp_builtins): Use it.
* dwarf2out.c (dwarf2out_do_cfi_asm): New.
(dwarf2out_cfi_label, add_fde_cfi, output_call_frame_info,
dwarf2out_begin_prologue, dwarf2out_end_epilogue): Use it.
........
r138847 | jsm28 | 2008-08-07 09:58:29 -0700 (Thu, 07 Aug 2008) | 9 lines
* config/arm/arm.c (output_move_neon): Update comment describing
big-endian vector layout.
(arm_assemble_integer): Do not handle big-endian NEON vectors
specially.
* config/arm/neon.md (vec_set<mode>_internal, vec_extract<mode>,
neon_vget_lane<mode>_sext_internal,
neon_vget_lane<mode>_zext_internal, neon_vget_lane<mode>): Adjust
element indices for big-endian.
........
r138848 | hjl | 2008-08-07 11:28:23 -0700 (Thu, 07 Aug 2008) | 4 lines
2008-08-07 H.J. Lu <hongjiu.lu@intel.com>
* semantics.c (finish_decltype_type): Initialize type.
........
r138849 | aaronwl | 2008-08-07 12:30:14 -0700 (Thu, 07 Aug 2008) | 5 lines
2008-08-07 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* pex-win32.c (argv_to_argc): New function.
(spawn_script): Duplicate argv before calling win32_spawn.
........
r138850 | rth | 2008-08-07 13:06:36 -0700 (Thu, 07 Aug 2008) | 2 lines
PR debug/37033
* gcc.c (cpp_options): Pass along -g*.
........
r138851 | bwilson | 2008-08-07 16:44:31 -0700 (Thu, 07 Aug 2008) | 3 lines
* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Copy incoming value
in a6 after the set_frame_ptr insn.
........
r138854 | gccadmin | 2008-08-07 17:16:46 -0700 (Thu, 07 Aug 2008) | 1 line
Daily bump.
........
r138859 | ghazi | 2008-08-07 18:42:33 -0700 (Thu, 07 Aug 2008) | 6 lines
* c-common.c (c_common_reswords): Also warn about keyword "bool".
testsuite:
* gcc.dg/Wcxx-compat-2.c: Check for bool/_Bool.
........
r138862 | paolo | 2008-08-08 02:54:09 -0700 (Fri, 08 Aug 2008) | 6 lines
2008-08-08 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/ios_base.h: Undef _IOS_BASE_SEEK_CUR and
_IOS_BASE_SEEK_END at the end of the file.
* include/bits/char_traits.h: Likewise for _CHAR_TRAITS_EOF.
........
r138863 | hubicka | 2008-08-08 03:04:51 -0700 (Fri, 08 Aug 2008) | 6 lines
* recog.c (split_all_insns): Set RTL profile
(peephole2_optimize): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* combine.c (combine_instructions): Likewise.
........
r138864 | hubicka | 2008-08-08 03:09:37 -0700 (Fri, 08 Aug 2008) | 14 lines
* i386.h (ix86_size_cost): Declare.
(ix86_cur_cost): New function macro.
* i386.md (peepholes expanding size and splitters): Predicate by
optimize_insn_for_speed_p.
(peepholes reduce size and splitters): Predicate by
optimize_insn_for_size_p.
* i386.c (ix86_size_cost): Rename from ...
(size_cost): This one.
(override_options): Update.
(decide_alg): Likewise.
(ix86_expand_clear): Use RTL profile.
(ix86_pad_returns): Use RTL profile.
........
r138865 | rguenth | 2008-08-08 04:30:13 -0700 (Fri, 08 Aug 2008) | 9 lines
2008-08-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/37056
* gimple.h (gimple_assign_rhs_class): New helper function.
* tree-ssa-loop-niter.c (get_val_for): Fix tuplification, handle
unary operations properly.
* gcc.c-torture/compile/pr37056.c: New testcase.
........
r138866 | charlet | 2008-08-08 05:22:02 -0700 (Fri, 08 Aug 2008) | 6 lines
2008-08-08 Robert Dewar <dewar@adacore.com>
* g-comlin.adb: Minor code reorganization
Minor reformatting
........
r138867 | charlet | 2008-08-08 05:22:10 -0700 (Fri, 08 Aug 2008) | 4 lines
2008-08-08 Robert Dewar <dewar@adacore.com>
* g-comlin.ads: Minor reformatting
........
r138868 | charlet | 2008-08-08 05:22:18 -0700 (Fri, 08 Aug 2008) | 5 lines
2008-08-08 Robert Dewar <dewar@adacore.com>
* s-fileio.adb: Minor reformatting
........
r138869 | charlet | 2008-08-08 05:22:26 -0700 (Fri, 08 Aug 2008) | 5 lines
2008-08-08 Robert Dewar <dewar@adacore.com>
* sem_attr.adb: Minor code reorganization (use Nkind_In)
Minor reformatting
........
r138870 | charlet | 2008-08-08 05:22:51 -0700 (Fri, 08 Aug 2008) | 6 lines
2008-08-08 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression): add check if null
exclusion indicator is present
........
r138871 | charlet | 2008-08-08 05:23:28 -0700 (Fri, 08 Aug 2008) | 6 lines
2008-08-08 Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
previous change, not needed after all.
........
r138872 | charlet | 2008-08-08 05:23:48 -0700 (Fri, 08 Aug 2008) | 5 lines
2008-08-06 Thomas Quinot <quinot@adacore.com>
* Makefile.in: generate s-oscons.ads again, previous change was
unneeded.
........
r138873 | charlet | 2008-08-08 05:37:51 -0700 (Fri, 08 Aug 2008) | 7 lines
2008-08-08 Thomas Quinot <quinot@adacore.com>
* g-sercom.ads:
(Name): Document application scope (only legacy PC serial ports on
Linux and Windows).
........
r138874 | charlet | 2008-08-08 05:58:36 -0700 (Fri, 08 Aug 2008) | 7 lines
2008-08-08 Thomas Quinot <quinot@adacore.com>
* gsocket.h:
On Windows, include <errno.h> and redefine only selected errno values
from their <winsock2.h> definitions.
........
r138875 | charlet | 2008-08-08 05:58:46 -0700 (Fri, 08 Aug 2008) | 4 lines
2008-08-08 Thomas Quinot <quinot@adacore.com>
* s-osinte-freebsd.ads: Minor reformatting
........
r138876 | charlet | 2008-08-08 05:59:14 -0700 (Fri, 08 Aug 2008) | 4 lines
2008-08-08 Thomas Quinot <quinot@adacore.com>
* s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
........
r138877 | charlet | 2008-08-08 05:59:28 -0700 (Fri, 08 Aug 2008) | 12 lines
2008-08-08 Thomas Quinot <quinot@adacore.com>
* g-soccon.ads: New file.
* g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
unit, to allow building software that depends on this internal unit
with both older and newer compilers.
........
r138878 | charlet | 2008-08-08 05:59:38 -0700 (Fri, 08 Aug 2008) | 4 lines
2008-08-08 Robert Dewar <dewar@adacore.com>
* s-strxdr.adb: Minor reformatting
........
r138879 | charlet | 2008-08-08 06:00:00 -0700 (Fri, 08 Aug 2008) | 10 lines
2008-08-08 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
checking for integer operations (including division by zero)", which
is wrong -- divide by zero is not part of overflow checking.
Also added misc clarification about what check-suppression means.
* gnat_rm.texi: Clarify the meaning of pragma Suppress.
........
r138880 | charlet | 2008-08-08 06:03:37 -0700 (Fri, 08 Aug 2008) | 5 lines
2008-08-08 Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
compatibility shim.
........
r138881 | charlet | 2008-08-08 06:09:37 -0700 (Fri, 08 Aug 2008) | 7 lines
2008-08-08 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
from Freeze_Entity. Used to generate cross-reference information for
types declared in generic packages.
........
r138882 | rguenth | 2008-08-08 08:01:05 -0700 (Fri, 08 Aug 2008) | 9 lines
2008-08-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (likely_value): Calls are not all varying.
(surely_varying_stmt_p): Calls are varying only if they are
non-builtin and not indirect or have no result.
(ccp_fold): Re-instantiate code before the tuples merge.
* gcc.dg/tree-ssa/ssa-ccp-20.c: New testcase.
........
r138884 | domob | 2008-08-08 11:19:46 -0700 (Fri, 08 Aug 2008) | 23 lines
2008-08-08 Daniel Kraft <d@domob.eu>
* gfortran.h (gfc_finalizer): Replaced member `procedure' by two
new members `proc_sym' and `proc_tree' to store the symtree after
resolution.
(gfc_find_sym_in_symtree): Made public.
* decl.c (gfc_match_final_decl): Adapted for new member name.
* interface.c (gfc_find_sym_in_symtree): Made public.
(gfc_extend_expr), (gfc_extend_assign): Changed call accordingly.
* module.c (mio_finalizer), (mio_f2k_derived), (mio_full_f2k_derived):
New methods for module-file IO of f2k_derived.
(mio_symbol): Do IO of f2k_derived namespace.
* resolve.c (gfc_resolve_finalizers): Adapted for new member name and
finding the symtree for the symbol here.
* symbol.c (gfc_free_finalizer): Adapted for new members.
2008-08-08 Daniel Kraft <d@domob.eu>
* gfortran.dg/finalize_9.f03: New test.
* gfortran.dg/module_md5_1.f90: Adapted MD5-sum for changed module
file format.
........
r138885 | dorit | 2008-08-08 12:00:36 -0700 (Fri, 08 Aug 2008) | 15 lines
2008-08-08 Dorit Nuzman <dorit@il.ibm.com>
* tree-vect-transform.c (vectorizable_conversion): Pass the integral
type to vectorize.builtin_conversion.
(vectorizable_conversion): Likewise.
* config/i386/i386.c (ix86_vectorize_builtin_conversion): Always takes
integral type as input.
* config/rs6000/rs6000.c (rs6000_builtin_conversion): Add case for
FIX_TRUNC_EXPR.
(rs6000_expand_builtin): Add case for ALTIVEC_BUILTIN_VCTUXS
and ALTIVEC_BUILTIN_VCTSXS.
(rs6000_builtin_mul_widen_even. rs6000_builtin_mul_widen_odd): Fix
formatting.
........
r138886 | reichelt | 2008-08-08 14:17:54 -0700 (Fri, 08 Aug 2008) | 6 lines
PR c++/35985
* decl.c (xref_basetypes): Check base for MAYBE_CLASS_TYPE_P,
and make sure it is not a union.
* g++.dg/inherit/base3.C: New.
........
r138887 | pthaugen | 2008-08-08 14:40:18 -0700 (Fri, 08 Aug 2008) | 15 lines
2008-08-08 Peter Bergner <bergner@vnet.ibm.com>
* doc/invoke.texi: Add cpu_type power7.
* config.in (HAVE_AS_VSX): New.
* config.gcc: Add cpu_type power7.
* configure.ac (HAVE_AS_VSX): Check for assembler support of the
VSX instructions.
* configure: Regenerate.
* config/rs6000/rs6000.c (rs6000_override_options): Alias power7 to
power5.
* config/rs6000/rs6000.h (ASM_CPU_POWER7_SPEC): Define.
(ASM_CPU_SPEC): Pass %(asm_cpu_power7) for -mcpu=power7.
(EXTRA_SPECS): Add asm_cpu_power7 spec string.
........
r138889 | manu | 2008-08-08 16:07:49 -0700 (Fri, 08 Aug 2008) | 12 lines
Property changes on: libcpp
___________________________________________________________________
Name: svn:ignore
- autom4te.cache
+ TAGS
TAGS.sub
GPATH
GRTAGS
GSYMS
GTAGS
autom4te.cache
........
r138890 | manu | 2008-08-08 16:15:31 -0700 (Fri, 08 Aug 2008) | 26 lines
2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 28875
* flags.h (set_Wunused): Delete
* toplev.c (process_options): Handle Wunused flags here.
* opts.c (maybe_warn_unused_parameter): Delete.
(common_handle_option): Replace set_Wunused by warn_unused.
(set_Wextra): Do not handle Wunused-parameter here.
(set_Wunused): Delete.
* c-opts.c (c_common_handle_option): Replace set_Wunused by
warn_unused.
* common.opt (Wunused): Add Var and Init.
(Wunused-function): Likewise.
(Wunused-label): Likewise.
(Wunused-parameter): Likewise.
(Wunused-value): Likewise.
(Wunused-variable): Likewise.
fortran/
* options.c (set_Wall): Replace set_Wunused by warn_unused.
java/
* lang.c (java_handle_option): Replace set_Wunused with
warn_unused.
testsuite/
* gcc.dg/unused-6-no.c: New.
* gcc.dg/unused-6-WallWextra.c: New.
........
r138891 | pault | 2008-08-08 16:22:51 -0700 (Fri, 08 Aug 2008) | 9 lines
2008-08-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37011
* symbol.c (gfc_add_extension): New function.
* decl.c (gfc_get_type_attr_spec): Call it.
(gfc_match_derived_decl): Set symbol extension attribute from
attr.extension.
* gfortran.h : Add prototype for gfc_add_extension.
........
r138892 | manu | 2008-08-08 16:32:23 -0700 (Fri, 08 Aug 2008) | 12 lines
2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 7651
* doc/invoke.texi (-Wextra): Move warning from here...
(-Wuninitialized): ... to here.
cp/
* class.c (check_bases_and_members): Warn with -Wuninitialized
instead of -Wextra.
testsuite/
* g++.dg/warn/Wuninitializable-member.C: New.
* g++.dg/warn/Wuninitializable-member-no.C: New.
........
r138893 | manu | 2008-08-08 16:57:19 -0700 (Fri, 08 Aug 2008) | 111 lines
2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 36901
* diagnostic.def (DK_PEDWARN, DK_PERMERROR): New.
* diagnostic.c (pedantic_warning_kind, permissive_error_kind):
Moved from diagnostic.h
(diagnostic_report_diagnostic): Return bool. Handle DK_PEDWARN and
DK_PERMERROR.
(emit_diagnostic): New.
(warning0, pedwarn0): Delete.
(warning, warning_at, pedwarn, permerror): Return bool.
* diagnostic.h (pedantic_warning_kind, permissive_error_kind):
Moved to diagnostic.c.
(struct diagnostic_context): Use correct type for
classify_diagnostic.
(diagnostic_report_diagnostic): Update declaration.
(emit_diagnostic): Declare.
* errors.c (warning): Return bool.
* errors.h (warning): Update declaration.
* toplev.h (warning0, pedwarn0): Delete.
(warning, warning_at, pedwarn, permerror): Return bool.
* c-errors.c (pedwarn_c99, pedwarn_c90): Use DK_PEDWARN.
* c-decl.c (locate_old_decl): Delete 'diag' argument. Always use
inform. Update all calls.
(diagnose_mismatched_decls): Check return value of warning/pedwarn
before giving informative note.
(implicit_decl_warning): Likewise.
* c-typeck.c (build_function_call): Likewise.
* tree-sssa.c (warn_uninit): Likewise.
* builtins.c (gimplify_va_arg_expr): Likewise.
fortran/
* f95-lang.c (gfc_mark_addressable): Use "pedwarn (0," instead of
'pedwarn0'.
cp/
* cp-tree.h (struct diagnostic_context, struct diagnostic_info):
Delete forward declarations. Check that toplev.h has not been
included before this file. Include toplev.h and diagnostic.h.
* error.c (cp_cpp_error): Use DK_PEDWARN.
(cxx_incomplete_type_diagnostic): Update declaration.
(cxx_incomplete_type_error): Use DK_ERROR.
* typeck2.c (cxx_incomplete_type_diagnostic): Take a diagnostic_t
as argument. Use emit_diagnostic.
(cxx_incomplete_type_error): Use DK_ERROR.
(add_exception_specifier): Use diagnostic_t instead of custom
codes.
* typeck.c (complete_type_or_else): Update call to
cxx_incomplete_type_diagnostic.
* init.c (build_delete): Likewise.
* call.c (diagnostic_fn_t): Remove unused typedef.
(build_temp): Pass a pointer to diagnostic_t.
(convert_like_real): Use emit_diagnostic.
(joust): Check return value of warning before giving informative
note.
* friend.c (do_friend): Check return value of warning
before giving informative note.
* parser.c (cp_parser_template_id): Likewise.
testsuite/
* gcc.dg/pr36901-1.c: New.
* gcc.dg/pr36901-3.c: New.
* gcc.dg/pr36901-2.c: New.
* gcc.dg/pr36901-4.c: New.
* gcc.dg/pr36901-system.h: New.
* gcc.dg/pr36901.h: New.
* gcc.target/powerpc/altivec-macros.c: Update.
* gcc.target/i386/regparm.c: Update.
* gcc.dg/funcdef-var-1.c: Update.
* gcc.dg/parm-mismatch-1.c: Update.
* gcc.dg/attr-noinline.c: Update.
* gcc.dg/wtr-static-1.c: Update.
* gcc.dg/redecl-11.c: Update.
* gcc.dg/pr27953.c: Update.
* gcc.dg/proto-1.c: Update.
* gcc.dg/decl-3.c: Update.
* gcc.dg/redecl-13.c: Update.
* gcc.dg/pr15360-1.c: Update.
* gcc.dg/redecl-15.c: Update.
* gcc.dg/enum-compat-1.c: Update.
* gcc.dg/dll-3.c: Update.
* gcc.dg/array-5.c: Update.
* gcc.dg/Wredundant-decls-2.c: Update.
* gcc.dg/inline4.c: Update.
* gcc.dg/redecl-2.c: Update.
* gcc.dg/inline-14.c: Update.
* gcc.dg/tls/diag-3.c: Update.
* gcc.dg/funcdef-var-2.c: Update.
* gcc.dg/20041213-1.c: Update.
* gcc.dg/old-style-then-proto-1.c: Update.
* gcc.dg/decl-2.c: Update.
* gcc.dg/redecl-12.c: Update.
* gcc.dg/decl-4.c: Update.
* gcc.dg/Wshadow-1.c: Update.
* gcc.dg/transparent-union-2.c: Update.
* gcc.dg/visibility-7.c: Update.
* gcc.dg/dll-2.c: Update.
* gcc.dg/redecl-16.c: Update.
* gcc.dg/inline1.c: Update.
* gcc.dg/decl-8.c: Update.
* gcc.dg/nested-redef-1.c: Update.
* gcc.dg/inline3.c: Update.
* gcc.dg/redecl-1.c: Update.
* gcc.dg/inline5.c: Update.
* gcc.dg/pr35899.c: Update.
* gcc.dg/noncompile/label-lineno-1.c: Update.
* gcc.dg/noncompile/label-1.c: Update.
* gcc.dg/noncompile/20020220-1.c: Update.
* gcc.dg/noncompile/redecl-1.c: Update.
* gcc.dg/redecl-5.c: Update.
* gcc.dg/qual-return-3.c: Update.
* gcc.dg/label-decl-4.c: Update.
........
r138896 | gccadmin | 2008-08-08 17:16:37 -0700 (Fri, 08 Aug 2008) | 1 line
Daily bump.
........
r138898 | manu | 2008-08-08 17:30:41 -0700 (Fri, 08 Aug 2008) | 9 lines
2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c++/12242
cp/
* cvt.c (ocp_convert): Warn for out-of-range conversions to enum.
testsuite/
* g++.dg/warn/pr12242.C: New.
........
r138903 | manu | 2008-08-09 02:37:57 -0700 (Sat, 09 Aug 2008) | 6 lines
2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
ada/
* gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
by warn_unused.
........
r138904 | manu | 2008-08-09 05:37:32 -0700 (Sat, 09 Aug 2008) | 15 lines
2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c/17880
* c-typeck.c (digest_init): Call verify_sequence_points from here.
(c_finish_return): Likewise.
(c_start_case): Likewise.
* c-common.c (warn_for_collisions_1): Use explicit location in
warning.
* c-parser.c (c_parser_condition): New. Call
verify_sequence_points.
(c_parser_paren_condition): Call c_parser_condition.
(c_parser_for_statement): Call c_parser_condition.
testsuite/
* gcc.dg/sequence-pt-pr17880.c: New.
........
r138905 | paolo | 2008-08-09 08:02:30 -0700 (Sat, 09 Aug 2008) | 5 lines
2008-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* config/locale/darwin/ctype_members.cc: Include <cstdio>.
........
r138906 | paolo | 2008-08-09 08:58:52 -0700 (Sat, 09 Aug 2008) | 8 lines
2008-08-09 Paolo Carlini <paolo.carlini@oracle.com>
Revert fix for libstdc++/35637, thanks to other/36901.
* include/tr1_impl/type_traits (__is_function_helper): New, uses
variadic templates.
(is_function): Forward to the latter.
(__in_array): Remove.
........
r138907 | rguenth | 2008-08-09 10:28:39 -0700 (Sat, 09 Aug 2008) | 31 lines
2008-08-09 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_build_call_1): Deal with FUNCTION_DECL fn.
* gimple.h (gimple_call_fn): Adjust comment.
(gimple_call_set_fndecl): New function.
(gimple_call_fndecl): Adjust for GIMPLE_CALL no
longer having bare FUNCTION_DECL operand.
(gimple_call_return_type): Likewise.
* tree-cfg.c (verify_stmt): Verify function operand of a GIMPLE_CALL.
* value-prof.c (gimple_divmod_fixed_value): Do not emit labels.
(gimple_mod_pow2): Likewise.
(gimple_mod_subtract): Likewise.
(gimple_ic): Likewise.
(gimple_stringop_fixed_value): Likewise.
(gimple_indirect_call_to_profile): Fix for GIMPLE_CALL no
longer having bare FUNCTION_DECL operand.
* ipa-cp.c (ipcp_update_callgraph): Use gimple_call_set_fndecl.
* omp-low.c (optimize_omp_library_calls): Likewise.
* cgraphunit.c (update_call_expr): Likewise.
* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
(execute_convert_to_rsqrt): Likewise.
* cfgexpand.c (gimple_to_tree): Simplify.
(release_stmt_tree): Fix for GIMPLE_CALL no longer having
bare FUNCTION_DECL operand.
* tree-nested.c (init_tmp_var_with_call): Use gimple_call_return_type.
(convert_gimple_call): Use gimple_call_fndecl.
* c-common.c (c_warn_unused_result): Likewise.
* gcc.dg/tree-ssa/inline-2.c: New testcase.
........
r138908 | rsandifo | 2008-08-09 11:10:18 -0700 (Sat, 09 Aug 2008) | 15 lines
gcc/
2008-08-09 Richard Sandiford <rdsandiford@googlemail.com>
Daniel Jacobowitz <dan@codesourcery.com>
* config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Delete.
* config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Delete.
(ASM_DECLARE_FUNCTION_SIZE, FUNCTION_NAME_ALREADY_DECLARED): Delete.
* config/mips/mips.c (mips_start_function_definition): New function.
(mips_end_function_definition): Likewise.
(mips_output_function_prologue): Use mips_start_function_definition.
(mips_output_function_epilogue): Use mips_end_function_definition.
(build_mips16_function_stub): Use mips_start_function_definition
and mips_end_function_definition.
(build_mips16_call_stub): Likewise.
........
r138909 | rsandifo | 2008-08-09 11:11:19 -0700 (Sat, 09 Aug 2008) | 13 lines
gcc/
* config/mips/mips.h (STATIC_CHAIN_REGNUM): Remap to $15.
(FUNCTION_PROFILER): Save the static chain pointer into $2
beforehand and restore it aftewards.
(TRAMPOLINE_TEMPLATE): Adjust accordingly. Load the target
address directly into $25 and call the function through $25;
do not clobber $3. Pad the DImode version to cover the space
left by the deleted $25 <- $3 move.
(TRAMPOLINE_SIZE): Adjust the size of the SImode version after
the removal of the $25 <- $3 move.
(INITIALIZE_TRAMPOLINE): Update offsets accordingly.
* config/mips/sdemtk.h (FUNCTION_PROFILER): As for mips.h.
........
r138910 | rsandifo | 2008-08-09 11:19:32 -0700 (Sat, 09 Aug 2008) | 5 lines
gcc/
* config/mips/mips.h (MASK_RETURN_ADDR): Expand commentary.
* config/mips/linux-unwind.h (mips_fallback_frame_state): Add 2
rather than 4 to PC.
........
r138911 | rsandifo | 2008-08-09 11:21:50 -0700 (Sat, 09 Aug 2008) | 6 lines
gcc/
* config/mips/mips.c (mips_unspec_address_offset): Move earlier in file.
(mips_unspec_address, mips_unspec_offset_high): Likewise.
(mips_ok_for_lazy_binding_p, mips_load_call_address): Likewise.
(mips16_cfun_returns_in_fpr_p): Likewise.
........
r138912 | rsandifo | 2008-08-09 12:08:15 -0700 (Sat, 09 Aug 2008) | 148 lines
* configure.ac (mips*-*-*linux*, mips*-*-gnu*): Use mt-mips-gnu.
* configure: Regenerate.
config/
* mt-mips16-compat: New file, taken from mt-mips-elfoabi.
* mt-mips-elfoabi: Include mt-mips16-compat.
* mt-mips-gnu: New file.
gcc/
* config.gcc (mips*-*-linux*, mips64*-*-linux*): Add
mips/t-libgcc-mips16 to tmake_file.
* config/mips/mips-protos.h (mips_call_type): New enum.
(mips_pic_base_register, mips_got_load): Declare.
(mips_restore_gp): Take an rtx argument.
(mips_use_pic_fn_addr_reg_p): Declare.
(mips_expand_call): Replace the sibcall_p argument with
a mips_call_type argument. Add a lazy_p parameter.
(mips_split_call): Declare.
* config/mips/mips.h (MIPS16_PIC_TEMP_REGNUM): New macro.
(MIPS16_PIC_TEMP): Likewise.
(reg_class): Delete M16_NA_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
(SYMBOL_FLAG_BIND_NOW, SYMBOL_REF_BIND_NOW_P): New macros.
(mips_split_hi_p): Declare.
* config/mips/mips.c (mips_split_hi_p): New array.
(mips_regno_to_class): Change M16_NA_REGS entries to M16_REGS.
(mips_got_symbol_type_p): New function.
(mips_global_symbol_p): Check SYMBOL_REF_EXTERNAL_P.
(mips16_stub_function_p): New function.
(mips16_local_function_p): Likewise.
(mips_use_pic_fn_addr_reg_p): Likewise.
(mips_cannot_force_const_mem): Return false for HIGHs.
Extend CONST_INT and symbolic handling to MIPS16, using
mips_symbol_insns to check that the base symbol type is a
legitimate constant. Reject GOT-based constants if
TARGET_MIPS16_PCREL_LOADS.
(mips_const_insns): Check targetm.cannot_force_const_mem when
decomposing a symbolic base and a large offset.
(mips_emit_call_insn): Add ORIG_ADDR and ADDR parameters.
When calling a function that needs $25 from MIPS16 code,
move the target address into $25 separately and add a USE
to the call insn.
(mips16_gp_pseudo_reg): Insert the initializer immediately
before the first real insn.
(mips_pic_base_register, mips_got_load): New functions.
(mips_split_symbol): Generalize the name of the LO_SUM_OUT
parameter to LOW_OUT. Say that it can be any valid SET_SRC
when splitting a load-address operation. Split SYMBOL_GOT_DISP
constants and highs of SYMBOL_GOT_PAGE_OFST constants.
(mips_call_tls_get_addr): Update the call to mips_expand_call,
also passing NULL_RTX rather than const0_rtx as the aux argument.
(mips_rewrite_small_data_p): Check mips_lo_relocs and mips_split_p
instead of TARGET_EXPLICIT_RELOCS.
(mips_ok_for_lazy_binding_p): Check SYMBOL_REF_BIND_NOW_P.
(mips_load_call_address): Replace the sibcall_p argument with
a mips_call_type argument. Use mips_got_load.
(mips16_local_alias): New structure.
(mips16_local_aliases): New variable.
(mips16_local_aliases_hash): New function.
(mips16_local_aliases_eq): Likewise.
(mips16_local_alias): Likewise.
(mips16_stub_function): Likewise.
(mips16_build_function_stub): Create a local alias for the target
function. Handle TARGET_ABICALLS. For PIC abicalls, emit a
.cpload directive and an R_MIPS_NONE relocation for the target
function, then load the alias rather than the function itself.
Wrap the non-PIC abicalls version in ".option pic0/.option pic2".
(mips16_copy_fpr_return_value): Use mips16_stub_function and
mips_expand_call. Set SYMBOL_REF_BIND_NOW on the symbol.
(mips16_build_call_stub): Replace the FN parameter with an
FN_PTR parameter. Force the address into a register if it
isn't a call_insn_operand; don't rely on the caller to do this.
If a call to a locally-defined and locally-binding MIPS16
function must be made indirectly, redirect the call to the
function's local alias. Use mips16_stub_function_p,
mips16_stub_function, mips_expand_call and use_reg.
Set SYMBOL_FLAG_BIND_NOW on __mips_call_* symbols.
Use explicit %hi and %lo accesses where possible.
Use MIPS_CALL to generate the correct code form of a
jal instruction. Add clobbers of $18 instead of uses.
Update the call to mips_emit_call_insn.
(mips_expand_call): Replace the SIBCALL_P argument with a
mips_call_type argument and handle the new MIPS_CALL_EPILOGUE value.
Take a LAZY_P parameter. Call mips16_build_call_stub first,
allowing it to modify the call address. Update the calls to
mips_load_call_address and mips_emit_call_insn.
(mips_split_call): New function.
(mips_init_relocs): Clear mips_split_hi_p. Only use %gp_rel if
!TARGET_MIPS16. Split SYMBOL_GOT_DISP, and the high parts of
SYMBOL_GOT_PAGE_OFST, for MIPS16 code.
(mips_global_pointer): Check mips16_cfun_returns_in_fpr_p.
(mips_extra_live_on_entry): Include MIPS16_PIC_TEMP_REGNUM
if TARGET_MIPS16.
(mips_cprestore_slot): New function.
(mips_restore_gp): Take a TEMP parameter. Handle TARGET_MIPS16
and use mips_cprestore_slot.
(mips_output_function_prologue): Handle TARGET_MIPS16 for
LOADGP_OLDABI.
(mips_emit_loadgp): Move into MIPS16_PIC_TEMP for MIPS16,
then use a copygp_mips16 instruction to set up $28.
(mips_expand_prologue): Initialize the cprestore slot for MIPS16 too.
(mips16_lay_out_constants): Call split_all_insns_noflow.
(mips_reorg_process_insns): Explicitly set all_noreorder_p to
false if TARGET_MIPS16.
(mips_reorg): Don't call vr4130_align_insns if TARGET_MIPS16.
(mips_output_mi_thunk): Use mips_got_symbol_type_p. Use the
mips_dangerous_for_la25_p approach for MIPS16 PIC calls too.
(mips_set_mips16_mode): Always set MASK_EXPLICIT_RELOCS for
MIPS16 code. Allow MIPS16 o32 PIC.
(mips_override_options): Allow MIPS16 o32 PIC.
* config/mips/mips.md: Lower CONST_GP_P moves into register moves
after reload if TARGET_USE_GOT.
(UNSPEC_COPYGP): New constant.
(length): Use a default length of 8 for MIPS16 GOT loads.
(*got_disp<mode>): Check mips_split_p instead of TARGET_XGOT.
(*got_page<mode>): Check mips_split_hi_p.
(*got_disp<mode>, *got_page<mode>): Use mips_got_load.
(unspec_got<mode>, unspec_call<mode>): New expanders.
(load_got<mode>, load_call<mode>): Remove the length attributes.
Use a got attribute instead of a type attribute.
(copygp_mips16): New insn.
(restore_gp): Add a scratch clobber and pass it to mips_restore_gp.
(load_call<mode>): Use a "d" constraint instead of an "r" constraint.
(sibcall, sibcall_value, call, call_value): Update the calls
to mips_expand_call.
(call_internal, call_value_internal): Use mips_split_call.
(call_value_multiple_internal): Likewise.
(call_split): Move after call_internal (the insn it is split from).
(call_internal_direct, call_value_internal_direct): Turn into
define_insn_and_splits. Split if TARGET_SPLIT_CALLS.
(call_direct_split, call_value_direct_split): New patterns.
* config/mips/constraints.md (c): Handle TARGET_MIPS16 first
and use M16_REGS instead of M16_NA_REGS.
* config/mips/predicates.md (const_call_insn_operand): Replace
the TARGET_ABSOLUTE_ABICALLS-based check with a more general
mips_use_pic_fn_addr_reg_p check.
(move_operand): Reject HIGHs if mips_split_hi_p.
* config/mips/mips16.S: Assembly as empty if the ABI is not suitable.
(__mips16_floatunsisf): Inline __mips16_floatsisf.
(CALL_STUB_NO_RET, CALL_STUB_REG): Copy the target register to $25.
* config/mips/libgcc-mips16.ver: New file.
* config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Add
$(srcdir)/config/mips/libgcc-mips16.ver.
gcc/testsuite/
* lib/target-supports.exp (check_profiling_available): Return false
for -p and -pg on MIPS16 targets.
........
r138914 | jvdelisle | 2008-08-09 12:17:24 -0700 (Sat, 09 Aug 2008) | 6 lines
2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/36582
* io/list_read.c: If variable rank is zero, do not adjust the found
namelist object pointer. Fix ChangeLog.
........
r138915 | aesok | 2008-08-09 12:58:25 -0700 (Sat, 09 Aug 2008) | 6 lines
* config/avr/avr.c (avr_mcu_types): Move the AT43USB320 device to
avr31 architecture.
* config/avr/avr.h (CRT_BINUTILS_SPECS): (Ditto.).
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
........
r138916 | hjl | 2008-08-09 14:47:28 -0700 (Sat, 09 Aug 2008) | 8 lines
2008-08-09 Jan Hubicka <jh@suse.cz>
PR target/37055
* optabs.c (maybe_emit_unop_insn): Remove produced code if
expansion failed.
(expand_fix): Be prepared for expansion to fail.
(expand_sfix_optab): Remove instructions if expansion failed.
........
r138917 | jsm28 | 2008-08-09 16:30:44 -0700 (Sat, 09 Aug 2008) | 2 lines
* sv.po: Update.
........
r138921 | gccadmin | 2008-08-09 17:16:36 -0700 (Sat, 09 Aug 2008) | 1 line
Daily bump.
........
r138924 | pinskia | 2008-08-09 21:54:37 -0700 (Sat, 09 Aug 2008) | 13 lines
2008-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/36238
* reload1.c (gen_reload): Guard calls to get_secondary_mem
for memory subregs.
2008-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/36238
* gcc.c-torture/compile/pr36238.c: New testcase.
........
r138925 | paolo | 2008-08-10 03:11:46 -0700 (Sun, 10 Aug 2008) | 14 lines
2008-08-10 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/type_traits (_DEFINE_SPEC*): Simplify.
(_DEFINE_SPEC_BODY): Remove.
(__is_void_helper, __is_integral_helper, __is_floating_point_helper,
__is_member_object_pointer_helper, __is_member_function_pointer_helper,
__remove_pointer_helper): Add.
(is_void, is_integral, is_floating_point, is_member_object_pointer,
is_member_function_pointer, remove_pointer): Use the latter.
* include/tr1/type_traits (_DEFINE_SPEC): Simplify.
(_DEFINE_SPEC_HELPER): Remove.
(__is_signed_helper, __is_unsigned_helper): Add.
(is_signed, is_unsigned): Use the latter.
........
r138932 | manu | 2008-08-10 11:32:52 -0700 (Sun, 10 Aug 2008) | 8 lines
2008-08-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 36901
testsuite/
* gcc.dg/pr36901.h: Do not depend on limits.h.
* gcc.dg/pr36901-3.c: Update.
* gcc.dg/pr36901-4.c: Update.
........
r138933 | manu | 2008-08-10 11:46:10 -0700 (Sun, 10 Aug 2008) | 13 lines
2008-08-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/20644
* tree-ssa.c (struct walk_data): Add new flag
warn_possibly_uninitialized.
(warn_uninitialized_var): Use it.
(warn_uninitialized_vars): New.
(execute_early_warn_uninitialized): Call it.
(execute_late_warn_uninitialized): Likewise.
testsuite/
* gcc.dg/uninit-pr20644-O0.c: New.
* gcc.dg/uninit-pr20644.c: New.
........
r138934 | sam | 2008-08-10 13:13:24 -0700 (Sun, 10 Aug 2008) | 13 lines
2008-08-10 Samuel Tardieu <sam@rfc1149.net>
Robert Dewar <dewar@adacore.com>
gcc/ada/
* exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
left argument even when right argument is 0.
(Expand_N_Op_Mod): Ditto when right argument is 1.
(Expand_N_Op_Multiply): Ditto when any argument is 0.
(Expand_N_Op_Rem): Ditto when right argument is 1.
2008-08-10 Samuel Tardieu <sam@rfc1149.net>
gcc/testsuite/
* gnat.dg/exp0_eval.adb: New.
........
r138936 | dje | 2008-08-10 16:37:04 -0700 (Sun, 10 Aug 2008) | 2 lines
Fix typo in "Software".
........
r138939 | gccadmin | 2008-08-10 17:16:51 -0700 (Sun, 10 Aug 2008) | 1 line
Daily bump.
........
r138950 | krebbel | 2008-08-10 23:55:39 -0700 (Sun, 10 Aug 2008) | 7 lines
2008-08-11 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.target/s390/20080806-1.c: Move testcase ...
* gcc.c-torture/compile/20080806-1.c: ... to here and make it
stack size sensitive.
........
r138951 | jakub | 2008-08-11 03:23:08 -0700 (Mon, 11 Aug 2008) | 6 lines
PR rtl-optimization/36998
* dwarf2out.c (compute_barrier_args_size_1,
compute_barrier_args_size): Temporarily remove assertions.
* gcc.dg/pr36998.c: New test.
........
r138953 | matz | 2008-08-11 05:15:37 -0700 (Mon, 11 Aug 2008) | 4 lines
* i386/i386.c: (override_options): Move initialisation from
flag_schedule_insns_after_reload to here from ...
(optimization_options): ... here.
........
r138954 | paolo | 2008-08-11 08:08:20 -0700 (Mon, 11 Aug 2008) | 5 lines
2008-08-11 Paolo Carlini <paolo.carlini@oracle.com>
* configure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.
* configure: Regenerate.
........
r138957 | sam | 2008-08-11 10:04:07 -0700 (Mon, 11 Aug 2008) | 6 lines
2008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
gcc/ada/
* s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
* gsocket.h, socket.c: Update to support RTEMS.
* gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
........
r138966 | paolo | 2008-08-11 12:28:35 -0700 (Mon, 11 Aug 2008) | 4 lines
2008-08-11 Paolo Carlini <paolo.carlini@oracle.com>
* config/locale/generic/c_locale.cc: Include <cstdio>.
........
r138967 | smw | 2008-08-11 14:06:00 -0700 (Mon, 11 Aug 2008) | 1 line
Formatting fixes for include/tr1_impl/regex.
........
r138970 | gccadmin | 2008-08-11 17:16:43 -0700 (Mon, 11 Aug 2008) | 1 line
Daily bump.
........
r138974 | dannysmith | 2008-08-11 22:42:28 -0700 (Mon, 11 Aug 2008) | 5 lines
* g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
with SOSC.SOCK__STREAM.
* g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
SOSC.MSG_OOB.
........
r138978 | dannysmith | 2008-08-11 23:01:59 -0700 (Mon, 11 Aug 2008) | 4 lines
* gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]: Remove
duplicate s-win32.o. Add s-winext.o.
........
r138988 | irar | 2008-08-11 23:31:57 -0700 (Mon, 11 Aug 2008) | 15 lines
* tree-vectorizer.c: Depend on langhooks.h.
(supportable_widening_operation): Add two arguments. Support double
type conversions.
(supportable_narrowing_operation): Likewise.
* tree-vectorizer.h (supportable_widening_operation): Add two
arguments.
(supportable_narrowing_operation): Likewise.
* tree-vect-patterns.c (vect_recog_widen_mult_pattern) : Call
supportable_widening_operation with correct arguments.
* tree-vect-transform.c (vectorizable_conversion): Likewise.
(vectorizable_type_demotion): Support double type conversions.
(vectorizable_type_promotion): Likewise.
* Makefile.in (tree-vectorizer.o): Depend on langhooks.h.
........
r138995 | reichelt | 2008-08-11 23:57:53 -0700 (Mon, 11 Aug 2008) | 2 lines
Fix my email address.
........
r139004 | jakub | 2008-08-12 01:07:57 -0700 (Tue, 12 Aug 2008) | 6 lines
PR c++/36688
* gimplify.c (gimplify_modify_expr_rhs): Test TREE_READONLY
on the VAR_DECL instead of TYPE_READONLY on its type.
* g++.dg/init/const6.C: New test.
........
r139005 | jakub | 2008-08-12 01:28:30 -0700 (Tue, 12 Aug 2008) | 2 lines
dg-do run the test instead of compile.
........
r139008 | paolo | 2008-08-12 03:41:26 -0700 (Tue, 12 Aug 2008) | 10 lines
2008-08-12 Paolo Carlini <paolo.carlini@oracle.com>
* configure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and
GLIBCXX_CHECK_C99_TR1; remove sigsetjmp and mmap checks (unused).
* crossconfig.m4: Adjust; remove HAVE_GETPAGESIZE defines (unused).
* configure: Regenerate.
* config.h.in: Likewise.
* acinclude.m4: Minor formatting fixes.
........
r139009 | uweigand | 2008-08-12 06:06:32 -0700 (Tue, 12 Aug 2008) | 2 lines
* config/spu/spu.h (DWARF_FRAME_RETURN_COLUMN): Define.
........
r139011 | uweigand | 2008-08-12 06:09:09 -0700 (Tue, 12 Aug 2008) | 2 lines
* config/spu/spu.c (spu_safe_dma): Respect TARGET_SAFE_DMA.
........
r139013 | uweigand | 2008-08-12 06:13:38 -0700 (Tue, 12 Aug 2008) | 17 lines
ChangeLog:
* real.c (spu_single_format): New variable.
* real.h (spu_single_format): Declare.
* config/spu/spu.c (spu_override_options): Install SFmode format.
(spu_split_immediate): Use integer mode to operate on pieces of
floating-point values in all cases.
* config/spu/spu.md (UNSPEC_FLOAT_EXTEND, UNSPEC_FLOAT_TRUNCATE): New.
("extendsfdf2"): Use UNSPEC_FLOAT_EXTEND instead of FLOAT_EXTEND.
("truncdfsf2"): Use UNSPEC_FLOAT_TRUNCATE instead of FLOAT_TRUNCATE.
testsuite/ChangeLog:
* gcc.c-torture/execute/ieee/inf-2.c (testf): Skip on the SPU.
........
r139014 | uweigand | 2008-08-12 06:19:40 -0700 (Tue, 12 Aug 2008) | 38 lines
ChangeLog:
* real.h (struct real_format): New member round_towards_zero.
* real.c (round_for_format): Respect fmt->round_towards_zero.
(ieee_single_format, mips_single_format, motorola_single_format,
spu_single_format, ieee_double_format, mips_double_format,
motorola_double_format, ieee_extended_motorola_format,
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
ieee_extended_intel_96_round_53_format, ibm_extended_format,
mips_extended_format, ieee_quad_format, mips_quad_format,
vax_f_format, vax_d_format, vax_g_format): Initialize it.
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
* builtins.s (do_mpfr_arg1): Consider round_towards_zero member of
real_format to choose rounding mode when calling MPFR functions.
(do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Likewise.
(do_mpfr_bessel_n, do_mpfr_remquo, do_mpfr_lgamma_r): Likewise.
* real.h (real_to_decimal_for_mode): Add prototype.
* real.c (real_to_decimal_for_mode): Renames old real_to_decimal.
Respect target rounding mode when generating decimal representation.
(real_to_decimal): New stub for backwards compatibility.
* c-cppbuiltin.c (builtin_define_with_hex_fp_value): Use
real_to_decimal_for_mode instead of real_to_decimal.
* config/spu/spu.md ("floatdisf2", "floatunsdisf2"): New.
testsuite/ChangeLog:
* gcc.c-torture/execute/20031003-1.c (main): Update test to
accommodate SPU single-precision rounding mode.
* gcc.c-torture/execute/conversion.c (test_float_to_integer,
test_float_to_longlong_integer): Likewise.
* gcc.c-torture/execute/ieee/rbug.c (main): Likewise.
* gcc.dg/hex-round-1.c: Skip test on SPU.
* gcc.dg/hex-round-2.c: Likewise.
........
r139015 | uweigand | 2008-08-12 06:22:27 -0700 (Tue, 12 Aug 2008) | 5 lines
* config/spu/float_disf.c: New file.
* config/spu/float_unsdisf.c: New file.
* config/spu/t-elf (LIB2FUNCS_STATIC_EXTRA): Add them.
(LIB2FUNCS_EXCLUDE): Define.
........
r139016 | uweigand | 2008-08-12 06:25:22 -0700 (Tue, 12 Aug 2008) | 36 lines
* real.h (struct real_format): New member has_sign_dependent_rounding.
* real.c (ieee_single_format, mips_single_format, motorola_single_format,
spu_single_format, ieee_double_format, mips_double_format,
motorola_double_format, ieee_extended_motorola_format,
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
ieee_extended_intel_96_round_53_format, ibm_extended_format,
mips_extended_format, ieee_quad_format, mips_quad_format,
vax_f_format, vax_d_format, vax_g_format): Initialize it.
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
* defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
* config/spu/spu.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
(ROUND_TOWARDS_ZERO): Likewise.
* real.h (REAL_MODE_FORMAT): Protect MODE against macro expansion.
(FLOAT_MODE_FORMAT): New macro.
(REAL_MODE_FORMAT_COMPOSITE_P): Remove, replace by ...
(MODE_COMPOSITE_P): ... this new macro.
(MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
MODE_HAS_SIGN_DEPENDENT_ROUNDING): New macros.
* machmode.h (GET_MODE_INNER): Cast result to enum machine_mode.
* flags.h: Include "real.h".
* fold-const.c (const_binop): Use MODE_COMPOSITE_P instead of
REAL_MODE_FORMAT_COMPOSITE_P.
* simplify-rtx.c (simplify_const_binary_operation): Likewise.
* doc/tm.texi (Storage Layout): Remove documentation of
MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
MODE_HAS_SIGN_DEPENDENT_ROUNDING. Update documentation of
ROUND_TOWARDS_ZERO and LARGEST_EXPONENT_IS_NORMAL to clarify
they only apply to libgcc2.a.
........
r139017 | uweigand | 2008-08-12 06:27:30 -0700 (Tue, 12 Aug 2008) | 21 lines
ChangeLog:
* defaults.h (TARGET_FLOAT_FORMAT): Remove.
(UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT): Remove.
* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Remove.
* config/iq2000/iq2000.h (TARGET_FLOAT_FORMAT): Remove.
* config/pdp11/pdp11.h (TARGET_FLOAT_FORMAT): Remove.
* config/score/score.h (TARGET_FLOAT_FORMAT): Remove.
* config/vax/vax.h (TARGET_FLOAT_FORMAT): Remove.
* doc/tm.texi (Storage Layout): Remove documentation for
TARGET_FLOAT_FORMAT.
* simplify-rtx.c (simplify_binary_operation_1): Replace
TARGET_FLOAT_FORMAT check by appropriate HONOR_... checks.
java/ChangeLog:
* typeck.c (convert): Do not check for TARGET_FLOAT_FORMAT.
........
r139019 | uweigand | 2008-08-12 07:35:54 -0700 (Tue, 12 Aug 2008) | 8 lines
PR bootstrap/37097
* builtins.c (do_mpfr_bessel_n): Fix copy-and-paste bug introduced
by last change.
-This line, and those below, will be ignored--
M gcc/builtins.c
M gcc/ChangeLog
........
r139024 | aesok | 2008-08-12 10:13:45 -0700 (Tue, 12 Aug 2008) | 2 lines
* final.c (final_scan_insn): Use app_enable/app_disable functions.
........
r139025 | aesok | 2008-08-12 10:22:28 -0700 (Tue, 12 Aug 2008) | 1 line
Fix final.c.
........
r139026 | singler | 2008-08-12 10:23:00 -0700 (Tue, 12 Aug 2008) | 7 lines
2008-08-12 Johannes Singler <singler@ira.uka.de>
* include/paralle/losertree.h
(LoserTreePointerBase<>::~LoserTreePointerBase):
Replace delete by appropriate delete[].
........
r139028 | jakub | 2008-08-12 10:57:49 -0700 (Tue, 12 Aug 2008) | 6 lines
PR tree-optimization/37084
* tree-inline.c (copy_bb): Call gimple_regimplify_operands
if id->regimplify, don't assume stmt is a cast assignment.
* g++.dg/tree-ssa/pr37084.C: New test.
........
r139029 | jakub | 2008-08-12 11:05:43 -0700 (Tue, 12 Aug 2008) | 7 lines
PR middle-end/37014
* expr.c (expand_expr_real_1): Handle TRUTH_ANDIF_EXPR
and TRUTH_ORIF_EXPR.
* dojump.c (do_jump): Likewise.
* gcc.c-torture/compile/20080812-1.c: New test.
........
r139031 | froydnj | 2008-08-12 11:19:08 -0700 (Tue, 12 Aug 2008) | 4 lines
PR libgomp/26165
* gcc.c (include_spec_function): Tweak call to find_a_file.
........
r139034 | paolo | 2008-08-12 12:38:02 -0700 (Tue, 12 Aug 2008) | 15 lines
/cp
2008-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37087
* parser.c (cp_parser_class_head): Early return error_mark_node in
case of global qualification of class name or qualified name that
does not name a class.
/testsuite
2008-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37087
* g++.dg/template/crash80.C: New.
* g++.old-deja/g++.other/decl5.C: Adjust.
........
r139035 | paolo | 2008-08-12 13:05:02 -0700 (Tue, 12 Aug 2008) | 4 lines
2008-08-12 Paolo Carlini <paolo.carlini@oracle.com>
* g++.old-deja/g++.other/decl5.C: Expand new expected errors.
........
r139036 | paolo | 2008-08-12 13:05:15 -0700 (Tue, 12 Aug 2008) | 4 lines
2008-08-12 Paolo Carlini <paolo.carlini@oracle.com>
* g++.old-deja/g++.other/decl5.C: Expand new expected errors.
........
r139037 | janis | 2008-08-12 14:18:54 -0700 (Tue, 12 Aug 2008) | 3 lines
PR testsuite/36087
* gcc.dg/var-expand3.c: Fix name of dump file.
........
r139038 | janis | 2008-08-12 14:20:57 -0700 (Tue, 12 Aug 2008) | 2 lines
* doc/invoke.texi: Revert unintended checkin.
........
r139039 | janis | 2008-08-12 14:23:11 -0700 (Tue, 12 Aug 2008) | 6 lines
* gcc.target/i386/pr32000-2.c: Use dg-skip-if for target expression.
* gcc.target/i386/stackalign/return-3.c: Ditto.
* gcc.target/sparc/ultrasp3.c: Ditto.
* lib/target-supports-dg.exp (dg-require-effective-target): Error
if argument is not a single effective-target keyword.
........
r139040 | paolo | 2008-08-12 16:14:10 -0700 (Tue, 12 Aug 2008) | 5 lines
2008-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37100
* include/bits/stl_pair.h: Fix documentation URL in comment.
........
r139042 | janis | 2008-08-12 16:46:45 -0700 (Tue, 12 Aug 2008) | 2 lines
* doc/invoke.texi (-fipa-pta): Say the option is experimental.
........
r139045 | gccadmin | 2008-08-12 17:16:36 -0700 (Tue, 12 Aug 2008) | 1 line
Daily bump.
........
r139048 | rguenth | 2008-08-13 01:57:20 -0700 (Wed, 13 Aug 2008) | 30 lines
2008-08-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/15255
* tree-ssa-reassoc.c (linearize_expr_tree): Declare.
(struct oecount_s): New struct and VEC types.
(cvec): New global.
(oecount_hash): New function.
(oecount_eq): Likewise.
(oecount_cmp): Likewise.
(zero_one_operation): New function.
(build_and_add_sum): Likewise.
(undistribute_ops_list): Perform un-distribution of multiplication
and division on the chain of summands.
(should_break_up_subtract): Also break up subtracts for factors.
(reassociate_bb): Delete dead visited statements.
Call undistribute_ops_list. Re-sort and optimize if it did something.
* passes.c (init_optimization_passes): Move DSE before
reassociation.
* tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Correctly handle
PHI nodes.
* gcc.dg/tree-ssa/reassoc-14.c: New testcase.
* gcc.dg/tree-ssa/reassoc-15.c: Likewise.
* gcc.dg/tree-ssa/reassoc-16.c: Likewise.
* gcc.dg/torture/reassoc-1.c: Likewise.
* gcc.dg/tree-ssa/recip-2.c: Adjust.
* gcc.dg/tree-ssa/recip-6.c: Likewise.
* gcc.dg/tree-ssa/recip-7.c: Likewise.
* gfortran.dg/reassoc_4.f: Likewise.
........
r139049 | manu | 2008-08-13 03:01:52 -0700 (Wed, 13 Aug 2008) | 15 lines
2008-08-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 35635
* c-common.c (conversion_warning): Use a switch. Ignore boolean
expressions except for conversions to signed:1 bitfields. Handle
COND_EXPR with constant operands.
testsuite/
* gcc.dg/pr35635.c: New.
* gcc.dg/Wconversion-integer.c: Update.
* gcc.dg/Wconversion-integer-no-sign.c: Update.
* gcc.dg/Wsign-conversion.c: Update.
* g++.dg/warn/pr35635.C: New.
* g++.dg/warn/Wconversion-integer.C: Update.
* g++.dg/warn/Wsign-conversion.C: Update.
........
r139050 | manu | 2008-08-13 03:19:03 -0700 (Wed, 13 Aug 2008) | 15 lines
2008-08-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c/15236
* diagnostic.c (pedwarn_at): New.
* toplev.h (pedwarn_at): Declare.
* c-tree.h (build_enumerator): Update declaration.
* c-decl.c (finish_enum): Update comment.
(build_enumerator): Take a location parameter. Give a pedwarn but do
not perform any conversion.
* c-parser.c (c_parser_enum_specifier): Set correct location for
enumerator.
testsuite/
* gcc.dg/pr15236.c: New.
* gcc.dg/torture/pr25183.c: Update.
........
r139051 | sam | 2008-08-13 03:57:43 -0700 (Wed, 13 Aug 2008) | 14 lines
gcc/ada/
PR ada/36777
* sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
* sem_attr.adb (Check_Type): The current instance of a protected
object is not a type name.
(Analyze_Access_Attribute): Accept instances of protected objects.
(Analyze_Attribute, Attribute_Address clause): Ditto.
* exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
the prefix as being the current instance if needed.
gcc/testsuite/
PR ada/36777
* gnat.dg/protected_self_ref1.adb, gnat.dg/protected_self_ref2.adb:
New.
........
r139052 | aldyh | 2008-08-13 03:58:47 -0700 (Wed, 13 Aug 2008) | 2 lines
new file
........
r139053 | jsm28 | 2008-08-13 04:51:41 -0700 (Wed, 13 Aug 2008) | 3 lines
* config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
LINK_SPEC): Use %R in -Y P argument.
........
r139054 | manu | 2008-08-13 05:26:18 -0700 (Wed, 13 Aug 2008) | 4 lines
2008-08-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* toplev.h (pedwarn_at): Fix declaration.
........
r139061 | rguenth | 2008-08-13 07:22:19 -0700 (Wed, 13 Aug 2008) | 17 lines
2008-08-13 Richard Guenther <rguenther@suse.de>
* tree.h (maybe_fold_offset_to_address): Declare.
* tree-ssa-ccp.c (surely_varying_stmt_p): Fix typo in last commit.
(ccp_fold): Handle pointer conversions the same as fold_stmt.
Likewise for POINTER_PLUS_EXPR.
(maybe_fold_offset_to_reference): Enable disabled code.
(maybe_fold_offset_to_address): New function.
(fold_stmt_r): Use it.
(fold_gimple_assign): Likewise.
* gimplify.c (gimplify_conversion): Use maybe_fold_offset_to_address.
(gimplify_expr): Likewise.
* gcc.dg/tree-ssa/ssa-ccp-21.c: New testcase.
* gcc.dg/tree-ssa/ssa-ccp-22.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise.
........
r139062 | hjl | 2008-08-13 09:20:42 -0700 (Wed, 13 Aug 2008) | 6 lines
2008-08-13 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/36701
* expr.c (emit_group_store): Allocate stack temp with the
largest alignment when copying from register to stack.
........
r139063 | manu | 2008-08-13 10:57:47 -0700 (Wed, 13 Aug 2008) | 30 lines
2008-08-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 30551
* doc/invoke.texi (Wmain): Update.
* c-decl.c (start_decl): warn_main is only 0 or 1.
(start_function): Likewise. Fix formatting.
(finish_function): Delete redundant warning.
* c.opt (Wmain): Add Var(warn_main) and Init(-1).
* c-opts (c_common_handle_option): -Wall only has effect if
warn_main is uninitialized. OPT_Wmain is automatically
handled. -pedantic also enables Wmain.
(c_common_post_options): Handle all logic for Wmain here.
* c-common.c (warn_main): Delete.
(check_main_parameter_types): Make pedwarns conditional on
OPT_Wmain.
* c-common.h (warn_main): Delete.
cp/
* decl.c (grokfndecl): Call check_main_parameters_type only if
-Wmain.
testsuite/
* gcc.dg/pr30551.c: New.
* gcc.dg/pr30551-2.c: New.
* gcc.dg/pr30551-3.c: New.
* gcc.dg/pr30551-4.c: New.
* gcc.dg/pr30551-5.c: New.
* gcc.dg/pr30551-6.c: New.
* gcc.dg/tree-ssa/reassoc-3.c: Don't compile with -pedantic-errors.
* g++.dg/warn/pr30551.C: New.
* g++.dg/warn/pr30551-2.C: New.
........
r139064 | paolo | 2008-08-13 11:14:51 -0700 (Wed, 13 Aug 2008) | 35 lines
2008-08-13 Sebastian Redl <sebastian.redl@getdesigned.at>
Add exception propagation support as per N2179.
* libsupc++/exception_ptr.h (exception_ptr, current_exception,
copy_exception, rethrow_exception): New file, implement exception
propagation.
* libsupc++/eh_ptr.cc (exception_ptr, current_exception,
rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
* libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
__cxa_free_dependent_exception, __get_dependent_exception_from_ue,
__GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
__gxx_dependent_exception_class, __get_object_from_ue,
__get_object_from_ambiguous_exception): Add.
(__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
(__is_gxx_exception_class): Handle dependent exceptions.
* libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
* libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
* libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
* libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
* libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
__cxa_free_dependent_exception): Add.
* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
counting.
* libsupc++/exception: Conditionally include exception_ptr.h.
* libsupc++/Makefile.am: Register new files.
* libsupc++/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add new symbols.
* testsuite/18_support/exception_ptr/current_exception.cc: Test the
core functionality of current_exception().
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
core functionality of rethrow_exception().
* testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
exception objects during exception propagation.
........
r139065 | hjl | 2008-08-13 11:25:14 -0700 (Wed, 13 Aug 2008) | 15 lines
2008-08-13 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2out.c (dwarf_stack_op_name): Remove prototype.
(new_loc_descr): Likewise.
(add_loc_descr): Likewise.
(size_of_loc_descr): Likewise.
(size_of_locs): Likewise.
(output_loc_operands): Likewise.
(output_loc_sequence): Likewise.
(new_reg_loc_descr): New.
(build_cfa_loc): Use it.
(build_cfa_aligned_loc): Likewise.
(one_reg_loc_descriptor): Likewise.
(based_loc_descr): Likewise.
........
r139072 | ebotcazou | 2008-08-13 12:38:39 -0700 (Wed, 13 Aug 2008) | 6 lines
* gimple.h (gimple_call_set_chain): Accept SSA variables.
* tree-ssa-pre.c (create_component_ref_by_pieces_1) <CALL_EXPR>:
Rematerialize the static chain, if any.
* tree-ssa-sccvn.c (copy_reference_ops_from_call): Also copy the
static chain.
........
r139074 | paolo | 2008-08-13 13:08:55 -0700 (Wed, 13 Aug 2008) | 4 lines
2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last patch.
........
r139075 | paolo | 2008-08-13 13:10:42 -0700 (Wed, 13 Aug 2008) | 4 lines
2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last patch.
........
r139082 | uweigand | 2008-08-13 13:36:57 -0700 (Wed, 13 Aug 2008) | 3 lines
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
__PPU__ when targeting the Cell/B.E. PPU processor.
........
r139084 | jsm28 | 2008-08-13 13:52:22 -0700 (Wed, 13 Aug 2008) | 4 lines
* config/sparc/sparc.c (emit_soft_tfmode_cvt): Explicitly sign or
zero extend SImode values being converted to TFmode before passing
to libcalls.
........
r139086 | kazu | 2008-08-13 16:21:12 -0700 (Wed, 13 Aug 2008) | 4 lines
* gcc.dg/arm-g2.c, gcc.dg/arm-mmx-1.c, gcc.dg/arm-scd42-2.c:
Skip if the multilib testing specifies -march that does not
agree with the one specified in the testcase.
........
r139089 | gccadmin | 2008-08-13 17:16:36 -0700 (Wed, 13 Aug 2008) | 1 line
Daily bump.
........
r139091 | paolo | 2008-08-13 18:17:09 -0700 (Wed, 13 Aug 2008) | 5 lines
2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Re-instate last patch, amended to use __exchange_and_add_dispatch
and __atomic_add_dispatch in eh_ptr.cc and eh_throw.cc.
........
r139092 | hjl | 2008-08-13 21:35:32 -0700 (Wed, 13 Aug 2008) | 8 lines
2008-08-13 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/incoming-1.c: Skip *-*-darwin*.
* gcc.target/i386/incoming-2.c: Likewise.
* gcc.target/i386/incoming-3.c: Likewise.
* gcc.target/i386/incoming-4.c: Likewise.
* gcc.target/i386/incoming-5.c: Likewise.
........
r139093 | jakub | 2008-08-14 02:02:46 -0700 (Thu, 14 Aug 2008) | 7 lines
PR middle-end/37103
* fold-const.c (fold_widened_comparison): Do not allow
sign changes that change the result even if shorter type
is wider than arg1_unw's type.
* gcc.c-torture/execute/20080813-1.c: New test.
........
r139095 | uros | 2008-08-14 04:57:18 -0700 (Thu, 14 Aug 2008) | 11 lines
PR target/37101
* config/i386/sse.md (vec_concatv2di): Remove movlps alternative.
(*vec_concatv2di_rex64_sse4_1): Ditto.
(*vec_concatv2di_rex64_sse): Ditto.
testsuite/ChangeLog:
PR target/37101
* gcc.target/i386/pr37101.c: New test.
........
r139096 | dorit | 2008-08-14 05:47:56 -0700 (Thu, 14 Aug 2008) | 20 lines
2008-08-14 Dorit Nuzman <dorit@il.ibm.com>
* tree-vect-transform.c (vect_create_epilog_for_reduction): Takes an
additional argument. Support reduction when duplication is needed due
to data-types of different sizes in the loop.
(get_initial_def_for_induction): Fix printout.
(vect_get_vec_def_for_stmt_copy): Support case where the
vec_stmt_for_operand is a phi node.
(vectorizable_reduction): Support reduction when duplication is needed
due to data-types of different sizes in the loop.
(vectorizable_call): Remove restriction to not vectorize in case we
have data-types of different sizes in the loop.
(vectorizable_conversion): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_type_demotion): Likewise.
(vectorizable_type_promotion): Likewise.
(vectorizable_induction): Add restriction to not vectorize in case
we have data-types of different sizes in the loop.
........
r139097 | manu | 2008-08-14 06:01:58 -0700 (Thu, 14 Aug 2008) | 10 lines
2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c/28152
* c-parser.c (c_lex_one_token): Do not store the canonical spelling
for keywords.
testsuite/
* gcc.dg/parser-pr28152.c: New.
* gcc.dg/parser-pr28152-2.c: New.
........
r139099 | paolo | 2008-08-14 08:11:01 -0700 (Thu, 14 Aug 2008) | 13 lines
/cp
2008-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34600
* decl.c (grokdeclarator): In case of extern and initializer, return
error_mark_node after the error.
/testsuite
2008-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34600
* g++.dg/parse/crash43.C: New.
........
r139100 | espindola | 2008-08-14 09:05:36 -0700 (Thu, 14 Aug 2008) | 10 lines
2008-08-14 Rafael Avila de Espindola <espindola@google.com>
* gcc.dg/visibility-14.c: New test.
* gcc.dg/visibility-15.c: New test.
* gcc.dg/visibility-16.c: New test.
* gcc.dg/visibility-17.c: New test.
* gcc.dg/visibility-18.c: New test.
* gcc.dg/visibility-19.c: New test.
........
r139111 | tkoenig | 2008-08-14 11:31:32 -0700 (Thu, 14 Aug 2008) | 39 lines
2008-08-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/36886
* Makefile.am: Added $(i_cshift0_c).
Added $(i_cshift0_c) to gfor_built_specific_src.
Add rule to build from cshift0.m4.
* Makefile.in: Regenerated.
* libgfortran.h: Addedd prototypes for cshift0_i1,
cshift0_i2, cshift0_i4, cshift0_i8, cshift0_i16,
cshift0_r4, cshift0_r8, cshift0_r10, cshift0_r16,
cshift0_c4, cshift0_c8, cshift0_c10, cshift0_c16.
Define Macros GFC_UNALIGNED_C4 and GFC_UNALIGNED_C8.
* intrinsics/cshift0.c: Remove helper functions for
the innter shift loop.
(cshift0): Call specific functions depending on type
of array argument. Only call specific functions for
correct alignment for other types.
* m4/cshift0.m4: New file.
* generated/cshift0_i1.c: New file.
* generated/cshift0_i2.c: New file.
* generated/cshift0_i4.c: New file.
* generated/cshift0_i8:.c New file.
* generated/cshift0_i16.c: New file.
* generated/cshift0_r4.c: New file.
* generated/cshift0_r8.c: New file.
* generated/cshift0_r10.c: New file.
* generated/cshift0_r16.c: New file.
* generated/cshift0_c4.c: New file.
* generated/cshift0_c8.c: New file.
* generated/cshift0_c10.c: New file.
* generated/cshift0_c16.c: New file.
2008-08-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/36886
* gfortran.dg/cshift_char_3.f90: New test case.
* gfortran.dg/cshift_nan_1.f90: New test case.
........
r139114 | paolo | 2008-08-14 12:04:05 -0700 (Thu, 14 Aug 2008) | 18 lines
/cp
2008-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34485
* pt.c (check_template_shadow): Change to return a bool.
* name-lookup.c (push_class_level_binding): Early return if
check_template_shadow returns false.
* cp-tree.h (check_template_shadow): Adjust declaration.
/testsuite
2008-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34485
* g++.dg/template/crash81.C: New.
* g++.old-deja/g++.benjamin/tem03.C: Adjust.
* g++.old-deja/g++.benjamin/tem04.C: Likewise.
* g++.old-deja/g++.brendan/crash7.C: Likewise.
........
r139116 | janus | 2008-08-14 14:15:59 -0700 (Thu, 14 Aug 2008) | 15 lines
2008-08-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/36705
* symbol.c (check_conflict): Move conflict checks for (procedure,save)
and (procedure,intent) to resolve_fl_procedure.
* resolve.c (resolve_fl_procedure): Ditto.
2008-08-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/36705
* gfortran.dg/argument_checking_7.f90: Modified.
* gfortran.dg/conflicts.f90: Modified.
* gfortran.dg/proc_decl_1.f90: Modified.
* gfortran.dg/proc_ptr_9.f90: New.
........
r139117 | hjl | 2008-08-14 14:36:31 -0700 (Thu, 14 Aug 2008) | 5 lines
2008-08-14 H.J. Lu <hongjiu.lu@intel.com>
PR libfortran/37123
* intrinsics/cshift0.c (cshift0): Fix 2 typos.
........
r139121 | gccadmin | 2008-08-14 17:17:25 -0700 (Thu, 14 Aug 2008) | 1 line
Daily bump.
........
r139124 | krebbel | 2008-08-15 00:36:40 -0700 (Fri, 15 Aug 2008) | 20 lines
2008-08-15 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/2097.md New file.
* config/s390/s390.md ("z10prop" attribute): Define none,
z10_super, z10_super_E1, z10_super_A1, z10_super_c,
z10_super_c_E1, z10_fwd, z10_fwd_A1, z10_fwd_A3, z10_fwd_E1,
z10_rec, z10_fr, z10_fr_A3, z10_fr_E1, z10_c, and z10_cobra as
possible values and apply them to insns as appropriate.
("type" attribute): Removed itof and added ftrunctf,ftruncdf,
ftruncsd, ftruncdd, itoftf, itofdf, itofsf, itofdd, itoftd,
fdivdd, fdivtd, floaddd, floadsd, fmuldd, fmultd, fsimpdd,
fsimpsd, fsimptd, fstoredd, fstoresd, ftoidfp as possible
values.
("bfp" mode attribute): Removed. Every occurence replaced
with <mode>.
* config/s390/s390.c (struct "z10_cost"): Updated entries.
* config/s390/2084.md (insn_reservation "x_itof"): Updated
type attribute.
........
r139125 | ebotcazou | 2008-08-15 02:10:25 -0700 (Fri, 15 Aug 2008) | 1 line
Fix long line.
........
r139126 | manu | 2008-08-15 04:23:20 -0700 (Fri, 15 Aug 2008) | 9 lines
2008-08-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
testsuite/
* gcc.dg/pr30551-6.c: Skip for SPU.
* gcc.dg/pr30551-3.c: Likewise.
* gcc.dg/pr30551.c: Likewise.
* g++.dg/warn/pr30551-2.C: Likewise.
* g++.dg/warn/pr30551.C: Likewise.
........
r139129 | rguenth | 2008-08-15 05:59:16 -0700 (Fri, 15 Aug 2008) | 5 lines
2008-08-15 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (maybe_fold_offset_to_reference): Do not
strip components for unknown size accesses.
........
r139135 | jsm28 | 2008-08-15 13:12:01 -0700 (Fri, 15 Aug 2008) | 5 lines
* config/arm/arm.c (add_minipool_backward_ref): Check for
8-byte-aligned entries in second case of forcing insertion after a
particular entry. Change third case to avoid inserting
non-8-byte-aligned entries before 8-byte-aligned ones.
........
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/profile-stdlib@139138 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-cppbuiltin.c')
-rw-r--r-- | gcc/c-cppbuiltin.c | 65 |
1 files changed, 62 insertions, 3 deletions
diff --git a/gcc/c-cppbuiltin.c b/gcc/c-cppbuiltin.c index 1ce2fef2a21..2079d4de43c 100644 --- a/gcc/c-cppbuiltin.c +++ b/gcc/c-cppbuiltin.c @@ -30,6 +30,7 @@ along with GCC; see the file COPYING3. If not see #include "c-pragma.h" #include "output.h" #include "except.h" /* For USING_SJLJ_EXCEPTIONS. */ +#include "debug.h" /* For dwarf2out_do_frame. */ #include "toplev.h" #include "tm_p.h" /* Target prototypes. */ #include "target.h" @@ -405,6 +406,58 @@ builtin_define_stdint_macros (void) builtin_define_type_max ("__INTMAX_MAX__", intmax_type_node, intmax_long); } +/* Adjust the optimization macros when a #pragma GCC optimization is done to + reflect the current level. */ +void +c_cpp_builtins_optimize_pragma (cpp_reader *pfile, tree prev_tree, + tree cur_tree) +{ + struct cl_optimization *prev = TREE_OPTIMIZATION (prev_tree); + struct cl_optimization *cur = TREE_OPTIMIZATION (cur_tree); + bool prev_fast_math; + bool cur_fast_math; + + /* -undef turns off target-specific built-ins. */ + if (flag_undef) + return; + + /* Other target-independent built-ins determined by command-line + options. */ + if (!prev->optimize_size && cur->optimize_size) + cpp_define (pfile, "__OPTIMIZE_SIZE__"); + else if (prev->optimize_size && !cur->optimize_size) + cpp_undef (pfile, "__OPTIMIZE_SIZE__"); + + if (!prev->optimize && cur->optimize) + cpp_define (pfile, "__OPTIMIZE__"); + else if (prev->optimize && !cur->optimize) + cpp_undef (pfile, "__OPTIMIZE__"); + + prev_fast_math = fast_math_flags_struct_set_p (prev); + cur_fast_math = fast_math_flags_struct_set_p (cur); + if (!prev_fast_math && cur_fast_math) + cpp_define (pfile, "__FAST_MATH__"); + else if (prev_fast_math && !cur_fast_math) + cpp_undef (pfile, "__FAST_MATH__"); + + if (!prev->flag_signaling_nans && cur->flag_signaling_nans) + cpp_define (pfile, "__SUPPORT_SNAN__"); + else if (prev->flag_signaling_nans && !cur->flag_signaling_nans) + cpp_undef (pfile, "__SUPPORT_SNAN__"); + + if (!prev->flag_finite_math_only && cur->flag_finite_math_only) + { + cpp_undef (pfile, "__FINITE_MATH_ONLY__"); + cpp_define (pfile, "__FINITE_MATH_ONLY__=1"); + } + else if (!prev->flag_finite_math_only && cur->flag_finite_math_only) + { + cpp_undef (pfile, "__FINITE_MATH_ONLY__"); + cpp_define (pfile, "__FINITE_MATH_ONLY__=0"); + } +} + + /* Hook that registers front end and target-specific built-ins. */ void c_cpp_builtins (cpp_reader *pfile) @@ -588,7 +641,7 @@ c_cpp_builtins (cpp_reader *pfile) if (fast_math_flags_set_p ()) cpp_define (pfile, "__FAST_MATH__"); - if (flag_really_no_inline) + if (flag_no_inline) cpp_define (pfile, "__NO_INLINE__"); if (flag_signaling_nans) cpp_define (pfile, "__SUPPORT_SNAN__"); @@ -643,6 +696,11 @@ c_cpp_builtins (cpp_reader *pfile) cpp_define (pfile, "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16"); #endif +#ifdef DWARF2_UNWIND_INFO + if (dwarf2out_do_cfi_asm ()) + cpp_define (pfile, "__GCC_HAVE_DWARF2_CFI_ASM"); +#endif + /* Make the choice of ObjC runtime visible to source code. */ if (c_dialect_objc () && flag_next_runtime) cpp_define (pfile, "__NEXT_RUNTIME__"); @@ -798,7 +856,7 @@ builtin_define_with_int_value (const char *macro, HOST_WIDE_INT value) /* Pass an object-like macro a hexadecimal floating-point value. */ static void builtin_define_with_hex_fp_value (const char *macro, - tree type ATTRIBUTE_UNUSED, int digits, + tree type, int digits, const char *hex_str, const char *fp_suffix, const char *fp_cast) @@ -817,7 +875,8 @@ builtin_define_with_hex_fp_value (const char *macro, then print it back out as decimal. */ real_from_string (&real, hex_str); - real_to_decimal (dec_str, &real, sizeof (dec_str), digits, 0); + real_to_decimal_for_mode (dec_str, &real, sizeof (dec_str), digits, 0, + TYPE_MODE (type)); /* Assemble the macro in the following fashion macro = fp_cast [dec_str fp_suffix] */ |