- 04 Aug, 2014 12 commits
-
-
2014-08-04 Thomas Quinot <quinot@adacore.com> * s-fatgen.ads, s-fatgen.adb (S, P): New visible type declarations (Unaligned_Valid): Remove now unused subprogram. * exp_attr.adb (Expand_N_Attribute_Reference, case Attribute_Valid): If the prefix is in reverse SSO or potentially unaligned, copy it using a byte copy operation to a temporary variable. * einfo.adb: Minor comment fix. 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Freeze_Entity): Do not freeze formal subprograms. From-SVN: r213540
Arnaud Charlet committed -
2014-08-04 Robert Dewar <dewar@adacore.com> * s-imgrea.adb (Image_Floating_Point): Don't add space before +Inf. * s-fatgen.adb (Pred): Handle Float'First. (Succ): Handle Float'Last. From-SVN: r213539
Robert Dewar committed -
2014-08-04 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Is_Potentially_Unevaluated): If the original node of a parent node in the tree is a short-circuit operation, the node is potentially unevaluated. 2014-08-04 Robert Dewar <dewar@adacore.com> * sem_res.adb (Resolve_Type_Conversion): Set Do_Range_Check on conversion from a real type to an integer type. From-SVN: r213538
Arnaud Charlet committed -
2014-08-04 Yannick Moy <moy@adacore.com> * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb, sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb, exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to SPARK_05 instead of SPARK. 2014-08-04 Robert Dewar <dewar@adacore.com> * sem.ads: Minor reformatting. * sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor reformatting. (Analyze_Aspect_Specifications, case Convention): Put External_Name before Link_Name when constructing pragma. From-SVN: r213537
Arnaud Charlet committed -
sem.adb, sem.ads (In_Default_Expr): Global flag that is set to True during analysis of a default component expression. 2014-08-04 Yannick Moy <moy@adacore.com> * sem.adb, sem.ads (In_Default_Expr): Global flag that is set to True during analysis of a default component expression. (Semantics): Save and restore In_Default_Expr around analysis. * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration): Call new wrapper Preanalyze_Default_Expression. (Preanalyze_Default_Expression): New wrapper on Preanalyze_Spec_Expression which sets and restores In_Default_Expr. * sem_res.adb (Resolve_Call): Mark calls inside default expressions as not inlined in GNATprove mode. From-SVN: r213536
Yannick Moy committed -
2014-08-04 Robert Dewar <dewar@adacore.com> * exp_ch4.adb: Minor reformatting. 2014-08-04 Olivier Hainque <hainque@adacore.com> * link.c: remove const on __gnat_objlist_file_supported for AIX 2014-08-04 Robert Dewar <dewar@adacore.com> * sem_util.ads: Minor addition of comment. 2014-08-04 Vincent Celier <celier@adacore.com> * prj-dect.adb (Check_Package_Allowed): Allow package IDE in all projects, including aggregate and aggregate library projects. 2014-08-04 Yannick Moy <moy@adacore.com> * back_end.adb (Call_Back_End): Do not call gigi in GNATprove mode. 2014-08-04 Robert Dewar <dewar@adacore.com> * sem_eval.adb (Test_In_Range): Always in range for Is_Known_Valid target type, where input type has smaller or equal size and does not have biased rep. 2014-08-04 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Eval_Attribute): Constrained is not treated as a static attribute, and the Static flag must not be set on it during resolution. It may be constant-folded during expansion, but if expansion is disabled it is not a static expression. From-SVN: r213535
Arnaud Charlet committed -
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch8.adb (Build_Class_Wide_Wrapper): Mark the primitive as referenced once resolution has taken place. 2014-08-04 Gary Dismukes <dismukes@adacore.com> * exp_ch4.adb (Expand_N_Type_Conversion): Don't compare access levels in the case where the target type is the anonymous type of an access discriminant, since the level of such types is defined based on context. Add comment. From-SVN: r213534
Arnaud Charlet committed -
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch8.adb (Build_Class_Wide_Wrapper): Handle various special cases related to equality. Remove the special processing for dispatching abstract subprograms as it is not needed. (Interpretation_Error): Add a specialized error message for predefined operators. (Is_Intrinsic_Equality): New routine. (Is_Suitable_Candidate): New routine. 2014-08-04 Gary Dismukes <dismukes@adacore.com> * checks.adb: Minor comment reformatting. 2014-08-04 Ed Schonberg <schonberg@adacore.com> * restrict.adb (Check_Restriction): For checked max_parameter restrictions reset Violated flag, so that subsequent violations are properly detected. 2014-08-04 Robert Dewar <dewar@adacore.com> * sem_ch3.adb (Check_Initialization): Fix bad test of GNATprove mode. (Process_Discriminants): Fix bad test of GNATprove mode 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12.adb (Instantiate_Formal_Subprogram): Move variable to their own section. Propagate the source location of a formal parameter to the corresponding formal of the subprogram renaming declaration. Code reformatting. From-SVN: r213533
Arnaud Charlet committed -
2014-08-04 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Expand_Array_Aggregate): Do not attempt expansion if error already detected. We may reach this point in spite of previous errors when compiling with -gnatq, to force all possible errors (this is the usual ACATS mode). 2014-08-04 Gary Dismukes <dismukes@adacore.com> * checks.adb (Generate_Range_Check): For the case of converting a base type with a larger range to a smaller target subtype, only use unchecked conversions of bounds in the range check followed by conversion in the case where both types are discrete. In other cases, convert to the target base type and save in a temporary followed by the range check. (Convert_And_Check_Range): New procedure factoring code to save conversion to a temporary followed by a range check (called two places in Generate_Range_Check). * exp_ch4.adb (Expand_N_Type_Conversion): Relax previous check-in, to generate range checks for conversions between any floating-point types rather than limiting it to matching base types. From-SVN: r213532
Arnaud Charlet committed -
From-SVN: r213531
Arnaud Charlet committed -
* gnat.dg/discr6.adb, gnat.dg/discr6_pkg.ads: Removed, no longer relevant. * gnat.dg/debug1.ads: Adjust. * gnat.dg/formal_type.ads: Fix error in test. From-SVN: r213530
Arnaud Charlet committed -
From-SVN: r213529
GCC Administrator committed
-
- 03 Aug, 2014 3 commits
-
-
* ipa-devirt.c (odr_type_warn_count): Add type. (possible_polymorphic_call_targets): Set it. (ipa_devirt): Use it. From-SVN: r213526
Jan Hubicka committed -
* c-common.c (check_case_value): Add location_t parameter. Use it. (c_add_case_label): Pass loc to check_case_value. * gcc.dg/case-bogus-1.c: New test. From-SVN: r213525
Marek Polacek committed -
From-SVN: r213523
GCC Administrator committed
-
- 02 Aug, 2014 9 commits
-
-
re PR c++/15339 ([DR217] Adding default arguments to function templates in redeclarations should be forbidden) 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/15339 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix. From-SVN: r213520
Paolo Carlini committed -
re PR c++/15339 ([DR217] Adding default arguments to function templates in redeclarations should be forbidden) /cp 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/15339 * decl.c (check_redeclaration_no_default_args): New. (duplicate_decls): Use it, handle default arguments in redeclarations of function templates. /testsuite 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/15339 * g++.dg/other/default9.C: New. * g++.dg/other/default10.C: Likewise. * g++.dg/other/default3.C: Remove xfail. From-SVN: r213519
Paolo Carlini committed -
* doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods): Document. * ipa-devirt.c: Include hash-map.h (struct polymorphic_call_target_d): Add type_warning and decl_warning. (clear_speculation): Break out of ... (get_class_context): ... here; speed up handling obviously useless speculations. (odr_type_warn_count, decl_warn_count): New structures. (final_warning_record): New structure. (final_warning_records): New static variable. (possible_polymorphic_call_targets): Cleanup handling of speculative info; do not build speculation when user do not care; record info about warnings when asked for. (add_decl_warning): New function. (type_warning_cmp): New function. (decl_warning_cmp): New function. (ipa_devirt): Handle -Wsuggest-final-methods and -Wsuggest-final-types. (gate): Enable pass when warnings are requested. * common.opt (Wsuggest-final-types, Wsuggest-final-methods): New options. * g++.dg/warn/Wsuggest-final.C: New testcase. * g++.dg/ipa/devirt-34.C: Fix. From-SVN: r213518
Jan Hubicka committed -
gcc/c-family/ * cilk.c: Use hash_map instead of pointer_map. gcc/c/ * c-typeck.c: Use hash_map instead of pointer_map. gcc/cp/ * optimize.c, semantics.c: Use hash_map instead of pointer_map. gcc/ * hash-map.h (default_hashmap_traits::mark_key_deleted): Fix cast. (hash_map::remove): New method. (hash_map::traverse): New method. * cgraph.h, except.c, except.h, gimple-ssa-strength-reduction.c, ipa-utils.c, lto-cgraph.c, lto-streamer.h, omp-low.c, predict.c, tree-cfg.c, tree-cfgcleanup.c, tree-eh.c, tree-eh.h, tree-inline.c, tree-inline.h, tree-nested.c, tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-structalias.c, tree-ssa.c, tree-ssa.h, var-tracking.c: Use hash_map instead of pointer_map. From-SVN: r213517
Trevor Saunders committed -
This allows us to replace the usage of pointer_set outside of pointer_map with a nicer interface. gcc/ada/ * gcc-interface/trans.c: Use hash_set instead of pointer_set. gcc/c-family/ * c-gimplify.c: Use hash_set instead of pointer_set. gcc/c/ * c-decl.c: Use hash_set instead of pointer_set. gcc/cp/ * class.c, cp-gimplify.c, cp-tree.h, decl.c, decl2.c, error.c, method.c, name-lookup.c, pt.c, semantics.c, tree.c: Use hash_set instead of pointer_set. gcc/fortran/ * openmp.c, trans-decl.c: Use hash_set instead of pointer_set. gcc/ * hash-set.h: new File. * cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c, cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c, ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c, lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c, tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c, tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c, tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c, varpool.c: Use hash_set instead of pointer_set. gcc/lto/ * lto-partition.c, lto-partition.h: Use hash_set instead of pointer_set. From-SVN: r213516
Trevor Saunders committed -
re PR c/59855 (Support sparse-style __attribute__((designated_init)) on structures, requiring designated initializers) PR c/59855 * gcc.dg/Wdesignated-init-2.c: New test. From-SVN: r213515
Marek Polacek committed -
PR other/61895 runtime: Ignore small argv[0] file for backtrace. Reportedly in some cases Docker starts processes with argv[0] pointing to an empty file. That would cause libgo to pass that empty file to libbacktrace, which would then fail to do any backtraces. Everything should work fine if libbacktrace falls back to /proc/self/exe. This patch to libgo works around the problem by ignoring argv[0] if it is a small file, or if stat fails. This is not a perfect fix but it's an unusual problem. From-SVN: r213513
Ian Lance Taylor committed -
PR c++/60417 * init.c (build_vec_init): Set CONSTRUCTOR_IS_DIRECT_INIT on init-list for trailing elements. * typeck2.c (process_init_constructor_array): Likewise. From-SVN: r213511
Jason Merrill committed -
From-SVN: r213510
GCC Administrator committed
-
- 01 Aug, 2014 16 commits
-
-
/cp 2014-08-01 Paolo Carlini <paolo.carlini@oracle.com> DR 217 again * decl.c (duplicate_decls): Handle static member functions too. /testsuite 2014-08-01 Paolo Carlini <paolo.carlini@oracle.com> DR 217 again * g++.dg/tc1/dr217-2.C: New. From-SVN: r213505
Paolo Carlini committed -
2014-08-01 Zifei Tong <zifeitong@gmail.com> * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add _GLIBCXX_ prefix to macro. From-SVN: r213504
Zifei Tong committed -
From-SVN: r213503
Arnaud Charlet committed -
gcc/cp/ * cp-array-notation.c (expand_an_in_modify_expr): Fix the misprint in error output. From-SVN: r213495
Igor Zamyatin committed -
re PR other/61963 (CilkPlus Array Notation ICE in build_array_notation_ref on malformed function arguments.) PR other/61963 gcc/cp/ * parser.c (cp_parser_array_notation): Added check for array_type. gcc/testsuite/ * c-c++-common/cilk-plus/AN/pr61963.c: New test. From-SVN: r213494
Igor Zamyatin committed -
PR middle-end/61455 gcc/c-family/ * array-notation-common.c (extract_array_notation_exprs): Handling of DECL_EXPR added. gcc/c/ * c-array-notation.c (expand_array_notations): Handling of DECL_EXPR added. gcc/cp/ * cp-array-notation.c (expand_array_notation_exprs): Handling of DECL_EXPR improved. Changed handling for INIT_EXPR. gcc/testsuite/ * c-c++-common/cilk-plus/AN/pr61455.c: New test. * c-c++-common/cilk-plus/AN/pr61455-2.c: Likewise. From-SVN: r213491
Igor Zamyatin committed -
* config/aarch64/aarch64-simd-builtins.def (dup_lane, get_lane): Delete. From-SVN: r213490
Alan Lawrence committed -
(should svn add first...) From-SVN: r213489
Jiong Wang committed -
currently, aarch64 LEGITIMIZE_ADDRESS_P hook will reject all "reg + offset" address given "offset" is beyond supported range. while this may be too strict. we should honor the "strict_p" parameter in the hook. before reload, we accept all offset if it's a frame access, because the offset may change during later register elimination. the early reject of "reg + offset" may cause extra registers created, and if that register live range is across function invoking then callee saved reg needed, thus introduce extra reg save/restore also. give a simple example as: int test15 (void) { unsigned char a[480]; initialize_array (a, 480); if (a[0] == 0x10) return 1; return 0; } .S before the patch (-O2 -fPIC) === test15: sub sp, sp, #480 mov w1, 480 stp x29, x30, [sp, -32]! add x29, sp, 0 str x19, [sp, 16] add x19, x29, 32 mov x0, x19 bl initialize_array ldrb w0, [x19] ldr x19, [sp, 16] ldp x29, x30, [sp], 32 cmp w0, 16 cset w0, eq add sp, sp, 480 ret .S after the patch === test15: stp x29, x30, [sp, -496]! mov w1, 480 add x29, sp, 0 add x0, x29, 16 bl initialize_array ldrb w0, [x29, 16] ldp x29, x30, [sp], 496 cmp w0, 16 cset w0, eq ret gcc/ * config/aarch64/aarch64.c (aarch64_classify_address): Accept all offset for frame access when strict_p is false. gcc/testsuite * gcc.target/aarch64/legitimize_stack_var_before_reload_1.c: New testcase. From-SVN: r213488
Jiong Wang committed -
Add a pridicate to check whether the const offset is valid. For 32-bit variant: -256 <= offset <= 252 For 64-bit variant: -512 <= offset <= 504 2014-07-29 Renlin Li <renlin.li@arm.com> 2014-07-29 Jiong Wang <jiong.wang@arm.com> gcc/ * config/aarch64/aarch64.c (offset_7bit_signed_scaled_p): Rename to aarch64_offset_7bit_signed_scaled_p, remove static and use it. * config/aarch64/aarch64-protos.h (aarch64_offset_7bit_signed_scaled_p): Declaration. * config/aarch64/predicates.md (aarch64_mem_pair_offset): Define new predicate. * config/aarch64/aarch64.md (loadwb_pair, storewb_pair): Use aarch64_mem_pair_offset. From-SVN: r213487
Jiong Wang committed -
From-SVN: r213486
Jiong Wang committed -
on aarch64, we are using load register pair post-writeback instruction in epilogue. for example, for the following instruction: ldp, x0, x1, [sp], #16 what it's doing is: x0 <- MEM(sp + 0) x1 <- MEM(sp + 8) sp < sp + 16 while there is a glitch in our loadwb_pair* pattern, the restore of the first reg should always be with offset zero. (set (match_operand:GPI 2 "register_operand" "=r") - (mem:GPI (plus:P (match_dup 1) - (match_dup 4)))) + (mem:GPI (match_dup 1))) gcc/ * config/aarch64/aarch64.md (loadwb_pair<GPI:mode>_<P:mode>): Fix offset. (loadwb_pair<GPI:mode>_<P:mode>): Likewise. * config/aarch64/aarch64.c (aarch64_gen_loadwb_pair): Likewise. From-SVN: r213485
Jiong Wang committed -
gcc/ * config/mips/mips.h (REGISTER_PREFIX): Define macro. From-SVN: r213484
Matthew Fortune committed -
2014-08-01 Ed Schonberg <schonberg@adacore.com> * restrict.adb (Update_Restrictions): For restrictions with a maximum parameter (e.g. number of protected entries in Ravenscar) do not compute the maximum of the violation over several objects, because the restriction is per-object. (Check_Restriction): After possible message, reset the value of of a checked max_parameter restriction to zero, to prevent cascaded errors. * sem_ch3.adb (Build_Derived_Private_Type): Use base of parent (sub)type to determine whether derived type should be on the list of private dependents of a type whose full view may become visible subsequently. From-SVN: r213483
Ed Schonberg committed -
2014-08-01 Olivier Hainque <hainque@adacore.com> * gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS, native): use $(CXX) instead of ../../xg++ to feed CXX. (CXX_LFLAGS): Remove. Now unused as the proper flags are expected to be included in the CXX variable. 2014-08-01 Pierre-Marie Derodat <derodat@adacore.com> * gcc-interface/decl.c (elaborate_expression_1): Return the new variable when debug info is needed and the expression is not constant. Tag as external only new variables that are global. (gnat_to_gnu_entity): Call it after the GNU declaration is saved. * gcc-interface/trans.c (Attribute_to_gnu): Do not cache attributes for IN array parameters when their actual subtype needs debug info. (Compilation_Unit_to_gnu): Call it to process all remaining nodes. * gcc-interface/gigi.h (process_deferred_decl_context): New. * gcc-interface/utils.c (gnat_write_global_declarations): Do not emit debug info for ignored global declarations. (struct deferred_decl_context_node, add_deferred_decl_context, add_deferred_type_context, compute_deferred_decl_context, defer_or_set_type_context, deferred_decl_context_queue, get_debug_scope, get_global_context, process_deferred_decl_context): New. (gnat_pushdecl): Re-implement the DECL_CONTEXT and TYPE_CONTEXT computation machinery to rely on the GNAT Scope attribute. 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/utils2.c (build_simple_component_ref): Add guard. From-SVN: r213482
Arnaud Charlet committed -
* MAINTAINERS (Write After Approval): Add myself. From-SVN: r213481
Jiong Wang committed
-