* lto/gcc-dg.exp (check_effective_target_lto): Likewise.
* lto/c-torture.exp: Likewise.
* execute/bultins/strstr-asm.c: Force fat LTO.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-3.c: Likewise.
* gcc.dg/noncompile/invalid_asm.c: Likewise.
* gcc.dg/noncompile/920507-1.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* g++.dg/torture/pr34850.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180245
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-10-19 Jan Hubicka <jh@suse.cz>
+
+ * lib/lto.exp (lto_init): Test slib lto and no-liker-plugin path.
+ * lto/gcc-dg.exp (check_effective_target_lto): Likewise.
+ * lto/c-torture.exp: Likewise.
+ * execute/bultins/strstr-asm.c: Force fat LTO.
+ * gcc.c-torture/compile/sync-1.c: Likewise.
+ * gcc.c-torture/compile/sync-1.c: Likewise.
+ * gcc.c-torture/compile/sync-3.c: Likewise.
+ * gcc.dg/noncompile/invalid_asm.c: Likewise.
+ * gcc.dg/noncompile/920507-1.c: Likewise.
+ * gcc.dg/torture/pr36400.c: Likewise.
+ * g++.dg/torture/pr34850.C: Likewise.
+
2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/source_ref1.adb: New test.
/* { dg-do compile } */
/* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
+/* { dg-options "-ffat-lto-objects" } */
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
/* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */
/* { dg-message "note: '__sync_nand_and_fetch' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */
+/* { dg-options "-ffat-lto-objects" } */
/* Validate that each of the __sync builtins compiles. This won't
necessarily link, since the target might not support the builtin,
/* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */
+/* { dg-options "-ffat-lto-objects" } */
/* Validate that each of the __sync builtins compiles. This won't
necessarily link, since the target might not support the builtin,
/* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */
+/* { dg-options "-ffat-lto-objects" } */
/* Validate that each of the __sync builtins compiles. This won't
necessarily link, since the target might not support the builtin,
Ensure all expected transformations of builtin strstr occur and
perform correctly in presence of redirect. */
+/* { dg-options "-ffat-lto-objects" } */
#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname)
#define ASMNAME2(prefix, cname) STRING (prefix) cname
+/* { dg-options "-ffat-lto-objects" } */
int *
x(void)
{
+/* { dg-options "-ffat-lto-objects" } */
asm_invalid_register_name()
{
asm("":::"this_is_an_invalid_register_name"); /* { dg-error "unknown register" } */
/* { dg-do compile } */
+/* { dg-options "-ffat-lto-objects" } */
struct barstruct { char const* some_string; };
set LTO_TORTURE_OPTIONS ""
if [check_effective_target_lto] {
- set LTO_TORTURE_OPTIONS [list \
- { -O2 -flto -flto-partition=none } \
- { -O2 -flto }
- ]
+ # When having plugin test both slim and fat LTO and plugin/nonplugin
+ # path.
+ if [check_linker_plugin_available] {
+ set LTO_TORTURE_OPTIONS [list \
+ { -O2 -flto -fno-use-linker-plugin -flto-partition=none } \
+ { -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects }
+ ]
+ } else {
+ set LTO_TORTURE_OPTIONS [list \
+ { -O2 -flto -flto-partition=none } \
+ { -O2 -flto }
+ ]
+ }
}
global GCC_UNDER_TEST
set LTO_TORTURE_OPTIONS ""
if [check_effective_target_lto] {
- set LTO_TORTURE_OPTIONS [list \
- { -O2 -flto -flto-partition=none } \
- { -O2 -flto }
- ]
+ # When having plugin test both slim and fat LTO and plugin/nonplugin
+ # path.
+ if [check_linker_plugin_available] {
+ set LTO_TORTURE_OPTIONS [list \
+ { -O2 -flto -fno-use-linker-plugin -flto-partition=none } \
+ { -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects }
+ ]
+ } else {
+ set LTO_TORTURE_OPTIONS [list \
+ { -O2 -flto -flto-partition=none } \
+ { -O2 -flto }
+ ]
+ }
}
# You can put this in the environment before site.exp is written or
# add it to site.exp directly.
if ![info exists LTO_OPTIONS] {
- set LTO_OPTIONS [list \
- {-O0 -flto -flto-partition=none } \
- {-O2 -flto -flto-partition=none } \
- {-O0 -flto -flto-partition=1to1 } \
- {-O2 -flto -flto-partition=1to1 } \
- {-O0 -flto} \
- {-O2 -flto} \
- ]
+ if [check_linker_plugin_available] {
+ set LTO_OPTIONS [list \
+ {-O0 -flto -flto-partition=none -fuse-linker-plugin} \
+ {-O2 -flto -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects } \
+ {-O0 -flto -flto-partition=1to1 -fno-use-linker-plugin } \
+ {-O2 -flto -flto-partition=1to1 -fno-use-linker-plugin } \
+ {-O0 -flto -fuse-linker-plugin -fno-fat-lto-objects } \
+ {-O2 -flto -fuse-linker-plugin} \
+ ]
+ } else {
+ set LTO_OPTIONS [list \
+ {-O0 -flto -flto-partition=none } \
+ {-O2 -flto -flto-partition=none } \
+ {-O0 -flto -flto-partition=1to1 } \
+ {-O2 -flto -flto-partition=1to1 } \
+ {-O0 -flto } \
+ {-O2 -flto} \
+ ]
+ }
}
}