Hi
I want to port r175009 from trunk to google/gcc-4_6 since it fixed 3 dejagnu
failures for arm backend.
Tested on x86-64 with
make check-gcc RUNTESTFLAGS="vect.exp"
Tested on arm qemu with
make check-gcc RUNTESTFLAGS="--target_board=arm-sim/thumb/arch=armv7-a vect.exp"
make check-gcc RUNTESTFL
This patch allows tagged incomplete types to be used in profiles of entries
and entry bodies, without the presence of a regular with_clause on the package
whose limited view provides those types.
The following must compile quietly:
gcc -c -gnat12 -gnatws tagged_half_1.adb
---
limited with Half
This patch does not change the behavior of native compilers. It
adds missing support in VM targets for declarations of class-wide
interface objects.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Javier Miranda
* exp_intr.adb
(Expand_Dispatching_Constructor_Call)
The purpose of the Merge operation is to move elements from
a sorted vector (the source) to another sorted vector (the target).
Following the merge, the source container should be empty. There
was an execution path (when the target was initially empty) in which
the elements of the source were mere
When splicing a source list before a position in a target list,
the items must be spliced in order from first to last; otherwise,
(splicing from last to first) the items become reversed as they
are moved to the target.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Matthew Heaney
This patch does not change the behavior of native compilers. It
disables the frontend expansion of aggregates into assignments
when the type of the aggregate whose size is not known at compile time.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Javier Miranda
* exp_aggr
This patch is to generate more conditional compare instructions in Thumb2
state. Given an example like below,
int f(int i, int j)
{
if ( (i == '+') || (j == '-') ) {
return i;
} else {
return j;
}
}
Without the patch, compiler generates the following codes,
sub r2, r0,
If a constant object of an unconstrained type with discriminants is initialzed
with an aggregate, the constrained subtype of the aggregate can be used as the
type of the object, because such an object is immutable. If all components of
the aggregate are static, this allows the back-end to generate
A type mismatch between the bounds of an array aggregate's range choice
and the expected index type causes the compiler to crash or go into an
infinite loop. Although the compiler catches the type resolution error,
and the range is marked as having an error posted, the bounds are not
marked, preven
When a tagged type is frozen, its primitive operations are frozen, and the
profiles of these operations are frozen as well. This patch checks that
these profiles do not include a non-private type with a private unfrozen
subcomponent, and report an error otherwise. Previously the compiler only
flagg
In general a selected component that denotes a discriminant can be replaced
with the corresponding discriminant value if it comes from a constrained type.
However if the discriminant is not static and is an expression with implicit
control, such as a short-circuit operation, copying the value may l
Itype references are constructed to force the backend to elaborate itypes at
the point of definition, to prevent scope anomalies if the first use of the
itype is within some later nested context. Itypes must not be generated for
formal generic types, and more generally within a generic unit, becaus
The GNAT Pro User's Guide reads:
`-fno-inline'
Suppresses all back-end inlining, even if other optimization or inlining
switches are set. This includes suppression of inlining that results from the
use of the pragma Inline_Always. Any occurrences of pragma Inline or
Inline_Always are ignore
On Tue, 2 Aug 2011, Ira Rosen wrote:
>
>
> Richard Guenther wrote on 02/08/2011 04:25:58 PM:
>
>
> >
> > Thinking about it it probably makes sense to keep a variant of this
> > in the vectorizer - after all it has quite specific requirements on
> > operand sizes while VRP would probably demot
Ada types with convention CPP_Class are treated as limited types. This change
requires that they are declared with the LIMITED keyword (previously we
already issued a warning in such case). This does not substantially alter
the compiler's treatment of such types, since they were already supposed
to
The lower bound of a string literal is set to the 'First of the base type of
the index type, when the lower bound of the context type is non-static. This
is problematic if the string is an empty string and the base type is Integer,
because then the uppper bound is not representable. Given that the
If the type of the aggregate is derived, and constrains discriminants
of the parent type, these discriminants are not components of the
aggregate, and must be initialized by the code generated by the
compiler. They are not visible components of the object, but can
become visible with a view convers
This makes it easier to follow the stream of log traces while working
on the project manager.
This does not change the normal output or behavior of the builders.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Emmanuel Briot
* prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
In prj.env, several subprograms were taking a Target_Name parameter,
only so that they could initialize the project path if not already done.
We now request that the project path first be initialized. This is slightly
more efficient, but more importantly simplifies the API a bit. It will
also be re
On Tue, Aug 2, 2011 at 5:40 PM, Kai Tietz wrote:
> 2011/8/2 Richard Guenther :
>> On Tue, Aug 2, 2011 at 12:39 PM, Kai Tietz wrote:
>
> Thanks, yes, I noticed that. Patch adjusted for cfg_tree.
What about my other comment?
> ChangeLog
>
> 2011-08-02 Kai Tietz
>
> * tree-ssa-forwprop
This change adjusts the traceback stop condition for ppc-aix to stop
at null return addresses, sometimes encountered alone (with the associated
backchain pointer not null) to indicate a toplevel frame.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Olivier Hainque
* tra
This change prevents a potential double free in Finalize, which
can cause gnatprfh to crash on some platforms.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Thomas Quinot
* g-pehage.adb (Finalize): Avoid possible double-free.
Index: g-pehage.adb
===
This patch does not affect the behavior of native compilers. It
extends the cases in which aggregates are internally converted
into purely positional form, which helps the backend of VM
compilers.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Javier Miranda
* exp_aggr.a
Ping.
2011/7/26 Ilya Enkovich :
> Hello,
>
> Here is updated patch for tree reassoc phase. Update includes coding
> style fixes, comments update, target hook arguments change. I also
> moved a part of code from rewrite_expr_tree into separate function to
> reuse it in rewrite_expr_tree_parallel fo
Hello!
We should not call CPU_COUNT when not defined in glibc.
2011-08-03 Uros Bizjak
* config/linux/proc.c (gomp_cpuset_popcount): Rename from
cpuset_popcount. No more static.
(gomp_init_num_threads): Update call to cpuset_popcount.
(get_num_procs): Ditto.
On Wed, Aug 03, 2011 at 10:36:47AM +0200, Uros Bizjak wrote:
> We should not call CPU_COUNT when not defined in glibc.
Oops, forgot that old glibcs don't have it.
> 2011-08-03 Uros Bizjak
>
> * config/linux/proc.c (gomp_cpuset_popcount): Rename from
> cpuset_popcount. No more sta
The new parameter makes it possible, while processing aggregate projects,
to stop the processing as soon as an error is found in one of the
aggregated projects.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Emmanuel Briot
* prj-part.adb, prj-part.ads, prj-makr.adb, prj-
This type was introduced so that we can have two sets of environment
variables when manipulating aggregate projects (one for the aggregate,
one for the aggregated projects).
But we can have more than two project trees, since we have one per
aggregated project. So creating a new type makes it possib
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 08/02/11 22:04, Tobias Burnus wrote:
> Daniel Kraft wrote:
>> No regressions on x86_64-unknown-linux-gnu. Ok for trunk?
>
> OK for the trunk and for 4.6 (as it is a regression).
And committed on 4.6 branch as rev. 177249, there also were no
regre
The change to Get_Attribute_Index avoids an incorrect lower casing
of the external variable name when using the new "External" attribute in
aggregate projects.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Emmanuel Briot
* prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_A
When an imported unit needs a body, bit the body source file cannot be
found, always put the spec file name in the ALI file of the importing
unit. This was done when a configuration pragmas file was available to
the compiler, but not when there was no vonfiguration pragmas file.
This is now done in
First steps in implementation of convention Ada_Pass_By_Copy/Reference
Not yet complete, not ready for tests.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Robert Dewar
* repinfo.adb (List_Mechanism): Add handling of
Convention_Ada_Pass_By_XXX.
* sem_mec
In order to be able to reconstruct the information in back-ends which do not
have access to all the code, it is necessary that body scopes refer to their
spec scope when different. This has been added to the ALFA scope section of the
ALI file.
Tested on x86_64-pc-linux-gnu, committed on trunk
201
When processing an aggregate project, the "External" attribute can be
used to modify the environment that is used to parse the aggregated
projects.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Emmanuel Briot
* prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-en
SPARK LRM was modified to allow the names of constants to occur as operands
of concatenation. The SPARK restriction has been updated to reflect this change.
The following now compiles quietly:
pragma Restrictions (SPARK);
procedure Concat is
subtype Small_Range is Positive range 1 .. 1;
su
The compiler rejects a selected component naming a discriminant of a private
type when the prefix is overloaded. Prefixes of private types were not being
accounted for in analysis and resolution of an overloaded selected component.
The following test must compile quietly:
procedure Overloaded_Dis
This patch provides a generic support to use TLS for the Ada tasking run-time
(file s-tpopsp-tls.adb) and enables this support on several Linux platforms.
More platforms may be switched later.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Arnaud Charlet
* s-taprop-posix
We've had this setting enabled by default in our AdaCore tree for years
now, so enabling this setting here.
Manually tested on powerpc-aix
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Arnaud Charlet
* system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
Two of the latest Ada patches broke bootstrap on Solaris:
In file included from /vol/gcc/src/hg/trunk/local/gcc/ada/link.c:42:0:
./auto-host.h:1829:0: error: "_FILE_OFFSET_BITS" redefined [-Werror]
/var/gcc/regression/trunk/10-gcc/build/./prev-gcc/include-fixed/sys/feature_tests.h:197:0:
note: th
On Thu, Jul 28, 2011 at 12:35:46PM +0200, Bernd Schmidt wrote:
[snip]
> * rtl.h (ANY_RETURN_P): New macro.
[snip]
This patch makes rebuild_jump_labels set JUMP_LABEL appropriately
for return jumps, and fixes sharing for RETURN. Since ANY_RETURN_P(X)
is defined as ((X) == ret_rtx), RETURNs n
http://gcc.gnu.org/ml/gcc-patches/2011-08/msg00140.html
Weddington, Eric wrote:
>>
>> This patch fixes RCALL/RJMP instructions to other modules by replacing
>> them
>> with XCALL resp. XJMP.
>>
>
> Hi Johann,
>
> Do we want to add a binutils bug report for the FIXME that you just added in
> th
Hi!
I couldn't find a way to add an option in specs, so that it would affect
other specs, like e.g. to make -pie the default if -shared/-static/-pie/-r
isn't passed in specs would require duplicating *startfile/*endfile:
%rename link link_pie_old
*link:
%{shared|static|pie|r:;:-pie} %(link_pie_old
Follow-up of previous changes to detect ALFA subset. Deals here with array
types, which should have static bounds and have index/component types in ALFA.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Yannick Moy
* cstand.adb (Create_Standard): select Universal_Integer a
On Wed, Aug 3, 2011 at 11:11 AM, Jakub Jelinek wrote:
> On Wed, Aug 03, 2011 at 10:36:47AM +0200, Uros Bizjak wrote:
>> We should not call CPU_COUNT when not defined in glibc.
>
> Oops, forgot that old glibcs don't have it.
> I don't like the prototype in libgomp.h, for one sched.h isn't included
This small patch fixes the rollback of the transaction ID as well as
queries for it.
OK for branch?
commit bd83b4594c1f6eee09e0fa7b369557f986291f9b
Author: Torvald Riegel
Date: Fri Jul 29 15:19:04 2011 +0200
Fix rollback and queries of transaction ID.
* beginend.cc (GTM::gtm_t
This change fixes a bug in the generation of the default implementation
of the 'Input stream attribute in Ada 2005 mode for the case of an
unconstrained array of limited objects with a 'Read attribute. The following
compilation must be accepted quietly:
$ gcc -c -gnat05 unc_lim_input.adb
with Ada
When gnatmake is invoked with --subdirs= but not with -P, the specified
subdirectory will now be created, if it does exist, and it will be used
as the object directory as if -D had been used.
The test for this is to invoke gnatmake as such:
gnatmake --subdirs=toto main.adb
The subdirectory toto
This adds a new TM method which lets transactions simply read through
without any protection until the first write in the transaction, upon
which the transaction switches to serial-irrevocable mode (thus
isolating all other transactions from uncommitted writes).
This can work well for read-mostly
patch3:
After the previous change to flat nesting by default, checkpoints, and
thus having only a single gtm_transaction object per thread, we can move
the local_tid field to gtm_transaction too. As a result, we don't have
to access gtm_thread in GTM_begin_transaction anymore.
patch4:
A small fix
This fixes PR49938 by instead of asserting return chrec_dont_know.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
Richard.
2011-08-03 Richard Guenther
PR tree-optimization/49938
* tree-scalar-evolution.c (interpret_loop_phi): Gracefully
deal w
This patch removes the per-thread free-list of gtm_transaction objects.
With a single stable gtm_transaction object per thread, it is not
necessary anymore. Furthermore, a destructor function of a pthread TLS
key is used to release a thread's gtm_transaction object when this
thread terminates. This
On 08/03/11 12:41, Alan Modra wrote:
> This patch makes rebuild_jump_labels set JUMP_LABEL appropriately
> for return jumps, and fixes sharing for RETURN. Since ANY_RETURN_P(X)
> is defined as ((X) == ret_rtx), RETURNs need to stay shared.
> Bootstrapped and regression tested powerpc-linux and pow
On Mon, Aug 1, 2011 at 1:12 PM, Jason Merrill wrote:
> Another issue raised in 49813 is that morally_constexpr_builtin_function_p
> was rejecting __builtin_isinf because it has a variadic signature. I'm
> changing potential_constant_expression_1 to just allow any built-in function
> in a constexp
Hello,
On Tuesday 02 August 2011 18:08:05 Tobias Burnus wrote:
> This patch fixes two issues:
>
> a) LOCK(coarray%lock_type_comp) is also a coarray.
>
> b) The following constraint was incompletely checked for: C1302. For
> reference, I also list C1303/C1304.
[...]
>
> PS: It somehow took me
Hello,
I noticed that I disallowed expansion of ~(X bitwise-binary-ops) for
none-boolean type. This limitiation isn't necessary and prevented
even some pattern-detections.
I've added 3 new testcases for this to the patch.
ChangeLog
2011-08-03 Kai Tietz
* tree-ssa-reassoc.c (gimple b
Tests that new transactions can be started from both transaction_pure
and transaction_unsafe code. This also checks proper handling of
reentrant nesting in the serial_lock implementation (reentrant in the
sense that we go from transactional to nontransactional to transactional
code).
This test curr
Based on recent discussions among the C++ TM specification group, static
constructors should be allowed in transactional (i.e., transaction_safe)
code. GCC should have a wrapper assigment for __cxa_guard_acquire and
__cxa_guard_release, and libitm should implement wrappers that guarantee
atomicity
This fixes a wrong re-association which can introduce undefined
overflow. The fix is to perform this only when overflow is known
to wrap.
Bootstrap and regtest pending on x86_64-unknown-linux-gnu.
Richard.
2011-08-03 Richard Guenther
PR middle-end/49958
* fold-const.c (fold
Richard Henderson wrote:
> On 08/01/2011 11:42 AM, Georg-Johann Lay wrote:
>> Is there a specific reason not to define
>> ACCUMULATE_OUTGOING_ARGS on AVR?
>
> Yes. So that you can use PUSH. But as I said in PR49881,
> you probably want to provide -maccumulate-outgoing-args.
>
> I have a follow-
On Wed, Aug 3, 2011 at 1:47 PM, Kai Tietz wrote:
> Hello,
>
> I noticed that I disallowed expansion of ~(X bitwise-binary-ops) for
> none-boolean type. This limitiation isn't necessary and prevented
> even some pattern-detections.
> I've added 3 new testcases for this to the patch.
You seem to u
Hi!
As mentioned in PR49905, -D_FORTIFY_SOURCE{,=2} handles e.g.
malloc (4) or malloc (16) well, knowing that the resulting pointer
has object size 4 resp. 16, but for new int or new int[4], it currently
doesn't assume anything (i.e. __builtin_object_size (new int, 0) returns
-1). While I see the
On Wed, Aug 3, 2011 at 2:31 PM, Jakub Jelinek wrote:
> Hi!
>
> As mentioned in PR49905, -D_FORTIFY_SOURCE{,=2} handles e.g.
> malloc (4) or malloc (16) well, knowing that the resulting pointer
> has object size 4 resp. 16, but for new int or new int[4], it currently
> doesn't assume anything (i.e.
Tru64 UNIX Ada bootstrap was broken, too:
/vol/gcc/src/hg/trunk/solaris/gcc/ada/init.c: In function 'void
__gnat_error_handler(int, siginfo_t*, void*)':
/vol/gcc/src/hg/trunk/solaris/gcc/ada/init.c:382:50: error: cast from type
'const char*' to type 'char*' casts away qualifiers [-Werror=cast-qu
On 08/03/2011 02:46 PM, Richard Guenther wrote:
If that's reasonable then adding the malloc attribute should be, too.
Making aliasing stricter for -D_FORTIFY_SOURCE=2 sounds wrong though.
Paolo
Hi
2011/8/2 Basile Starynkevitch :
> On Tue, 2 Aug 2011 19:13:04 +0200
> Romain Geissler wrote:
>> > You should build MELT in an empty build tree. Please give us the log file
>> > of your make
>> > (don't use make -j, only a sequential make).
>>
>> Ok, i'll send you that tomorrow. Tell me if you
Hi,
On Tue, 2 Aug 2011, Kai Tietz wrote:
> this patch improves the ability of reassociation pass to simplifiy
> more complex bitwise-binary
> operations with comparisons. We break-up for this patch statements
> like (X | Y) != 0 to X != 0 | Y != 0,
> and (X | Y) == 0 to expanded X == 0 & Y == 0.
> Fixed as follows, bootstrap is well beyond the failure now.
>
> Ok for mainline?
OK, thanks.
2011/8/3 Michael Matz :
> Hi,
>
> On Tue, 2 Aug 2011, Kai Tietz wrote:
>
>> this patch improves the ability of reassociation pass to simplifiy
>> more complex bitwise-binary
>> operations with comparisons. We break-up for this patch statements
>> like (X | Y) != 0 to X != 0 | Y != 0,
>> and (X | Y
This is the revised/updated version of the patch originally posted at
[build] Move unwinder to toplevel libgcc
http://gcc.gnu.org/ml/gcc-patches/2011-06/msg01452.html
and reposted as CFT at
http://gcc.gnu.org/ml/gcc-patches/2011-07/msg00201.html
It should incorporate all
This fixes PR49957 by keeping the array index into a multi-dimensional
array in optimal associated form which is ((off + outermost) + ...) +
innermost) + constant) so that dependence analysis can properly
handle it. It doesn't work right now because we build the
expression in reverse order, fold
> Ok for mainline?
>
> Thanks.
> Rainer
>
>
> 2011-08-03 Rainer Orth
>
> * link.c: Include "auto-host.h" before system headers.
OK, thanks.
On Wed, Aug 3, 2011 at 3:06 PM, Paolo Bonzini wrote:
> On 08/03/2011 02:46 PM, Richard Guenther wrote:
>>
>> If that's reasonable then adding the malloc attribute should be, too.
>
> Making aliasing stricter for -D_FORTIFY_SOURCE=2 sounds wrong though.
The patch unconditionally adds malloc_size.
On Wed, Aug 03, 2011 at 03:55:39PM +0200, Richard Guenther wrote:
> On Wed, Aug 3, 2011 at 3:06 PM, Paolo Bonzini wrote:
> > On 08/03/2011 02:46 PM, Richard Guenther wrote:
> >>
> >> If that's reasonable then adding the malloc attribute should be, too.
> >
> > Making aliasing stricter for -D_FORTI
Richard Henderson wrote:
> emit_stack_restore (SAVE_BLOCK, old_stack_level);
> stack_pointer_delta = old_stack_pointer_delta;
> +
> + /* ??? Is this assert warrented, given emit_stack_restore?
> + or should we just mark the last insn no matter what? */
> + las
what we want?
RETURN_POPS_ARGS cannot help here.
Johann
.file "printf.c"
__SREG__ = 0x3f
__SP_H__ = 0x3e
__SP_L__ = 0x3d
__tmp_reg__ = 0
__zero_reg__ = 1
; GNU C (GCC) version 4.7.0 20110803 (experimental) (avr)
; compiled by GNU C version 4.3.2 [gcc-4_3-branch revisio
Hi,
I checked in the following testcases for PR target/47744.
H.J.
---
Index: gcc.dg/torture/pr47744-2.c
===
--- gcc.dg/torture/pr47744-2.c (revision 0)
+++ gcc.dg/torture/pr47744-2.c (revision 0)
@@ -0,0 +1,40 @@
+/* { dg-do comp
On Wed, Aug 3, 2011 at 3:32 PM, Kai Tietz wrote:
> 2011/8/3 Michael Matz :
>> Hi,
>>
>> On Tue, 2 Aug 2011, Kai Tietz wrote:
>>
>>> this patch improves the ability of reassociation pass to simplifiy
>>> more complex bitwise-binary
>>> operations with comparisons. We break-up for this patch statem
Hi,
On Wed, 3 Aug 2011, Kai Tietz wrote:
> > Implement all of this in the normal reassoc machinery that already
> > exists. Don't implement your own walker (which btw is superlinear
> > because you recurse into both operands). If no simplifications were
> > possible you have to fold back the
On Tue, Aug 2, 2011 at 3:32 PM, Richard Henderson wrote:
> I got Jeff Law to review the reload change on IRC
> and committed the composite patch.
>
> Tested on x86_64, i586, avr, and h8300. Most other
> tier1 targets ought not be affected, as this patch
> only applies to ACCUMULATE_OUTGOING_ARGS
On Wed, 3 Aug 2011, Rainer Orth wrote:
> * Even worse, there are a couple of formats/targets that do use
> fp-bit.c, don't yet define QUIET_NAN_NEGATED, but have qnan_msb_set =
> false:
>
> qnan_msb_setuses fp-bit
>
> mips_single_forma
The following patch adds partial support for controlled objects allocated on
the heap for .NET/JVM compilation environments.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Hristian Kirtchev
* exp_ch13.adb: Add with and use clause for Targparm;
(Expand_N_Free_Stat
Hi,
I checked in this patch to add a testase for PR middle-end/47383.
H.J.
---
Index: gcc.dg/torture/pr47383.c
===
--- gcc.dg/torture/pr47383.c(revision 0)
+++ gcc.dg/torture/pr47383.c(revision 0)
@@ -0,0 +1,30 @@
+/* { dg-do
A function call is tag-indeterminate if the function dispatches on result and
if the return type is tagged. This depends on the current view of the type.
Previously the predicate only checked on whether the function was known to
dispatch on result.
Tested on x86_64-pc-linux-gnu, committed on trunk
Ada 2005 does not allow returning limited objects from a function. As this
interface should be callable from Ada 95 and Ada 2005 we have changed
the API to return access type instead.
This minor upward compatibility issue is very easy to fix. A ".all" needs
to be added to calls to routines Current
2011/8/3 Michael Matz :
> Hi,
>
> On Wed, 3 Aug 2011, Kai Tietz wrote:
>
>> > Implement all of this in the normal reassoc machinery that already
>> > exists. Don't implement your own walker (which btw is superlinear
>> > because you recurse into both operands). If no simplifications were
>> > poss
Several static evaluation routines use Determine_Range to establish the bounds
of a non-static expression. If overflow cheks are enabled, the range of the
result of unary and binary operations may raise an exception, and cannot be
assumed to evaluate correctly without a run-time check. This patch p
This patch reimplements how finalization is carried out during an abort.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Hristian Kirtchev
* a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
From_Abort. When finalization was triggered by an abort
On 08/03/2011 07:07 AM, Georg-Johann Lay wrote:
> #include
>
> void foo ()
> {
> printf ("%d %d %d", 1, 2, 3);
> printf ("%d %d %d", 3, 4, 5);
> printf ("%d %d %d", 1, 4, 5);
> }
>
> Attached the output: The compiler happily pushes onto the stack
> but pops only at the end of the fun
Follow-up of work on marking nodes as being in ALFA for formal verification.
Mark more nodes in ALFA when a reasonable translation exists for verification.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Yannick Moy
* sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark su
On 08/03/2011 07:07 AM, Ulrich Weigand wrote:
> Was this assert intended to impose requirements on target's
> restore_stack_block implemtations? What exactly are those
> supposed to be?
The assert was not intended to impose requirements, but to figure
out if I needed to do anything special here.
On Wed, 3 Aug 2011, Richard Guenther wrote:
>
> This fixes PR49957 by keeping the array index into a multi-dimensional
> array in optimal associated form which is ((off + outermost) + ...) +
> innermost) + constant) so that dependence analysis can properly
> handle it. It doesn't work right now
Previous patch allowed any type of conditional expression in ALFA. Now restrict
this to boolean expressions only. Possibly subject to change later on when
translation from ALFA improves.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-08-03 Yannick Moy
* sem_ch4.adb (Analyze_Co
The following code should find two switches on the command line: -gnatyL (with
parameter "1") and -gnatya. Instead, we used to find a single switch -gnatyL
with parameter "1a".
Define_Switch (Config, "-gnatyL!");
Define_Switch (Config, "-gnatya");
Define_Prefix (Config, "-gnaty");
S
Hello,
This is a series of selective scheduler bug fixes. They fix problems that
have been discovered during internal testing, and one patch is necessary as
preparation to predication support in the selective scheduler (predication
patches will be submitted separately later).
I'm sorry that patc
From: Dmitry Melnik
EXPR_SPEC is an indicator of the speculativeness of an expression (an
instruction or just an rhs), as it is incremented each time the expression is
moved up across a conditional branch. When merging expr attributes for
similar exprs available from two destinations of a branch
From: Sergey Grechanik
This fixes one place where hard_regno_nregs is incorrectly guarded by
reload_completed (as if before reload all regs are pseudos).
2011-08-04 Sergey Grechanik
* sel-sched.c (verify_target_availability): Fix usage of
hard_regno_nregs.
diff --git a/gcc/s
From: Sergey Grechanik
There are several places where bitmap_bit_p function is used to test if some
register is in the regset. We need to take into account the fact that
depending on mode, we need to test multiple hard regs.
2011-08-04 Sergey Grechanik
* sel-sched-ir.h (register_una
From: Dmitry Melnik
This fixes a bug caused by trying to initialize BB_AV_SET of a newly generated
jump. It assumes that jump is only generated in new bb, while it can be
replaced in same BB by try_redirect_by_replacing_jump, if jump was conditional
and was pointing to the same BB by its both ed
From: Sergey Grechanik
This patch fixes a problem when new jumps created in
sel_redirect_edge_and_branch_force could not get correct seqnos.
get_seqno_of_a_pred is renamed to get_seqno_for_a_jump.
Implementation-wise, it supports looking at multiple predecessors, and, if
that fails, also at succ
From: Dmitry Melnik
This patch prevents duplicating (as bookkeeping code) instructions that are
either volatile or recognized by cannot_copy_insn_p target hook (in addition
to already present restrictions). This avoids generating incorrect assembler
with duplicate labels on ARM.
2011-08-04 Dmi
1 - 100 of 152 matches
Mail list logo