Age | Commit message (Collapse) | Author | Files | Lines |
|
character support and input rounding.
2014-03-08 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (Fortran 2003 Status): Mention finalization,
deferred-length character support and input rounding.
(Fortran 2008 Status): Mention that at termination
signalling exceptions are shown.
From-SVN: r208429
|
|
consistently accross all TUs.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
Richard Biener <rguenther@suse.de>
* lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
consistently accross all TUs.
(run_gcc): Enable -fshort-double automatically at link at link-time
and disallow override.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
* c.opt: Enable LTO FE for fshort-double.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
* gcc.dg/lto/pr55113_0.c: New testcase.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
* lto-lang.c (lto_init): Pass flag_short_double to
build_common_tree_nodes.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r208428
|
|
recursive generic lambda)
Fix PR c++/60033
PR c++/60033
* pt.c (tsubst_copy): When retrieving a capture pack from a generic
lambda, remove the lambda's own template argument list prior to fetching
the specialization.
PR c++/60033
* g++.dg/cpp1y/pr60033.C: New testcase.
From-SVN: r208427
|
|
Fix PR c++/60393
PR c++/60393
* parser.c (cp_parser_parameter_declaration_clause): Move generic
function template unwinding on error into a more general location, ...
(cp_parser_skip_to_end_of_statement): ... here.
PR c++/60393
* g++.dg/cpp1y/pr60393.C: New testcase.
From-SVN: r208426
|
|
-mpaired-single -ftree-vectorize)
gcc/
PR target/58271
* config/mips/mips.c (mips_option_override): Promote -mpaired-single
warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
if they can't be used.
From-SVN: r208425
|
|
2014-03-08 Dominique d'Humieres <dominiq@lps.ens.fr>
PR libgfortran/60128
* io/write_float.def (output_float): Remove unused variable
nzero_real. Replace a double space with a single one.
(determine_en_precision): Fix wrong handling of the EN format.
PR libfortran/60128
* gfortran.dg/fmt_en.f90: New test.
From-SVN: r208423
|
|
From-SVN: r208422
|
|
2014-03-07 Doug Rupp <rupp@adacore.com>
PR ada/60411
* system-linux-armel.ads (Backend_Overflow_Checks): Set to True.
(Support_64_Bit_Divides): Removed, no longer used.
(ZCX_By_Default): Enabled.
From-SVN: r208419
|
|
From-SVN: r208417
|
|
* lib/g++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.
* lib/target-supports.exp (check_effective_target_c++11): Now
means C++11 and up.
(check_effective_target_c++11_only): New.
(check_effective_target_c++11_down): New.
(check_effective_target_c++1y): New.
(check_effective_target_c++1y_only): New.
(check_effective_target_c++98_only): Rename from
check_effective_target_c++98.
* g++.dg/*: Use { target c++11 } instead of -std=c++11.
From-SVN: r208416
|
|
trailing return type.
* parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if
we're in a trailing return type.
From-SVN: r208415
|
|
different from real template parms.
* typeck.c (comp_template_parms_position): 'auto' and
'decltype(auto)' are different from real template parms.
From-SVN: r208414
|
|
parameter pack error.
* parser.c (cp_parser_using_declaration): Consume the semicolon
after bare parameter pack error.
From-SVN: r208413
|
|
* cp-tree.h (REF_PARENTHESIZED_P): New.
* semantics.c (force_paren_expr): Set it.
* pt.c (do_auto_deduction): Check it.
(tsubst) [COMPONENT_REF]: Copy it.
* typeck.c (maybe_warn_about_useless_cast): Don't strip dereference.
From-SVN: r208412
|
|
flag_iso or warn_vla>0.
* decl.c (create_array_type_for_decl): Only warn about invalid
C++1y VLA if flag_iso or warn_vla>0.
(grokdeclarator): Likewise.
* pt.c (tsubst): Likewise.
* semantics.c (finish_decltype_type): Likewise.
* typeck.c (cxx_sizeof_or_alignof_type): Likewise.
(cp_build_addr_expr_1): Likewise.
* init.c (build_new_1): Improve diagnostics.
From-SVN: r208411
|
|
/cp
2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58609
* decl.c (check_initializer): Return NULL_TREE after error;
consistently use inform.
/testsuite
2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58609
* g++.dg/cpp0x/constexpr-ice12.C: New.
From-SVN: r208410
|
|
* MAINTAINERS: Remove avr maintainers: Anatoly Sokolov and Eric Weddington
From-SVN: r208406
|
|
From-SVN: r208404
|
|
From-SVN: r208403
|
|
2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (check_initializer): Remove dead code.
From-SVN: r208402
|
|
* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES):
Add ../../libbacktrace/sort.c.
* libbacktrace/Makefile.in: Regenerate.
* libbacktrace/backtrace-rename.h (backtrace_qsort): Define.
From-SVN: r208401
|
|
(doing extra rebuilds and invoking system compiler))
PR bootstrap/58572
* Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Use -isystem instead of
-I for libstdc++-v3 includes if $(LEAN).
* Makefile.in: Regenerated.
From-SVN: r208400
|
|
* configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test for Solaris
11/x86 ld.
* configure: Regenerate.
From-SVN: r208399
|
|
* configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
(LIB_TLS_SPEC): Save as ld_tls_libs.
(HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
(HAVE_AS_IX86_TLSLDM): New test.
* configure, config.in: Regenerate.
* config/i386/i386.c (legitimize_tls_address): Fall back to
TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
cannot support TLS_MODEL_LOCAL_DYNAMIC.
* config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
From-SVN: r208398
|
|
2014-03-07 Paulo Matos <paulo@matos-sorge.com>
* common.opt (fira-loop-pressure): Mark as optimization.
From-SVN: r208395
|
|
gcc/
* langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
an OpenMP mappable type.
gcc/c/
* c-decl.c (c_decl_attributes): Use
lang_hooks.types.omp_mappable_type.
* c-typeck.c (c_finish_omp_clauses): Likewise.
gcc/testsuite/
* c-c++-common/gomp/map-1.c: Extend.
From-SVN: r208394
|
|
* sort.c: New file.
* stest.c: New file.
* internal.h (backtrace_qsort): Declare.
* dwarf.c (read_abbrevs): Call backtrace_qsort instead of qsort.
(read_line_info, read_function_entry): Likewise.
(read_function_info, build_dwarf_data): Likewise.
* elf.c (elf_initialize_syminfo): Likewise.
* Makefile.am (libbacktrace_la_SOURCES): Add sort.c.
(stest_SOURCES, stest_LDADD): Define.
(check_PROGRAMS): Add stest.
From-SVN: r208392
|
|
This patch fixes a rare but serious bug. The Go garbage
collector only examines Go stacks. When Go code calls a
function that is not written in Go, it first calls
syscall.Entersyscall. Entersyscall records the position of
the Go stack pointer and saves a copy of all the registers.
If the garbage collector runs while the thread is executing
the non-Go code, the garbage collector fetches the stack
pointer and registers from the saved location.
Entersyscall saves the registers using the getcontext
function. Unfortunately I didn't consider the possibility
that Entersyscall might itself change a register before
calling getcontext. This only matters for callee-saved
registers, as caller-saved registers would be visible on the
saved stack. And it only matters if Entersyscall is compiled
to save and modify a callee-saved register before it calls
getcontext. And it only matters if a garbage collection
occurs while the non-Go code is executing. And it only
matters if the only copy of a valid Go pointer happens to be
in the callee-saved register when Entersyscall is called.
When all those conditions are true, the Go pointer might get
collected incorrectly, leading to memory corruption.
This patch tries to avoid the problem by splitting
Entersyscall into two functions. The first is a simple
function that just calls getcontext and then calls the rest of
Entersyscall. This should fix the problem, provided the
simple Entersyscall function does not itself modify any
callee-saved registers before calling getcontext. That seems
to be true on the systems I checked. But since the argument
to getcontext is an offset from a TLS variable, it won't be
true on a system which needs to save callee-saved registers in
order to get the address of a TLS variable. I don't know why
any system would work that way, but I don't know how to rule
it out. I think that on any such system this will have to be
implemented in assembler. I can't put the ucontext_t
structure on the stack, because this function can not split
stacks, and the ucontext_t structure is large enough that it
could cause a stack overflow.
From-SVN: r208390
|
|
From-SVN: r208389
|
|
derived types (allocatable string length))
2014-03-06 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/51976
* gfortran.h (symbol_attribute): Add deferred_parameter attribute.
* primary.c (build_actual_constructor): It is not an error if
a missing component has the deferred_parameter attribute;
equally, if one is given a value, it is an error.
* resolve.c (resolve_fl_derived0): Remove error for deferred
character length components. Add the hidden string length
field to the structure. Give it the deferred_parameter
attribute.
* trans-array.c (duplicate_allocatable): Add a strlen field
which is used as the element size if it is non-null.
(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
NULL to the new argument in duplicate_allocatable.
(structure_alloc_comps): Set the hidden string length as
appropriate. Use it in calls to duplicate_allocatable.
(gfc_alloc_allocatable_for_assignment): When a deferred length
backend declaration is variable, use that; otherwise use the
string length from the expression evaluation.
* trans-expr.c (gfc_conv_component_ref): If this is a deferred
character length component, the string length should have the
value of the hidden string length field.
(gfc_trans_subcomponent_assign): Set the hidden string length
field for deferred character length components. Allocate the
necessary memory for the string.
(alloc_scalar_allocatable_for_assignment): Same change as in
gfc_alloc_allocatable_for_assignment above.
* trans-stmt.c (gfc_trans_allocate): Likewise.
* trans-intrinsic (size_of_string_in_bytes): Make non-static.
* trans-types.c (gfc_get_derived_type): Set the tree type for
a deferred character length component.
* trans.c (gfc_deferred_strlen): New function.
* trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
2014-03-06 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/51976
* gfortran.dg/deferred_type_component_1.f90 : New test.
* gfortran.dg/deferred_type_component_2.f90 : New test.
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r208386
|
|
not defined.
2014-03-06 Matthias Klose <doko@ubuntu.com>
* Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
MULTILIB_OSDIRNAMES is not defined.
From-SVN: r208383
|
|
PR c/60197
c-family/
* cilk.c (contains_cilk_spawn_stmt): New function.
(contains_cilk_spawn_stmt_walker): Likewise.
(recognize_spawn): Give error on invalid use of _Cilk_spawn.
* c-common.h (contains_cilk_spawn_stmt): Add declaration.
c/
* c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
of checking tree code.
cp/
* typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
of checking tree code.
testsuite/
* c-c++-common/cilk-plus/CK/pr60197.c: New test.
* c-c++-common/cilk-plus/CK/pr60197-2.c: New test.
From-SVN: r208382
|
|
PR libgcc/59339
* config.host (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu)
(*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Only add
vtv_*.o to extra_parts if enable_vtable_verify.
From-SVN: r208381
|
|
arm some files of lttng-tools with -fPIE)
PR target/58595
* config/arm/arm.c (arm_tls_symbol_p): Remove.
(arm_legitimize_address): Call legitimize_tls_address for any
arm_tls_referenced_p expression, handle constant addend. Call it
before testing for !TARGET_ARM.
(thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
* gcc.dg/tls/pr58595.c: New test.
Co-Authored-By: Meador Inge <meadori@codesourcery.com>
From-SVN: r208380
|
|
2014-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/60445
PR lto/60424
PR lto/60427
Revert
2014-03-04 Paulo Matos <paulo@matos-sorge.com>
* tree-streamer.c (record_common_node): Assert we don't record
nodes with type double.
(preload_common_node): Skip type double, complex double and
double pointer since it is now frontend dependent due to
fshort-double option.
* gcc.dg/lto/pr55113_0.c: New testcase.
From-SVN: r208379
|
|
2014-03-06 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (cp_lexer_set_source_position): New.
(cp_parser_mem_initializer): Use it.
(cp_parser_postfix_open_square_expression): Likewise.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_new_initializer): Likewise.
(cp_parser_jump_statement): Likewise.
(cp_parser_initializer): Likewise.
(cp_parser_functional_cast): Likewise.
From-SVN: r208378
|
|
is specified and the...
2014-03-06 Richard Biener <rguenther@suse.de>
* gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
or -fno-lto is specified and the linker has full plugin support.
* collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is
enabled.
(main): Remove -flto processing, adjust lto_mode using
use_plugin late.
* lto-wrapper.c (merge_and_complain): Merge compile-time
optimization levels.
(run_gcc): And pass it through to the link options.
From-SVN: r208375
|
|
* config/msp430/t-msp430 (LIB2ADD): Add lib2hw_mul.S
* config/msp430/lib2hw_mul.S: New: Hardware multiply routines.
From-SVN: r208374
|
|
PR debug/60381
Revert:
2014-02-28 Alexandre Oliva <aoliva@redhat.com>
PR debug/59992
* cselib.c (remove_useless_values): Skip to avoid quadratic
behavior if the condition moved from...
(cselib_process_insn): ... here holds.
From-SVN: r208361
|
|
status docs.
From-SVN: r208358
|
|
From-SVN: r208357
|
|
on arm cortex-a5)
PR testsuite/59308
* gcc.dg/pr46309.c: Don't compile on logical_op_short_circuit targets
other than mips/avr. Use -mbranch-cost=2 even for i?86/x86_64.
* gcc.dg/tree-ssa/reassoc-32.c: Use -mbranch-cost=2 even for
s390*/i?86/x86_64.
* gcc.dg/tree-ssa/reassoc-33.c: Likewise.
* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Don't compile on
logical_op_short_circuit targets other than avr. Use -mbranch-cost=2
even for mips*/s390*/i?86/x86_64.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.
From-SVN: r208354
|
|
PR c++/60409
* semantics.c (force_paren_expr): Only add a PAREN_EXPR to a
dependent expression.
From-SVN: r208352
|
|
PR c++/60361
* parser.c (cp_parser_template_id): Don't set up a CPP_TEMPLATE_ID
if re-parsing might succeed.
* semantics.c (finish_id_expression): Use of a parameter outside
the function body is a parse error.
From-SVN: r208351
|
|
init-list warning.
* parser.c (cp_parser_mem_initializer): Set input_location
properly for init-list warning.
(cp_parser_postfix_open_square_expression): Likewise.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_new_initializer): Likewise.
(cp_parser_jump_statement): Likewise.
(cp_parser_initializer): Likewise.
(cp_parser_functional_cast): Likewise.
From-SVN: r208350
|
|
PR plugins/59335
* Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
From-SVN: r208346
|
|
PR plugins/59335
* config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
(TM_H): Add x86-tune.def.
From-SVN: r208344
|
|
* config/aarch64/aarch64.c (generic_tunings):
Use cortexa57_extra_costs.
From-SVN: r208343
|
|
PR lto/60404
* cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
* tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
cost for in_lto_p.
* gcc.dg/lto/pr60404_0.c: New test.
* gcc.dg/lto/pr60404_1.c: New file.
* gcc.dg/lto/pr60404_2.c: New file.
From-SVN: r208340
|
|
From-SVN: r208338
|