- 23 Jun, 2016 8 commits
-
-
Add support for profiledbootstrap with autofdo. Will be useful to get better testing coverage of autofdo. This requires Linux perf and autofdo to be installed, only really for x86_64 linux on Intel so far. Profile the whole build process with perf, then convert the file, and pass it back to the compiler in the feedback stage. The conversion has to be done per language, as only that knows the name of the binary. Currently we only do it for C and C++, as the other languages don't have enough coverage during a normal bootstrap. For lto1 it is also disabled, because it would only be useful during a LTO bootstrap, but right now autofdo and LTO are not working together due to PR66229 For common backend files always the profile output of the C++ compiler is used. In theory multiple inputs could be merged here, but so far that is not implemented. The method is not friendly to partial rebuilds, as only the profile information from the current rebuild is used. So if an error occurs it is best to clean and restart, otherwise the code quality may be worse. This patch is fairly large, but most of it is auto generated from autogen in Makefile.in. for the new stage targets. Passes profiledbootstrap and normal bootstrap on x86_64-linux. autoprofiledbootstrap is currently not working due to PR70427 (but it finishes with that worked around) The autofdo'ed compiler is ~7% faster on insn-recog.i (vs ~11% for profiledfeedback), and ~4% faster for tramp3d-v4 (vs 10% for profiledfeedback) on a Sandy Bridge system. gcc/lto/: 2016-06-23 Andi Kleen <ak@linux.intel.com> * Make-lang.in: Add support for autofdo (disabled for now) gcc/cp/: 2016-06-23 Andi Kleen <ak@linux.intel.com> * Make-lang.in: Add support for autofdo. gcc/: 2016-06-23 Andi Kleen <ak@linux.intel.com> * Makefile.in: Regenerate. * doc/install.texi: Document autoprofiledbootstrap. /: 2016-06-23 Andi Kleen <ak@linux.intel.com> * Makefile.def: Add autoprofiledbootstrap. * Makefile.tpl: Dito. * Makefile.in: Regenerate. gcc/c/: 2016-06-23 Andi Kleen <ak@linux.intel.com> * Make-lang.in: Add support for autofdo. From-SVN: r237733
Andi Kleen committed -
Extend the existing bprob and tree-prof tests to also run with autofdo. The test runtimes are really a bit too short for autofdo, but it's a reasonable sanity check. This only works natively for now. dejagnu doesn't seem to support a wrapper for unix tests, so I had to open code running these tests. That should be ok due to the native run restrictions. gcc/testsuite/: 2016-06-23 Andi Kleen <ak@linux.intel.com> * g++.dg/bprob/bprob.exp: Support autofdo. * g++.dg/tree-prof/tree-prof.exp: dito. * gcc.dg/tree-prof/tree-prof.exp: dito. * gcc.misc-tests/bprob.exp: dito. * gfortran.dg/prof/prof.exp: dito. * lib/profopt.exp: dito. * lib/target-supports.exp: Check for autofdo. From-SVN: r237732
Andi Kleen committed -
Using autofdo is currently something difficult. It requires using the model specific branches taken event, which differs on different CPUs. The example shown in the manual requires a special patched version of perf that is non standard, and also will likely not work everywhere. This patch adds a new gcc-auto-profile script that figures out the correct event and runs perf. This is needed to actually make use of autofdo in a generic way in the build system and in the test suite. Since maintaining the script would be somewhat tedious (needs changes every time a new CPU comes out) I auto generated it from the online Intel event database. The script to do that is in contrib and can be rerun. Right now there is no test if perf works in configure. This would vary depending on the build and target system, and since it currently doesn't work in virtualization and needs uptodate kernel it may often fail in common distribution build setups. So far the script is not installed. gcc/: 2016-06-23 Andi Kleen <ak@linux.intel.com> * config/i386/gcc-auto-profile: New file. contrib/: 2016-06-23 Andi Kleen <ak@linux.intel.com> * gen_autofdo_event.py: New file to regenerate gcc-auto-profile. From-SVN: r237731
Andi Kleen committed -
re PR middle-end/71619 (ICE: in predict_loops, at predict.c:1772 with --param=max-predicted-iterations=0) Fix PR middle-end/71619 PR middle-end/71619 * predict.c (predict_loops): Revert the hunk that was removed in r237103. * gcc.dg/pr71619.c: New test. From-SVN: r237730
Martin Liska committed -
2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com> * config.host: Add suport for arm*-*-phoenix* targets. From-SVN: r237729
Jakub Sejdak committed -
2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com> * config.gcc: Add support for arm*-*-phoenix* targets. * config/arm/t-phoenix: New. * config/phoenix.h: New. From-SVN: r237728
Jakub Sejdak committed -
2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com> * configure.ac: Disable libgcj and libgloss for Phoenix-RTOS targets. * configure: Regenerate. From-SVN: r237727
Jakub Sejdak committed -
From-SVN: r237726
GCC Administrator committed
-
- 22 Jun, 2016 32 commits
-
-
From-SVN: r237721
Uros Bizjak committed -
PR target/67400 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): New. * config/i386/i386.c (ix86_force_load_from_GOT_p): New function. (ix86_legitimate_constant_p): Do not allow UNSPEC_GOTPCREL if ix86_force_load_from_GOT_p returns true. (ix86_legitimate_address_p): Allow UNSPEC_GOTPCREL if ix86_force_load_from_GOT_p returns true. (ix86_print_operand_address_as): Support UNSPEC_GOTPCREL if ix86_force_load_from_GOT_p returns true. (ix86_expand_move): Load the external function address via the GOT slot if ix86_force_load_from_GOT_p returns true. * config/i386/predicates.md (x86_64_immediate_operand): Return false for SYMBOL_REFs where ix86_force_load_from_GOT_p returns true. (x86_64_zext_immediate_operand): Ditto. testsuite/ChangeLog: PR target/67400 * gcc.target/i386/pr67400-1.c: New test. * gcc.target/i386/pr67400-2.c: Likewise. * gcc.target/i386/pr67400-3.c: Likewise. * gcc.target/i386/pr67400-4.c: Likewise. * gcc.target/i386/pr67400-5.c: Likewise. * gcc.target/i386/pr67400-6.c: Likewise. * gcc.target/i386/pr67400-7.c: Likewise. From-SVN: r237720
Uros Bizjak committed -
* config/i386/i386.c (ix86_expand_move): Simplify SYMBOL_REF handling. From-SVN: r237716
Uros Bizjak committed -
This patch tweaks the error message location for missing header files. Previously these read: test.c:1:17: fatal error: 404.h: No such file or directory #include "404.h" ^ compilation terminated. With this patch, the pertinent string is underlined: test.c:1:10: fatal error: 404.h: No such file or directory #include "404.h" ^~~~~~~ compilation terminated. gcc/testsuite/ChangeLog: * c-c++-common/missing-header-1.c: New test case. * c-c++-common/missing-header-2.c: New test case. * c-c++-common/missing-header-3.c: New test case. * c-c++-common/missing-header-4.c: New test case. libcpp/ChangeLog: * directives.c (do_include_common): Pass on "location" to _cpp_stack_include. * errors.c (cpp_diagnostic): Reimplement in terms of... (cpp_diagnostic_at): New function. (cpp_error_at): New function. (cpp_errno_filename): Add "loc" param and use it by using cpp_error_at rather than cpp_error. * files.c (find_file_in_dir): Add "loc" param and pass it to open_file_failed. (_cpp_find_file): Add "loc" param. Use it to convert calls to cpp_error to cpp_error_at, and pass it to find_file_in_dir and open_file_failed. (read_file_guts): Add "loc" param. Use it to convert calls to cpp_error to cpp_error_at. Pass it to cpp_errno_filename. (read_file): Add "loc" param. Pass it to open_file_failed and read_file_guts. (should_stack_file): Add "loc" param. Pass it to read_file. (_cpp_stack_file): Add "loc" param. Pass it to should_stack_file. (_cpp_stack_include): Add "loc" param. Pass it to _cpp_find_file and _cpp_stack_file. (open_file_failed): Add "loc" param. Pass it to cpp_errno_filename. (_cpp_fake_include): Add 0 as a source_location in call to _cpp_find_file. (_cpp_compare_file_date): Likewise. (cpp_push_include): Likewise for call to _cpp_stack_include. (cpp_push_default_include): Likewise. (_cpp_save_file_entries): Likewise for call to open_file_failed. (_cpp_has_header): Likewise for call to _cpp_find_file. * include/cpplib.h (cpp_errno_filename): Add source_location param. (cpp_error_at): New declaration. * init.c (cpp_read_main_file): Add 0 as a source_location in calls to _cpp_find_file and _cpp_stack_file. * internal.h (_cpp_find_file): Add source_location param. (_cpp_stack_file): Likewise. (_cpp_stack_include): Likewise. From-SVN: r237715
David Malcolm committed -
gcc/c-family/ChangeLog: PR c/70339 * c-common.h (enum lookup_name_fuzzy_kind): New enum. (lookup_name_fuzzy): New prototype. gcc/c/ChangeLog: PR c/70339 * c-decl.c: Include spellcheck-tree.h and gcc-rich-location.h. (implicit_decl_warning): When issuing warnings for implicit declarations, attempt to provide a suggestion via lookup_name_fuzzy. (undeclared_variable): Likewise when issuing errors. (lookup_name_in_scope): Likewise. (struct edit_distance_traits<cpp_hashnode *>): New struct. (best_macro_match): New typedef. (find_closest_macro_cpp_cb): New function. (lookup_name_fuzzy): New function. * c-parser.c: Include gcc-rich-location.h. (c_token_starts_typename): Split out case CPP_KEYWORD into... (c_keyword_starts_typename): ...this new function. (c_parser_declaration_or_fndef): When issuing errors about missing "struct" etc, add a fixit. For other kinds of errors, attempt to provide a suggestion via lookup_name_fuzzy. (c_parser_parms_declarator): When looking ahead to detect typos in type names, also reject CPP_KEYWORD. (c_parser_parameter_declaration): When issuing errors about unknown type names, attempt to provide a suggestion via lookup_name_fuzzy. * c-tree.h (c_keyword_starts_typename): New prototype. gcc/ChangeLog: PR c/70339 * diagnostic-core.h (pedwarn_at_rich_loc): New prototype. * diagnostic.c (pedwarn_at_rich_loc): New function. * spellcheck.h (best_match::best_match): Add a "best_distance_so_far" optional parameter. (best_match::set_best_so_far): New method. (best_match::get_best_distance): New accessor. (best_match::get_best_candidate_length): New accessor. gcc/testsuite/ChangeLog: PR c/70339 * c-c++-common/attributes-1.c: Update dg-prune-output to include hint. * gcc.dg/diagnostic-token-ranges.c (undeclared_identifier): Update expected results due to builtin "nanl" now being suggested for "name". * gcc.dg/pr67580.c: Update expected messages. * gcc.dg/spellcheck-identifiers.c: New testcase. * gcc.dg/spellcheck-typenames.c: New testcase. From-SVN: r237714
David Malcolm committed -
dwarf2out.c (scompare_loc_descriptor): Use SCALAR_INT_MODE_P() in place of GET_MODE_CLASS() == MODE_INT... * dwarf2out.c (scompare_loc_descriptor): Use SCALAR_INT_MODE_P() in place of GET_MODE_CLASS() == MODE_INT, so that partial integer modes are accepted as well. (ucompare_loc_descriptor): Likewise. (minmax_loc_descriptor): Likewise. (clz_loc_descriptor): Likewise. (popcount_loc_descriptor): Likewise. (bswap_loc_descriptor): Likewise. (rotate_loc_descriptor): Likewise. (mem_loc_descriptor): Likewise. (loc_descriptor): Likewise. From-SVN: r237713
Nick Clifton committed -
gcc/ChangeLog: * common.opt (fdiagnostics-parseable-fixits): New option. * diagnostic.c: Include "selftest.h". (print_escaped_string): New function. (print_parseable_fixits): New function. (diagnostic_report_diagnostic): Call print_parseable_fixits. (selftest::assert_print_escaped_string): New function. (ASSERT_PRINT_ESCAPED_STRING_STREQ): New macro. (selftest::test_print_escaped_string): New function. (selftest::test_print_parseable_fixits_none): New function. (selftest::test_print_parseable_fixits_insert): New function. (selftest::test_print_parseable_fixits_remove): New function. (selftest::test_print_parseable_fixits_replace): New function. (selftest::diagnostic_c_tests): New function. * diagnostic.h (struct diagnostic_context): Add field "parseable_fixits_p". * doc/invoke.texi (Diagnostic Message Formatting Options): Add -fdiagnostics-parseable-fixits. (-fdiagnostics-parseable-fixits): New option. * opts.c (common_handle_option): Handle -fdiagnostics-parseable-fixits. * selftest-run-tests.c (selftest::run_tests): Call selftest::diagnostic_c_tests. * selftest.h (selftest::diagnostic_c_tests): New prototype. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-show-locus-parseable-fixits.c: New file. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add diagnostic-test-show-locus-parseable-fixits.c to sources for diagnostic_plugin_test_show_locus.c. * lib/gcc-defs.exp (freeform_regexps): New global. (dg-regexp): New function. (handle-dg-regexps): New function. * lib/gcc-dg.exp (cleanup-after-saved-dg-test): Reset freeform_regexps to the empty list. * lib/prune.exp (prune_gcc_output): Call handle-dg-regexps. libcpp/ChangeLog: * include/line-map.h (fixit_hint::get_start_loc): New pure virtual function. (fixit_hint::maybe_get_end_loc): Likewise. (fixit_insert::get_start_loc): New function, implementing fixit_hint::get_start_loc. (fixit_insert::maybe_get_end_loc): New function, implementing fixit_hint::maybe_get_end_loc. (fixit_remove::get_start_loc): New function, implementing fixit_hint::get_start_loc. (fixit_remove::maybe_get_end_loc): New function, implementing fixit_hint::maybe_get_end_loc. (fixit_replace::get_start_loc): New function, implementing fixit_hint::get_start_loc. (fixit_replace::maybe_get_end_loc): New function, implementing fixit_hint::maybe_get_end_loc. From-SVN: r237712
David Malcolm committed -
From-SVN: r237710
Eric Botcazou committed -
re PR target/71151 ([avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section) * gcc/ChangeLog: Add pointer to PR71151 for r237536. * gcc/testsuite/ChangeLog: Same. From-SVN: r237709
Georg-Johann Lay committed -
From-SVN: r237707
Eric Botcazou committed -
re PR tree-optimization/71488 (Wrong code for vector comparisons with ivybridge and westmere targets) gcc/ PR middle-end/71488 * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Support comparison of boolean vectors. * tree-vect-stmts.c (vectorizable_comparison): Vectorize comparison of boolean vectors using bitwise operations. gcc/testsuite/ PR middle-end/71488 * g++.dg/pr71488.C: New test. * gcc.dg/vect/vect-bool-cmp.c: New test. From-SVN: r237706
Ilya Enkovich committed -
* config/aarch64/aarch64-protos.h (aarch64_elf_asm_named_section): Remove declaration. From-SVN: r237705
Andreas Schwab committed -
From-SVN: r237703
Eric Botcazou committed -
gcc: 2016-06-22 Bernd Edlinger <bernd.edlinger@hotmail.de> * config/i386/i386.c (print_reg): Emit an error message on attempt to print FLAGS_REG. testsuite: 2016-06-22 Bernd Edlinger <bernd.edlinger@hotmail.de> * gcc.target/i386/asm-flag-7.c: New test. From-SVN: r237702
Bernd Edlinger committed -
From-SVN: r237701
Eric Botcazou committed -
From-SVN: r237700
Arnaud Charlet committed -
2016-06-22 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb: Revert unwanted change in previous commit, only keep message fix. From-SVN: r237699
Arnaud Charlet committed -
sem_prag.ads (Build_Classwide_Expression): new procedure to build the expression for an inherited classwide condition... 2016-06-22 Ed Schonberg <schonberg@adacore.com> * sem_prag.ads (Build_Classwide_Expression): new procedure to build the expression for an inherited classwide condition, and to validate such expressions when they apply to an inherited operation that is not overridden. * sem_prag.adb (Primitives_Mapping): new data structure to handle the mapping between operations of a root type and the corresponding overriding operations of a type extension. Used to construct the expression for an inherited classwide condition. (Update_Primitives_Mapping): add to Primitives_Mapping the links between primitive operations of a root type and those of a given type extension. (Build_Pragma_Check_Equivalent): use Primitives_Mapping. * sem_ch6.adb (New_Overloaded_Entity): Remove call to Collect_Iherited_Class_Wide_Conditions in GNATprove_Mode. This needs to be done at freeze point of the type. * freeze.adb (Check_Inherited_Conditions): new procedure to verify the legality of inherited classwide conditions. In normal compilation mode the procedure determines whether an inherited operation needs a wrapper to handle an inherited condition that differs from the condition of the root type. In SPARK mode the routine invokes Collect_Inherited_Class_Wide_Conditions to produce the SPARK version of these inherited conditions. (Freeze_Record_Type): For a type extension, call Check_Inherited_Conditions. From-SVN: r237698
Ed Schonberg committed -
2016-06-22 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb, sem_type.adb, sem.adb, freeze.adb, sem_util.adb, s-htable.adb, exp_ch11.adb, s-secsta.adb, restrict.adb, exp_disp.adb, sem_ch8.adb, s-tpobop.adb, exp_aggr.ads, sem_ch13.adb: Minor reformatting. 2016-06-22 Yannick Moy <moy@adacore.com> * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Inverse order of treatments so that files without compilation unit are simply skipped before more elaborate treatments. 2016-06-22 Bob Duff <duff@adacore.com> * s-memory.ads: Minor typo fixes in comments. * s-memory.adb: Code cleanup. From-SVN: r237697
Arnaud Charlet committed -
From-SVN: r237696
Olivier Hainque committed -
From-SVN: r237695
Arnaud Charlet committed -
sem_ch8.adb (Push_Scope): Add a check for when the scope table is empty to assign the global variable... 2016-06-22 Justin Squirek <squirek@adacore.com> * sem_ch8.adb (Push_Scope): Add a check for when the scope table is empty to assign the global variable Configuration_Component_Alignment. * sem.adb (Do_Analyze): Add Configuration_Component_Alignment to be assigned when the environment is cleaned instead of the default. * sem.ads Add a global variable Configuration_Component_Alignment to store the value given by pragma Component_Alignment in the context of a configuration file. * sem_prag.adb (Analyze_Pragma): Correct the case for Component_Alignment so that the pragma is verified and add comments to explain how it is applied to the scope stack. 2016-06-22 Justin Squirek <squirek@adacore.com> * sprint.adb (Sprint_Node_Actual): Add check in the case of an N_Object_Declaration when evaluating an expression to properly ignore errors. From-SVN: r237694
Justin Squirek committed -
2016-06-22 Bob Duff <duff@adacore.com> * g-comlin.ads (Parameter_Type): Change subtype of Last to Natural. * g-comlin.adb (Set_Parameter): Change subtype of Last to Natural. (Getopt): Check for Arg = "", and Switches /= "". (Internal_Initialize_Option_Scan): Check for Argument (Parser, Index) /= "". 2016-06-22 Gary Dismukes <dismukes@adacore.com> * sem_prag.adb, sem_ch8.adb: Minor reformatting. From-SVN: r237693
Arnaud Charlet committed -
2016-06-22 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb (Is_Actual_Subtype): New flag, defined on subtypes that are created within subprogram bodies to handle unconstrained composite formals. * checks.adb (Apply_Predicate_Check): Do not generate a check on an object whose type is an actual subtype. * sem_ch6.adb (Set_Actual_Subtypes): Do not generate an actual subtype for a formal whose base type is private. Set Is_Actual_Subtype on corresponding entity after analyzing its declaration. 2016-06-22 Justin Squirek <squirek@adacore.com> * sem_prag.adb (Check_Expr_Is_OK_Static_Expression): Fix ordering of if-block and add in a condition to test for errors during resolution. * sem_res.adb (Resolution_Failed): Add comment to explain why the type of a node which failed to resolve is set to the desired type instead of Any_Type. * sem_ch8.adb (Analyze_Object_Renaming): Add a check for Any_Type to prevent crashes on Is_Access_Constant. From-SVN: r237692
Arnaud Charlet committed -
2016-06-22 Hristian Kirtchev <kirtchev@adacore.com> * lib-xref-spark_specific.adb, checks.adb, sem_ch13.adb: Minor reformatting. * exp_ch7.adb: Minor typo fix. * lib.ads (Get_Top_Level_Code_Unit): Add comment. 2016-06-22 Bob Duff <duff@adacore.com> * s-tassta.adb (Task_Wrapper): Fix handling of Fall_Back_Handler wrt independent tasks. 2016-06-22 Ed Schonberg <schonberg@adacore.com> * sem_dim.adb (Analyze_Dimension): Propagate dimension for explicit_dereference nodes when they do not come from source, to handle correctly dimensional analysis on iterators over containers whose elements have declared dimensions. From-SVN: r237691
Arnaud Charlet committed -
2016-06-22 Arnaud Charlet <charlet@adacore.com> * spark_xrefs.ads (Scope_Num): type refined to positive integers. * lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs. (Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs; now uses Dspec and Scope_Id from Collect_SPARK_Xrefs. (Collect_SPARK_Xrefs): refactored to avoid retraversing the list of scopes. (Traverse_Compilation_Unit): refactored as a generic procedure. * types.ads (Unit_Number_Type): range refined. From-SVN: r237690
Arnaud Charlet committed -
From-SVN: r237689
Arnaud Charlet committed -
2016-06-22 Hristian Kirtchev <kirtchev@adacore.com> * lib-xref-spark_specific.adb, a-cuprqu.ads, sem_ch6.adb: Minor reformatting. 2016-06-22 Eric Botcazou <ebotcazou@adacore.com> * sem_util.ads (Address_Value): Declare new function. * sem_util.adb (Address_Value): New function extracted unmodified from Apply_Address_Clause_Check, which returns the underlying value of the expression of an address clause. * checks.adb (Compile_Time_Bad_Alignment): Delete. (Apply_Address_Clause_Check): Call Address_Value on the expression. Do not issue the main warning here and issue the secondary warning only when the value of the expression is not known at compile time. * sem_ch13.adb (Address_Clause_Check_Record): Add A component and adjust the description. (Analyze_Attribute_Definition_Clause): In the case of an address, move up the code creating an entry in the table of address clauses. Also create an entry for an absolute address. (Validate_Address_Clauses): Issue the warning for absolute addresses here too. Tweak condition associated with overlays for consistency. From-SVN: r237688
Arnaud Charlet committed -
2016-06-22 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Is_Predicate_Static): An inherited predicate can be static only if it applies to a scalar type. 2016-06-22 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Adjust_Result_Type): Convert operand to base type to prevent spurious constraint checks on subtypes of Boolean. 2016-06-22 Bob Duff <duff@adacore.com> * debug.adb: Document debug switch -gnatd.o. * sem_elab.adb (Check_Internal_Call): Debug switch -gnatd.o now causes a more conservative treatment of indirect calls, treating P'Access as a call to P in more cases. We Can't make this the default, because it breaks common idioms, for example the soft links. * sem_util.adb: Add an Assert. 2016-06-22 Bob Duff <duff@adacore.com> * a-cuprqu.ads, a-cuprqu.adb: Completely rewrite this package. Use red-black trees, which gives O(lg N) worst-case performance on Enqueue and Dequeue. The previous version had O(N) Enqueue in the worst case. 2016-06-22 Arnaud Charlet <charlet@adacore.com> * sem_warn.adb: minor style fix in comment. * spark_xrefs.ads (Scope_Num): type refined to positive integers. * lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs. (Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs; now uses Dspec and Scope_Id from Collect_SPARK_Xrefs. (Collect_SPARK_Xrefs): refactored to avoid retraversing the list of scopes. * sem_ch3.adb (Build_Discriminal): Set Parent of the discriminal. From-SVN: r237687
Arnaud Charlet committed -
From-SVN: r237686
Arnaud Charlet committed -
lib-xref-spark_specific.adb (Generate_Dereference): Assignment to not commented local variables replaced with direct uses of their... 2016-06-22 Arnaud Charlet <charlet@adacore.com> * lib-xref-spark_specific.adb (Generate_Dereference): Assignment to not commented local variables replaced with direct uses of their values. From-SVN: r237685
Arnaud Charlet committed -
2016-06-22 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Add_Invariant): Replace the current type instance with the _object parameter even in ASIS mode. (Build_Invariant_Procedure_Body): Do not insert the invariant procedure body into the tree for ASIS and GNATprove. (Build_Invariant_Procedure_Declaration): Do not insert the invariant procedure declaration into the tree for ASIS and GNATprove. * lib-xref-spark_specific.adb (Add_SPARK_Scope): Update comment. 2016-06-22 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Set_Actual_Subtypes): If the type of the actual has predicates, the actual subtype must be frozen properly because of the generated tests that may follow. The predicate may be specified by an explicit aspect, or may be inherited in a derivation. From-SVN: r237684
Arnaud Charlet committed
-