This fixes the volatile flag issue recently reported by Jan.
Tested on x86_64-suse-linux, applied on the mainline.
2015-11-30 Eric Botcazou
* gcc-interface/gigi.h (create_var_decl): Adjust prototype.
(create_subprog_decl): Likewise.
* gcc-interface/decl.c
This fixes the simple C interfacing issues recently reported by Jan (the
signedness issue of char will probably be fixed for GCC 6, the duality
pointer/System.Address probably _not_ unfortunately).
Tested on x86_64-suse-linux, applied on the mainline.
2015-11-30 Eric Botcazou
++ compilers, I have already installed it.
Tested on x86_64-suse-linux, applied on the mainline.
2015-11-30 Eric Botcazou
c-family/
* c-ada-spec.c (print_ada_macros): Remove redundant blank line.
(decl_sloc_common): Delete and move bulk of processing to...
(decl_sloc
> FYI, the function should test recog_memoized (dep_insn) also.
I don't think that's needed as it doesn't call get_attr_type on dep_insn.
--
Eric Botcazou
> All languages (c, c++, fortran, go, lto, objc, obj-c++) have been
> bootstrapped; no test suite regressions were introduced,
> relative to the GCC trunk.
That's not all languages though, Ada and Java are missing.
--
Eric Botcazou
-2 (debug info for Scalar_Storage_Order attribute):
https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01659.html
C++ (PR 68290: internal error with concepts):
https://gcc.gnu.org/ml/gcc-patches/2015-11/msg03301.html
Thanks in advance.
--
Eric Botcazou
> I think this also shows that using a POINTER_TYPE for a non-pointer
> is bogus. POINTER_TYPE is not for "semantically a pointer" but
> for pointers. Just use RECORD_TYPE here (and of course lower
> things earlier).
FWIW that's what Ada does for its fat pointers.
--
Eric Botcazou
g00143.html
https://gcc.gnu.org/ml/gcc/2015-06/msg00144.html
https://gcc.gnu.org/ml/gcc/2015-06/msg00147.html
--
Eric Botcazou
> I can understand this restriction, but...
>
> > + /* See the same assertion on PROBE_INTERVAL above. */
> > + gcc_assert ((first % 4096) == 0);
>
> ... why isn't this a test that FIRST is aligned to PROBE_INTERVAL?
Because that isn't guaranteed, FIRST is related to the size of the protectio
is is not allowed for such
a field (it's really a corner case but gcc.c-torture/execute/stdarg-2.c does
exercise it). Hence the attached patch which issues an error in this case.
Tested on x86_64-suse-linux, OK for the mainline?
2015-12-03 Eric Botcazou
* c-tree.h (c_build_va_ar
aybe teaching the
> aarch64 implementation of SELECT_CC_MODE to handle ZERO_EXTRACTS the same
> as AND-immediates? Or is there something that can be done in combine
> itself?
ARM, i386, MIPS, PA, SPARC, etc have ZERO_EXTRACT-based patterns though.
--
Eric Botcazou
c part). Note that I'm not really sure if we want it for 5.x too.
--
Eric Botcazou
> Looks ok to me. OK /Marcus
Thanks. Testing was successful so I have installed it with a small change
(s/ARITH_BASE/ARITH_FACTOR/, it's a bit more mathematically correct).
--
Eric Botcazou
> Minor nit. Since this is used in an unspec_volatile, the name should be
> UNSPECV_ and defined in the unspecv enum.
Ouch. It turns out that the ARM implementation has it too so I have installed
the attached patchlet on top of the others after minimal retesting.
PR middle-end/65958
The fix was posted at https://gcc.gnu.org/ml/gcc-patches/2011-08/msg00139.html
Applied on all active branches.
2015-12-06 Ludovic Brenta
PR ada/49940
* s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function.
--
Eric BotcazouIndex: s-osinte-kfreebsd-gnu.ads
The fix was posted at https://gcc.gnu.org/ml/gcc-patches/2011-08/msg00594.html
Applied on all active branches.
2015-12-06 Ludovic Brenta
PR ada/49944
* s-osinte-freebsd.ads: Minor reformatting.
(Stack_Base_Available): Correct comments.
* s-osinte-kfreebsd-gnu.
This just mimics what's done on FreeBSD.
Applied on all active branches.
2015-12-06 Eric Botcazou
PR ada/56274
* s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype.
(pthread_rwlockattr_t): Likewise.
--
Eric BotcazouIndex: s-osinte-kfreebsd-gn
> Bootstrapped/regtested x86_64-linux and also lto-bootstraped. Looks OK?
>
> * alias.c (alias_set_subset_of, alias_sets_conflict_p,
> objects_must_conflict_p): Short circuit for !flag_strict_aliasing
> (get_alias_set): Remove flag_strict_aliasing check.
> (new_alias_set):
Tested on x86_64-suse-linux, applied on the mainline.
2015-12-06 Eric Botcazou
PR ada/50048
* Makefile.in (ftop_srcdir): New variable.
(INCLUDES_FOR_SUBDIR): Use -iquote and $(ftop_srcdir).
2015-12-06 Eric Botcazou
PR ada/50048
* gcc-interface
x and SPARC64/Solaris, OK for the mainline?
2015-12-07 Eric Botcazou
PR middle-end/68291
PR middle-end/68292
* cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for
SSA names based on RESULT_DECLs.
* function.c (expand_function_start): Do not c
compilation
failure for a bunch of files. More seriously, this can probably be seen as a
real layering violation so I'm not sure this would be a progress.
--
Eric Botcazou
SPARC/Solaris, applied on the mainline.
2015-12-07 Eric Botcazou
PR target/63668
* doc/invoke.texi (SPARC options): Document -mstd-struct-return.
* config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks.
* config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): D
> 2015-12-07 Eric Botcazou
>
> PR target/63668
> * doc/invoke.texi (SPARC options): Document -mstd-struct-return.
Applied on mainline.
* doc/invoke.texi (SPARC options): Fix typo.
--
Eric BotcazouIndex: doc
g (internal
compiler error)
gcc.target/aarch64/aapcs64/func-ret-1.c compilation, -Os (internal
compiler error)
gcc.target/aarch64/pr65491_1.c (internal compiler error)
on aarch64? Yes, I'm going to have a look.
--
Eric Botcazou
> Yes you are right. the PASS->FAIL and "PASS disappears" are consequences
> of the new failures above.
OK. The issue is that we used to create a REG:BLK for RESULT_DECL, but now we
get to hard_function_value as originally, which rightfully adjusts it to SI:
val
= targetm.calls.function_va
This one (access1) is admittedly border line and we can probably kludge around
it in the front-end, but what about access2 and more generally pointer cycles?
--
Eric Botcazou
es
that their "elaboration" can be delayed until a "freeze" point (in particular,
you cannot declare an object of the type until after it), from which all the
incomplete references must be resolved to the final type.
> Not sure how your other examples look like.
Pure pointer cycles of any length.
--
Eric Botcazou
> The new gcc.dg/sso-9.c test is failing for aarch64 and arm targets. There's
> no error generated if I compile the test from the command line for
> aarch64-none-elf. GCC for x86_64 does generate the error.
Fixed like so, applied as obvious, thanks for the heads up.
* gcc.dg/sso-9.c (foo
> I think that is ok if the testing passes.
Thanks. It did on the 3 architectures so I have applied the patch.
--
Eric Botcazou
ut the len<8 cases need to be dealt with as well.
--
Eric Botcazou
c (dfs_find_deadend): Add START_POINTES.
> * cfganal.h (inverted_post_order_compute): Update prototype.
do you plan to apply it in the near future? It's probably too late for GCC 5
at this point, but it would be nice to have it for GCC 6.
--
Eric Botcazou
fork-like function call on Unix
systems.
Tested on x86-64/Linux, applied on the mainline.
2015-12-09 Eric Botcazou
PR ada/66526
* g-expect.adb (Set_Up_Child_Communications): Add matching condition
for uses of Input, Ouput and Error variables after the Execvp cal
&& !BITS_BIG_ENDIAN && XEXP (dst, 2) == const0_rtx
> && !side_effects_p (src);
>
>if (GET_CODE (dst) == STRICT_LOW_PART)
I have a hard time figuring out what a SET verifying the condition would
really mean. Could you post it and explain where it comes from?
--
Eric Botcazou
2.ads: Likewise.
Thanks for quickly fixing the issue!
--
Eric Botcazou
to test the POS (operand #2)
and not also the LEN (operand #1) of the ZERO_EXTRACT before returning true,
but I'm not sure what the test would be given the above example. Or maybe
it's implicitly contained in the POS test because of the little-endian case.
The patch is OK for mainline.
--
Eric Botcazou
Tested on x86-64/Linux, applied on the mainline.
2015-12-10 Eric Botcazou
* gcc-interface/gigi.h (create_var_decl): Adjust comment.
(create_subprog_decl): Likewise.
* gcc-interface/utils.c (create_var_decl): Likewise.
(create_subprog_decl): Likewise.
--
Eric
This is a regression present on the mainline only, for a pathological case
where an empty array is passed as Out parameter to a procedure, but the code
is actually never executed because it's inside an empty loop...
Tested on x86-64/Linux, applied on the mainline.
2015-12-10 Eric Bot
n the mainline.
2015-12-10 Eric Botcazou
PR ada/48013
* gcc-interface/trans.c (empty_stmt_list_p): New predicate.
(gigi): Invoke it to compute the No_Elaboration_Code property.
(insert_code_for): Do not insert the code if it's empty.
2015-12-10 Eri
e with
aggregate type, and you need to use emit_group_store to decipher it properly.
emit_group_store should already be able to handle misaligned stores I think.
--
Eric Botcazou
This is only for internal debugging purposes.
Tested on x86_64-suse-linux, applied on the mainline.
2020-09-10 Eric Botcazou
* gcc-interface/misc.c: Include tree-pass.h.
(internal_error_function): Call emergency_dump_function.
--
Eric Botcazoudiff --git a/gcc/ada/gcc
Eric Botcazou
* gcc-interface/decl.c (build_subst_list): For a definition, make
sure to instantiate the SAVE_EXPRs generated by the elaboration of
the constraints in front of the elaboration of the type itself.
2020-09-10 Eric Botcazou
* gnat.dg/discr59.adb
This is a regression present on the mainline and 10 branch: the compiler
rejects a Value_Size clause on a discriminated record type with variant.
Tested on x86_64-suse-linux, applied on mainline and 10 branch.
2020-09-10 Eric Botcazou
* gcc-interface/decl.c (set_rm_size): Do not
This adds a missing stride entry for bit-packed arrays of record types.
Tested on x86_64-suse-linux, applied on the mainline.
2020-09-11 Eric Botcazou
* gcc-interface/misc.c (get_array_bit_stride): Return TYPE_ADA_SIZE
for record and union types.
--
Eric Botcazoudiff --git
GDB can now deal with the DWARF representation just fine.
Tested on x86_64-suse-linux, applied on the mainline.
2020-09-11 Eric Botcazou
* gcc-interface/misc.c (gnat_get_fixed_point_type): Bail out only
when the GNAT encodings are specifically used.
--
Eric Botcazoudiff
Botcazou
* gcc-interface/utils.c (type_has_variable_size): New function.
(create_field_decl): In the packed case, also force byte alignment
when the type of the field has variable size.
2020-09-11 Eric Botcazou
* gnat.dg/pack27.adb: New test.
* gnat.dg
a non-standard
representation clause.
Tested on x86_64-suse-linux, applied on the mainline, 10 and 9 branches.
2020-09-11 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Only
create extra subtypes for discriminants if the RM size of the base
type of the
_HARD_REG_BIT (needed.regs, targetm.flags_regnum);
> + CLEAR_HARD_REG_BIT (fset.regs, targetm.flags_regnum);
> + }
Don't you need to put the new block before mark_referenced_resources (as I did
in fill_simple_delay_slots) in case the needed insn reads the flags register?
--
Eric Botcazou
-20-25 Eric Botcazou
* dwarf2out.c (dwarf2out_size_function): Run in early-DWARF mode.
2019-20-25 Eric Botcazou
* gnat.dg/lto24.adb: New test.
* gnat.dg/lto24_pkg1.ads: New helper.
* gnat.dg/lto24_pkg2.ad[sb]: Likewise.
--
Eric Botcazoudiff --git a/gcc
would be welcome...
--
Eric Botcazou
testcases.
> This patch adds an extra check in the assertion (decl.c: gnat_to_gnu_entity)
> that the entity has the Aliased property. Also included a comment that
> describes the special case as per the description above.
I don't really understand the new condition, did you forget to test Is_Public?
--
Eric Botcazou
dified already tests for "Is_Public". So
> the issue is precisely that this assertion wrongly fails for cases where the
> entity is not Public.
We cannot let anything go through if there is not Is_Public set somewhere,
possibly on the Alias (gnat_entity) since it is present in your case.
--
Eric Botcazou
about that..
See testsuite/gnat.dg, there are around 3000 regressions tests.
> Shall I add the Is_Public check to the Alias and resubmit the patch?
Yes, please, but it can only be approved with an associated testcase.
--
Eric Botcazou
or some time without any issue so far.
2020-03-11 Eric Botcazou
PR middle-end/93961
* tree.c (variably_modified_type_p) : Recurse into fields
whose type is a qualified union.
--
Eric Botcazoudiff --git a/gcc/tree.c b/gcc/tree.c
index 66d52c71c99..905563fa4be 100644
gnat.dg/subpools1.adb: New test.
[The next time please send the patch and the testcase as attachments instead,
they apparently have been mangled by your mailer.]
--
Eric Botcazou
f T is either variable (if FN is zero) or an expression containing
a variable in FN. If TYPE isn't gimplified, return true also if
gimplify_one_sizepos would gimplify the expression into a local
variable. */
--
Eric Botcazou
ific path that was added under PR middle-end/50325.
Bootstrapped/regtested on x86-64/Linux and SPARC/Solaris, OK for mainline?
2019-03-13 Eric Botcazou
PR middle-end/92071
* expmed.c (store_integral_bit_field): For fields larger than a word,
call extract_bit_field on
ause it's MIPS specific and I don't understand
hows gcc.target/mips works, see mips.exp for the gory details).
2019-03-13 Eric Botcazou
PR rtl-optimization/94119
* resource.h (clear_hashed_info_until_next_barrier): Declare.
We have apparently a cycle in LRA on the SPARC, see PR rtl-opt/92303.
--
Eric Botcazou
e that this is simply not supported and
warn (there is a -Wscalar-storage-order warning for problematic constructs).
I didn't find any existing infrastructure for the former and I'm not sure it's
worth adding, so the attached implements the latter. Tested on x86-64/Linux.
2020
ed to effectively assign a storage order to scalar rvalues internally.
--
Eric Botcazou
TFILE_SPEC for STARTFILE_SPEC from config/gnu-user.h.
--
Eric Botcazou
R target/96190
* config/sparc/linux.h (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
to get crtendS.o for !no-pie mode.
* config/sparc/linux64.h(ENDFILE_SPEC): Ditto.
OK for mainline with this change. You can also put it on the 10 branch after
the 10.1 release is out if this is deemed necessary.
--
Eric Botcazou
we can certainly do
1 more probe for stack checking even if it is redundant in almost all cases.
Tested on x86-64/Linux, OK for the mainline?
2020-07-15 Eric Botcazou
* config/i386/i386.c (ix86_compute_frame_layout): Minor tweak.
(ix86_adjust_stack_and_probe): Delete
> OK for mainline with this change. You can also put it on the 10 branch
> after the 10.1 release is out if this is deemed necessary.
10.2
--
Eric Botcazou
..@libertysurf.fr) as sponsor if need be.
--
Eric Botcazou
> As you see, I really do not like to have another RTX class, without very
> well defined semantics even. Not without first being shown no
> alternatives are acceptable, anyway :-)
Seconded.
--
Eric Botcazou
7;t mean touching the other back-ends: you put a default in target.def
which lives in targhooks.c and just calls targetm.legitimate_constant_p,
so you only need to patch target.def, targhooks.c and targhooks.h.
--
Eric Botcazou
by_limits_p): Do not inline
> !optimize_debug to optimize_debug.
The change 1) breaks bootstrap and 2) fails to update the ChangeLog files.
--
Eric Botcazou
> sorry for that. Git is still not my friend. I managed to stash and
> unstash multiple changes and mix them up.
Git was clearly designed *not* to have friends if you ask me, so I cannot
really blame you here.
> I comitted the following fix.
Thanks!
--
Eric Botcazou
> 2020-04-03 Ian Lance Taylor
>
> * generic-morestack.c: On GNU/Linux use __mmap/__munmap rather
> than mmap/munmap, to avoid hooks.
This breaks the build of gotools for me with undefined references to __mmap
and __munmap from libgcc/generic-morestack.c (it is with glibc 2.22
0039e500 168 OBJECT LOCAL DEFAULT 28
_IO_file_jumps_maybe_mmap
3483: 0039e140 168 OBJECT LOCAL DEFAULT 28
_IO_wfile_jumps_mmap
5919: 000e8ac036 FUNCWEAK DEFAULT 13 mmap64
6128: 000e8ac036 FUNCWEAK DEFAULT 13 mmap
--
Eric Botcazou
> I committed this patch.
Works for me, thanks for the quick fix!
--
Eric Botcazou
calar types, including for checks, for about a decade and I actually said to
Jeff that the optimizers ought to do the same.
--
Eric Botcazou
> Ada no longer uses VIEW_CONVERT_EXPR between scalar types
... between integral types (it does use it if you explicit request an
unchecked version between integer and floating-point types for example).
--
Eric Botcazou
7caacc0c53ae
Yes, you cannot really "toggle" a register window on SPARC.
> i can imagine adding a new bool flag in dw_cfi_row
> for aarch64 or making the logic target specific
> (depending on if the target uses REG_CFA_WINDOW_SAVE
> or REG_CFA_TOGGLE_RA_MANGLE for cfi_window_save)
Yes, please do not hijack again the SPARC logic here.
--
Eric Botcazou
g all the custom liveness analysis
passes only because of its performance; the rest is quite neat. But IIRC
long-time GCC hackers were involved in it, so it was probably tuned already.
--
Eric Botcazou
on.
Fixed by refusing to merge them. Tested on x86-64/Linux, pre-approved by
Jakub and applied on the mainline.
2019-04-23 Eric Botcazou
PR tree-optimization/94717
* gimple-ssa-store-merging.c (try_coalesce_bswap): Return false if one
of the stores doesn't have t
/Linux, OK for the mainline?
2020-05-05 Eric Botcazou
* gimplify.c (gimplify_init_constructor): Do not put the constructor
into static memory if it is not complete.
2020-05-05 Eric Botcazou
* gnat.dg/aggr29.adb: New test.
--
Eric Botcazoudiff --git a/gcc
switching to nolto-rel mode.
We do not do repeated incremental linking for VxWorks so silence the warning.
Tested on PowerPC/VxWorks 7.2, OK for the mainline?
2020-05-05 Eric Botcazou
* lto-plugin.c (linker_output_set): Change type to bool.
(linker_output_known): Likewise
Hi,
The -fgnat-encodings=minimal switch tells the compiler to generate motly pure
DWARF for the GNAT compiler and it contains some bugs related to discriminated
record types with variant part.
Tested on x86-64/Linux, OK for the mainline?
2020-05-05 Eric Botcazou
Pierre-Marie
> I know it's hidden but can we make the plugin option more specific,
> like -linker-output-auto-notlo-rel? There's also no documentation for
> the lto-plugin switches, I think a good place is a comment before
>
> + else if (strcmp (option, "-linker-output-no-warning") == 0)
> +linker_output
utside the
UCS codespace. That's why I suggest issuing a pedantic warning.
Tested on x86_64-suse-linux, OK for the mainline?
2019-09-24 Eric Botcazou
libcpp/
* charset.c (UCS_LIMIT): New macro.
(ucn_valid_in_identifier): Use it instead of a hardcoded constant.
(_cpp
finitely do not have the codespace restriction you mention.
Note the already existing hardcoded check in ucn_valid_in_identifier though.
--
Eric Botcazou
= VECTOR_TYPE be sufficient? At least
this would still be in keeping with the comment...
--
Eric Botcazou
des
came to light so I think that preserving their original mode was useless.
--
Eric Botcazou
(TREE_TYPE (exp));
>
> matches in sofar that we only restrict integer types (not modes) and
> for integer types allow extracts from vectors (the preexisting
> check for a matching component type is a bit too strict I guess).
IMO if the !VECTOR_TYPE case cannot be covered, changes in this delicate area
ought to be restricted to VECTOR_TYPE.
--
Eric Botcazou
that for C++, this is only correct as an error / pedwarn in the
> C++2a case.
OK, thanks for the exegesis. ;-) Revision version attached.
2019-09-26 Eric Botcazou
libcpp/
* charset.c (UCS_LIMIT): New macro.
(ucn_valid_in_identifier): Use it instead of a hardcoded constant.
> 2019-09-26 Richard Biener
>
> PR middle-end/91897
> * expr.c (get_inner_reference): For BIT_FIELD_REF with
> vector type retain the original mode.
>
> * gcc.target/i386/pr91897.c: New testcase.
This looks good to me, thanks.
--
Eric Botcazou
unsplitting though so this would trade an explicit call
for a less implicit one. But what I could do is to rename unsplit_all_eh into
unsplit_all_eh_1 and hide the technicalities in a new unsplit_all_eh.
--
Eric Botcazou
> that works for me - the patch is OK with that change.
Thanks. In the end, I went for your solution and the helper is called
unsplit_eh_edges, which is even more explicit than unsplit_all_eh.
* tree-eh.h (unsplit_eh_edges): Declare.
* tree-eh.c (maybe_remove_unreachable_handle
l warnings?!
No, please, the cure would be much worse than the disease.
--
Eric Botcazou
nline.
2019-10-11 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) :
New case to deal with the definition of named numbers.
: Minor tweaks. Set DECL_IGNORED_P on the CONST_DECL
if a corresponding variable is built.
* gcc-interface/trans.c (gnat_t
This fixes an ICE on the instantiation of a generic package taking an
unconstrained array type declared with a predicate as generic actual
parameter.
Tested on x86_64-suse-linux, applied on the mainline.
2019-10-11 Eric Botcazou
* gcc-interface/decl.c (Gigi_Equivalent_Type) : New
This fixes a thinko in an earlier match of mine for the annotation of integer
constants in expressions: we really need to test the sign of the value when
deciding to build a NEGATE_EXPR.
Tested on x86_64-suse-linux, applied on all active branches.
2019-10-11 Eric Botcazou
* gcc
-11 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_field): Adjust again the packing
for a field without strict alignment and with an oversized clause.
2019-10-11 Eric Botcazou
* gnat.dg/specs/size_clause4.ads: New test.
--
Eric BotcazouIndex: gcc-interface
Tested on x86_64-suse-linux, applied on the mainline.
2019-10-11 Eric Botcazou
* gcc-interface/decl.c (elaborate_reference_1): Specifically deal with
pointer displacement.
* gcc-interface/decl.c (components_to_record): Use proper name.
* gcc-interface
-linux, applied on all active branches.
2019-10-12 Eric Botcazou
PR ada/91995
* sem_ch8.adb (Chain_Use_Clause): Remove second argument in calls
to Defining_Entity.
* sem_elab.adb (Find_Unit_Entity): Likewise. Deal with N_Subunit
here in lieu of in
> r276985 broke avr because it removed PARAM_ALLOW_STORE_DATA_RACES from
> --params. The patch fixes that by using flag_store_data_races = 1 instead.
Note that you'll unconditionally override the user, unlike the original code.
--
Eric Botcazou
> Oops, here are the updates from Fedora packages built during the weekend.
The SPARC64/Linux bits are attached. OK for trunk and gcc-10?
2020-05-06 Eric Botcazou
* config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/sparc64-linux-gnu
/94516
> * combine-stack-adj.c (try_apply_stack_adjustment): Call
> df_notes_rescan after calling remove_reg_equal_equiv_notes.
Do you need to backport this onto some branches? Otherwise, it would probably
be better to do in remove_reg_equal_equiv_notes what is done in remove_note.
--
Eric Botcazou
801 - 900 of 4591 matches
Mail list logo