2009-06-24 Andreas Krebbel <krebbel1@de.ibm.com>
PR middle-end/40501
* tree-ssa-math-opts.c (execute_optimize_bswap): Convert the bswap
src and dst operands if necessary.
2009-06-24 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/pr40501.c: New testcase.
From-SVN: r148892
./: * configure.ac: Add --enable-build-with-cxx. When set, add c++ to
boot_languages. Only bootstrap target libraries listed in
target_libs for some boot language. Add --with-stage1-ldflags,
--with-stage1-libs, --with-boot-ldflags, --with-boot-libs. Remove
with_host_libstdcxx from ppllibs. Only add -fkeep-inline-functions
if not building with C++.
* Makefile.def: For target_module libstdc++-v3, set bootstrap=true.
* Makefile.tpl (STAGE1_LDFLAGS, STAGE1_LIBS): New variables.
(POSTSTAGE1_LDFLAGS, POSTSTAGE1_LIBS): New variables.
(HOST_EXPORTS): Add STAGE1_LDFLAGS to LDFLAGS. Export HOST_LIBS.
(POSTSTAGE1_HOST_EXPORTS): Set CXX and CXX_FOR_BUILD. Add
POSTSTAGE1_LDFLAGS to LDFLAGS. Export HOST_LIBS.
(POSTSTAGE1_FLAGS_TO_PASS): Likewise.
* configure, Makefile.in: Rebuild.
gcc/:
* configure.ac: Invoke AC_PROG_CXX. Separate C specific warnings
from loose_warn into c_loose_warn and from strict_warn into
c_strict_warn. Set and substitute warn_cxxflags. Check for
--enable-build-with-cxx. Set and substitute
ENABLE_BUILD_WITH_CXX. Set and substitute HOST_LIBS.
* Makefile.in (CXXFLAGS): New variable.
(C_LOOSE_WARN, C_STRICT_WARN): New variables.
(GCC_WARN_CFLAGS): Add $(C_LOOSE_WARN). Add $(C_STRICT_WARN) if
the default is the same as $(STRICT_WARN).
(GCC_WARN_CXXFLAGS, WARN_CXXFLAGS): New variables.
(CXX): New variable.
(COMPILER): New value if ENABLE_BUILD_WITH_CXX.
(COMPILER_FLAGS, LINKER, LINKER_FLAGS): Likewise.
(ALL_COMPILERFLAGS, ALL_LINKERFLAGS): Likewise.
(HOST_LIBS): New variable.
(GCC_CFLAGS): Add $(C_LOOSE_WARN).
(ALL_CXXFLAGS): New variable.
(LIBS, BACKENDLIBS): Add $(HOST_LIBS).
* doc/install.texi (Configuration): Document
--enable-build-with-cxx, --with-stage1-ldflags,
--with-stage1-libs, --with-boot-ldflags, --with-boot-libs.
* configure: Rebuild.
From-SVN: r148889
* config.gcc (avr-*-rtems*, avr-*-*): Set extra_gcc_objs and
extra_objs.
* config/avr/avr.c (avr_current_device): New variable.
(avr_arch_types, avr_mcu_types): Move to avr-deveces.c.
(avr_arch, mcu_type_s): Move to avr.h.
* config/avr/avr.h (base_arch_s). Add reserved2, arch_name and
default_data_section_start fields.
(avr_arch): Moved from avr.c.
(mcu_type_s): Moved from avr.c. Add short_sp, data_section_start and
library_name fields.
(avr_current_device, avr_mcu_types, avr_arch_types,
avr_device_to_arch, avr_device_to_data_start,
avr_device_to_startfiles, avr_device_to_devicelib): Declare.
(EXTRA_SPEC_FUNCTIONS): Define.
(LINK_SPEC): Remove device name to '-m ...' and '-Tdata ...' linker
options mapping. Use device_to_arch and device_to_data_start insted.
(STARTFILE_SPEC): Use device_to_startfile instead of crt_binutils.
(CRT_BINUTILS_SPECS, EXTRA_SPECS): Remove.
* config/avr/t-avr (driver-avr.o, avr-devices.o): New rules.
* config/avr/driver-avr.c: New file.
* config/avr/avr-devices.c: New file.
From-SVN: r148868
2009-06-23 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/debug/macros.h: Replace @tbd with valid doxygen tag @todo.
* include/std/ratio: Typo in comment.
From-SVN: r148861
* var-tracking.c (unshare_variable): Force initialized to
be VAR_INIT_STATUS_INITIALIZED unless flag_var_tracking_uninit.
(set_variable_part): Likewise.
(struct variable_union_info): Remove pos_src field.
(vui_vec, vui_allocated): New variables.
(variable_union): Pass VAR_INIT_STATUS_UNKNOWN to unshare_variable
unconditionally. Avoid XCVECNEW/free for every sorting, for dst_l
== 1 use a simpler sorting algorithm. Compute pos field right
away, don't fill in pos_src. For dst_l == 2 avoid qsort.
Avoid quadratic comparison if !flag_var_tracking_uninit.
(variable_canonicalize): Pass VAR_INIT_STATUS_UNKNOWN to
unshare_variable unconditionally.
(dataflow_set_different_2): Removed.
(dataflow_set_different): Don't traverse second hash table.
(compute_bb_dataflow): Pass VAR_INIT_STATUS_UNINITIALIZED
unconditionally to var_reg_set or var_mem_set.
(emit_notes_in_bb): Likewise.
(delete_variable_part): Pass VAR_INIT_STATUS_UNKNOWN to
unshare_variable.
(emit_note_insn_var_location): Don't set initialized to
VAR_INIT_STATUS_INITIALIZED early.
(vt_finalize): Free vui_vec if needed, clear vui_vec and
vui_allocated.
* rtl.c (rtx_equal_p): Don't implement on top of rtx_equal_p_cb.
From-SVN: r148852
* tree-object-size.c (addr_object_size): Instead of checking
for non-NULL TREE_CHAIN of the FIELD_DECL check that there
are no FIELD_DECLs following it.
* g++.dg/ext/builtin-object-size1.C: New test.
* g++.dg/ext/builtin-object-size2.C: New test.
From-SVN: r148851
2009-06-23 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40518
* include/bits/basic_string.h (basic_string<>::_Rep::
_M_set_length_and_sharable): Do not write the empty rep.
(basic_string<>::erase(iterator, iterator)): Likewise,
move out of line...
* include/bits/basic_string.tcc: ... here.
From-SVN: r148850
2009-06-23 Andreas Krebbel <krebbel1@de.ibm.com>
* tree-ssa-math-opts.c (find_bswap): Increase the search depth in
order to match bswaps with signed source operands.
2009-06-23 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/optimize-bswapsi-1.c: Add new bswap implementation.
* gcc.dg/optimize-bswapdi-1.c: Likewise.
From-SVN: r148848
2009-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
Available_View only when designated type of an anonymous access type
is limited view.
2009-06-23 Robert Dewar <dewar@adacore.com>
* sem_ch10.adb: Minor reformatting
* gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
turning off inlining if ASIS mode active).
* switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
This belongs in gnat1drv.adb after switches are scanned.
From-SVN: r148846
2009-06-23 Hristian Kirtchev <kirtchev@adacore.com>
* sem_attr.adb: Add with and use clauses for Sem_Ch10.
(Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
when dealing with class-wide types. Detect a legal shadow entity and
retrieve its non-limited view.
* sem_ch10.adb (Has_With_Clause): Move the spec and body of the
subprogram to top package level from Intall_Limited_Withed_Unit.
(Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
Add check which prevents the installation of a limited view if the
non-limited view is already visible through a with clause.
(Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
legal shadow entity which may occur in subprogram formals of anonymous
access type.
* sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
* sem_ch3.adb (Access_Definition): Remove the propagation of flag
From_With_Type from the designated type to the generated anonymous
access type. Remove associated comment.
* sem_res.adb Add with and use clauses for Sem_Ch10.
(Full_Designated_Type): Detect a legal shadow entity and retrieve its
non-limited view. Since the shadow entity may replace a regular
incomplete type, return the available full view.
From-SVN: r148844
2009-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
incomplete type declarations. Previous code was potentially quadratic
in the number of visible declarations in any package appearing in a
limited_with_clause.
2009-06-23 Robert Dewar <dewar@adacore.com>
* prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
xref_lib.adb: Minor reformatting
From-SVN: r148843
2009-06-23 Robert Dewar <dewar@adacore.com>
* a-stzhas.adb: Provide dummy body to avoid build problems with old
versions which did have a body for this unit.
From-SVN: r148842
2009-06-23 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (struct variable_info): Add is_global_var
member.
(var_anything, anything_tree, var_nothing, nothing_tree, var_readonly,
readonly_tree, var_escaped, escaped_tree, var_nonlocal, nonlocal_tree,
var_callused, callused_tree, var_storedanything, storedanything_tree,
var_integer, integer_tree): Remove global variables.
(new_var_info): Do not pass new id, append the new var to the
global variable vector.
(do_ds_constraint): Use is_global_var member of the variable-info.
(new_scalar_tmp_constraint_exp): Adjust.
(create_function_info_for): Likewise.
(create_variable_info_for): Likewise.
(find_what_var_points_to): Remove dead code.
(init_base_vars): Simplify.
(compute_points_to_sets): Adjust.
From-SVN: r148841
2009-06-23 Vincent Celier <celier@adacore.com>
* prj-attr.adb: Attribute names Initial_Required_Switches and
Final_Required_Switches changed to Leading_Required_Switches and
Trailing_Required_Switches.
* prj-nmsc.adb (Process_Compiler): Attribute names
Initial_Required_Switches and Final_Required_Switches changed to
Leading_Required_Switches and Trailing_Required_Switches.
* prj.ads (Language_Config): Component Initial_Required_Switches and
Final_Required_Switches changed to Leading_Required_Switches and
Trailing_Required_Switches.
* snames.ads-tmpl: Remove standard names Initial_Required_Switches and
Final_Required_Switches; add standard names Leading_Required_Switches
and Trailing_Required_Switches.
2009-06-23 Thomas Quinot <quinot@adacore.com>
* prj-conf.adb: Minor reformatting
* xref_lib.adb: Minor cleanup
From-SVN: r148840
2009-06-23 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
prj-conf.ads (Check_Configuration): New parameter
Compiler_Driver_Mandatory.
2009-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
context of the current unit has an inline pragma, the instance is not
rewritten as the declaration of the package wrapper. Handle both
possibilities when retrieving the visible subprogram that renames the
instantiation itself.
From-SVN: r148839
2009-06-23 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
designated types referencing entities from the limited view.
2009-06-23 Matthew Gingell <gingell@adacore.com>
* a-stzhas.ads, a-szfzha.ads: Fix typo.
* Makefile.rtl: Ada.Strings.Wide_Wide_Fixed.Wide_Wide_Hash depends on
Ada.Strings.Wide_Wide_Hash. So we need to include a-stzhas in
the list of RTS files.
2009-06-23 Thomas Quinot <quinot@adacore.com>
* ali.adb: Minor reformatting
2009-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb: Improve error message.
2009-06-23 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb: Minor reformating
* prj-conf.adb, prj-conf.ads: Remove use of Osint.Fail everywhere
(Do_Autoconf): accepts an empty Normalized_Hostname
(Process_Project_And_Apply_Config): New subprogram
(Parse_Project_And_Apply_Config): On_Load_Config now applies to the
project tree rather than the project view.
* prj-part.adb, prj.ads (Project_Qualifier): New possible value
Configuration.
From-SVN: r148838
2009-06-23 Robert Dewar <dewar@adacore.com>
* s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
* s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
small values
* prj-conf.ads: Minor reformatting
* prj-conf.adb: Minor reformatting
2009-06-23 Vasiliy Fofanov <fofanov@adacore.com>
* g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
to correspond to the log format that gnatmem now expects.
2009-06-23 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New attributes Initial_Required_Switches,
Final_Required_Switches and Object_File_Switches
* prj-nmsc.adb (Process_Compiler): Process new attributes
Name_Final_Required_Switches, Name_Initial_Required_Switches and
Name_Object_File_Switches.
* prj.ads (Language_Config): New component
Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
Compiler_Final_Required_Switches and Object_File_Switches.
* snames.ads-tmpl: New standard names Initial_Required_Switches,
Final_Required_Switches and Object_File_Switches
From-SVN: r148837
2009-06-23 Pascal Obry <obry@adacore.com>
* s-strhas.adb, s-strhas.ads: Minor reformatting.
2009-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
not indicate that the enclosing unit needs a body.
From-SVN: r148836
2009-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
primitive equality include it with its source name even if the
operation is currently invisible, to make sure that the corresponding
slot in the dispatch table is reserved for the internal equality
subsequently generated during expansion.
From-SVN: r148834
2009-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/40508
* io/format.c: Don't save parsed format data for internal units.
From-SVN: r148823
2009-06-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/37254
PR fortran/39850
* interface.c (compare_parameter): Set implicit type for function
actual arguments with BT_UNKNOWN.
2009-06-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/37254
PR fortran/39850
* gfortran.dg/interface_30.f90: Modified error message.
* gfortran.dg/proc_decl_22.f90: New.
From-SVN: r148816
2009-06-22 Tobias Burnus <burnus@net-b.de>
PR fortran/40472
PR fortran/50520
* simplify.c (gfc_simplify_spread): Fix the case that source=
is a scalar.
From-SVN: r148814
gcc/
* doc/invoke.texi (Link Options): -nodefaultlibs and -nostdlib
override library linkage flags such as -static-libgcc or
-shared-libgcc.
From-SVN: r148811