| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
* system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
* system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
* system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
* system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
* system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
* system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145361 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145289 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW
instead of TREE_CONSTANT_OVERFLOW.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145287 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-common.c (c_fully_fold, convert_and_check,
c_common_truthvalue_conversion): Handle EXCESS_PRECISION_EXPR.
(c_fully_fold_internal): Disallow EXCESS_PRECISION_EXPR.
* c-common.def (EXCESS_PRECISION_EXPR): New.
* c-cppbuiltin.c (builtin_define_float_constants): Define
constants with enough digits for long double.
* c-lex.c (interpret_float): Interpret constant with excess
precision where appropriate.
* c-opts.c (c_common_post_options): Set
flag_excess_precision_cmdline. Give an error for
-fexcess-precision=standard for C++ for processors where the
option is significant.
* c-parser.c (c_parser_conditional_expression): Handle excess
precision in condition.
* c-typeck.c (convert_arguments): Handle arguments with excess
precision.
(build_unary_op): Move excess precision outside operation.
(build_conditional_expr): Likewise.
(build_compound_expr): Likewise.
(build_c_cast): Do cast on operand of EXCESS_PRECISION_EXPR.
(build_modify_expr): Handle excess precision in RHS.
(convert_for_assignment): Handle excess precision in converted
value.
(digest_init, output_init_element, process_init_element): Handle
excess precision in initializer.
(c_finish_return): Handle excess precision in return value.
(build_binary_op): Handle excess precision in operands and add
excess precision as needed for operation.
* common.opt (-fexcess-precision=): New option.
* config/i386/i386.h (X87_ENABLE_ARITH, X87_ENABLE_FLOAT): New.
* config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
For standard excess precision, output explicit conversion to and
truncation from XFmode.
(*float<SSEMODEI24:mode><X87MODEF:mode>2_1,
*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp,
*float<SSEMODEI24:mode><X87MODEF:mode>2_i387, two unnamed
define_splits, floatdi<X87MODEF:mode>2_i387_with_xmm, two unnamed
define_splits, *floatunssi<mode>2_1, two unnamed define_splits,
floatunssi<mode>2, add<mode>3, sub<mode>3, mul<mode>3, divdf3,
divsf3, *fop_<mode>_comm_i387, *fop_<mode>_1_i387,
*fop_<MODEF:mode>_2_i387, *fop_<MODEF:mode>_3_i387,
*fop_df_4_i387, *fop_df_5_i387, *fop_df_6_i387, two unnamed
define_splits, sqrt<mode>2): Disable where appropriate for
standard excess precision.
* convert.c (convert_to_real): Do not shorten arithmetic to type
for which excess precision would be used.
* defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Define.
* doc/invoke.texi (-fexcess-precision=): Document option.
(-mfpmath=): Correct index entry.
* flags.h (enum excess_precision, flag_excess_precision_cmdline,
flag_excess_precision): New.
* langhooks.c (lhd_post_options): Set
flag_excess_precision_cmdline.
* opts.c (common_handle_option): Handle -fexcess-precision=.
* toplev.c (flag_excess_precision_cmdline, flag_excess_precision,
init_excess_precision): New.
(lang_dependent_init_target): Call init_excess_precision.
* tree.c (excess_precision_type): New.
* tree.h (excess_precision_type): Declare.
ada:
* gcc-interface/misc.c (gnat_post_options): Set
flag_excess_precision_cmdline. Give an error for
-fexcess-precision=standard for processors where the option is
significant.
fortran:
* options.c (gfc_post_options): Set
flag_excess_precision_cmdline. Give an error for
-fexcess-precision=standard for processors where the option is
significant.
java:
* lang.c (java_post_options): Set flag_excess_precision_cmdline.
Give an error for -fexcess-precision=standard for processors where
the option is significant.
testsuite:
* gcc.target/i386/excess-precision-1.c,
gcc.target/i386/excess-precision-2.c,
gcc.target/i386/excess-precision-3.c,
gcc.target/i386/excess-precision-4.c,
gcc.target/i386/excess-precision-5.c,
gcc.target/i386/excess-precision-6.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145272 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
PR c/39323
* c-common.c (handle_aligned_attribute): Properly check alignment
overflow. Use (1U << i) instead of (1 << i).
* emit-rtl.c (get_mem_align_offset): Use "unsigned int" for
align.
* expr.h (get_mem_align_offset): Updated.
* tree.h (tree_decl_common): Change align to "unsigned int" and
move it before pointer_alias_set.
gcc/ada/
2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
PR c/39323
* gcc-interface/utils.c (create_field_decl): Use "unsigned int"
on bit_align.
gcc/testsuite/
2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
PR c/39323
* gcc.dg/pr39323-1.c: New.
* gcc.dg/pr39323-2.c: Likewise.
* gcc.dg/pr39323-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145136 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144775 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
check processing, remove unintended TREE_TYPE walk on index type
to get to base type.
testsuite/
* gnat.dg/slice_enum.adb: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144774 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
2009-02-25 Laurent GUERBY <laurent@guerby.net>
PR ada/39221
* a-teioed.adb (Expand): Fix Result overflow.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144708 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144534 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
call make_packable_type on fat pointer types.
<E_Array_Subtype>: Likewise.
<E_Record_Subtype>: Call make_packable_type on all record types
except for fat pointer types.
(make_packable_type): Likewise.
(gnat_to_gnu_field): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144514 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
EH_MECHANISM change in r130816.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144488 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144464 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
* gcc-interface/Makefile.in: Change all uses of $(srcdir),
$(fsrcdir) and $(fsrcpfx) to add ada subdir.
(AWK): Substitute.
(target_cpu_default): Substitute.
gnattools/:
* Makefile.in (fsrcdir): Point to gcc directory, not gcc/ada.
(INCLUDES_FOR_SUBDIR): Adjust.
(ADA_INCLUDES_FOR_SUBDIR): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144463 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* a-teioed.adb (Expand): Fix Result overflow.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144427 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/Makefile.in: Fix multilib handling for
sparc64-linux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144426 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144382 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144324 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144267 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144199 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* alias.c (record_alias_subset): Make global.
ada/
* gcc-interface/decl.c (enum alias_set_op): New enumeration.
(copy_alias_set): Rename into...
(relate_alias_sets): ...this. Add third parameter OP. Retrieve the
underlying array of unconstrained arrays for the new type as well.
If the old and new alias sets don't conflict, make one a subset of
the other as per the OP parameter.
(gnat_to_gnu_entity): Adjust calls to copy_alias_set.
<E_Record_Type>: Do not copy the alias set for derived types.
For all types, make the alias set of derived types a superset of
that of their parent type.
(make_aligning_type): Adjust calls to copy_alias_set.
(make_packable_type): Likewise.
* gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
Check for alias set conflict instead of strict equality to issue the
warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144084 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
(copy_alias_set): Assert that arrays have the same aliasing settings.
(substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144038 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make case self-contained.
<ARRAY_REF>: Test TYPE_NONALIASED_COMPONENT flag.
ada/
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
Set TYPE_NONALIASED_COMPONENT on the array type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144021 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gcc-interface/Makefile.in: Fix mipsel linux handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143855 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
powerpc64-linux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143447 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
only useless conversions around renamed objects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143303 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
the _Tag field before any discriminants in the field list.
(components_to_record): Remove obsolete comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143267 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
* gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142588 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142470 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Fixup ChangeLog entries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142466 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR bootstrap/38262
* java/Make-lang.in (jc1): Add BACKENDLIBS, remove GMPLIBS.
* objc/Make-lang.in (cc1obj-dummy, cc1obj): Same.
* objcp/Make-lang.in (cc1objplus-dummy, cc1objplus): Same.
* cp/Make-lang.in (cc1plus-dummy, cc1plus): Same.
* ada/gcc-interface/Make-lang.in (gnat1): Same.
* fortran/Make-lang.in (f951): Same.
* Makefile.in (LIBS): Remove GMPLIBS, CLOOGLIBS and PPLLIBS.
(BACKENDLIBS): New.
(cc1-dummy, cc1): Add BACKENDLIBS, remove GMPLIBS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142464 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* g-comver.adb (Ver_Len_Max): Fix inconsistency.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142274 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142247 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142058 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* utils.c (init_gigi_decls): Fix type mismatch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142057 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Propagate
the name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141964 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/decl.c (make_type_from_size): Do not special-case
boolean types.
* gcc-interface/targtyps.c: Tweak comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141913 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
to prevent exponential expansion during gimplification.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141885 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
ada/
* gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141884 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
initialized to a static constant to be statically allocated even if
they are of a padding type, provided the original type also has
constant size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141883 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
PR ada/37993
* gcc-interface/Makefile.in: Add multilib handling for x86_64
on darwin.
* system-darwin-x86_64.ads: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141882 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
Turn Ada Pure on subprograms back into GCC CONST when eh constructs
are explicit to the middle-end. Tidy.
testsuite/
* gnat.dg/test_raise_from_pure.adb: Adjust to match revised intent.
* gnat.dg/wrap_raise_from_pure.ad[bs]: Remove.
* gnat.dg/handle_raise_from_pure.adb: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141821 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(MINUS_NOMOD_EXPR): Likewise.
* gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
unreachable.
<PLUS_NOMOD_EXPR>: New case.
<MINUS_NOMOD_EXPR>: Likewise.
* gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
assignment statement instead of using an increment operator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141714 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
multilibs.
PR ada/37681
* system-solaris-x86_64.ads: New file.
* gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141681 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lib.ads: (Enable_Switch_Storing): Declare.
* lib.adb: (Enable_Switch_Storing): New procedure.
* switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
* make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
(Display): Never display -gnatea
* gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141673 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141671 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
for empty range in original base type, not converted result type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141670 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141669 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
and result for call to __gnat_mulv64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141668 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141667 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
overflow check for constant result.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141666 138bc75d-0d04-0410-961f-82ee72b054a4
|