"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "test/CodeGen/alias.c" between
cfe-8.0.1.src.tar.xz and cfe-9.0.0.src.tar.xz

About: Clang is an LLVM front end for the C, C++, and Objective-C languages. Clang aims to provide a better user experience through expressive diagnostics, a high level of conformance to language standards, fast compilation, and low memory use.

alias.c  (cfe-8.0.1.src.tar.xz):alias.c  (cfe-9.0.0.src.tar.xz)
// REQUIRES: arm-registered-target // REQUIRES: arm-registered-target
// RUN: %clang_cc1 -triple i386-pc-linux-gnu -emit-llvm -o - %s | FileCheck -che ck-prefix=CHECKBASIC %s // RUN: %clang_cc1 -triple i386-pc-linux-gnu -emit-llvm -o - %s | FileCheck -che ck-prefix=CHECKBASIC %s
// RUN: %clang_cc1 -triple armv7a-eabi -mfloat-abi hard -emit-llvm -o - %s | Fil eCheck -check-prefix=CHECKCC %s // RUN: %clang_cc1 -triple armv7a-eabi -mfloat-abi hard -emit-llvm -o - %s | Fil eCheck -check-prefix=CHECKCC %s
// RUN: %clang_cc1 -triple armv7a-eabi -mfloat-abi hard -S -o - %s | FileCheck - check-prefix=CHECKASM %s // RUN: %clang_cc1 -triple armv7a-eabi -mfloat-abi hard -S -o - %s | FileCheck - check-prefix=CHECKASM %s
// RUN: %clang_cc1 -triple aarch64-linux-gnu -emit-llvm -o - %s | FileCheck -che ck-prefix=CHECKGLOBALS %s
int g0; int g0;
// CHECKBASIC-DAG: @g0 = common global i32 0 // CHECKBASIC-DAG: @g0 = common global i32 0
// CHECKASM-DAG: .comm g0,4,4 // CHECKASM-DAG: .comm g0,4,4
__thread int TL_WITH_ALIAS; __thread int TL_WITH_ALIAS;
// CHECKBASIC-DAG: @TL_WITH_ALIAS = thread_local global i32 0, align 4 // CHECKBASIC-DAG: @TL_WITH_ALIAS = thread_local global i32 0, align 4
// CHECKASM-DAG: .globl TL_WITH_ALIAS // CHECKASM-DAG: .globl TL_WITH_ALIAS
// CHECKASM-DAG: .size TL_WITH_ALIAS, 4 // CHECKASM-DAG: .size TL_WITH_ALIAS, 4
static int bar1 = 42; static int bar1 = 42;
// CHECKBASIC-DAG: @bar1 = internal global i32 42 // CHECKBASIC-DAG: @bar1 = internal global i32 42
skipping to change at line 91 skipping to change at line 92
// CHECKCC: attributes [[NUW]] = { noinline nounwind{{.*}} } // CHECKCC: attributes [[NUW]] = { noinline nounwind{{.*}} }
void test8_bar() {} void test8_bar() {}
void test8_foo() __attribute__((weak, alias("test8_bar"))); void test8_foo() __attribute__((weak, alias("test8_bar")));
void test8_zed() __attribute__((alias("test8_foo"))); void test8_zed() __attribute__((alias("test8_foo")));
void test9_bar(void) { } void test9_bar(void) { }
void test9_zed(void) __attribute__((section("test"))); void test9_zed(void) __attribute__((section("test")));
void test9_zed(void) __attribute__((alias("test9_bar"))); void test9_zed(void) __attribute__((alias("test9_bar")));
// Test that the alias gets its linkage from its declared qual type.
// CHECKGLOBALS: @test10_foo = internal
// CHECKGLOBALS-NOT: @test10_foo = dso_local
int test10;
static int test10_foo __attribute__((alias("test10")));
// CHECKGLOBALS: @test11_foo = internal
// CHECKGLOBALS-NOT: @test11_foo = dso_local
void test11(void) {}
static void test11_foo(void) __attribute__((alias("test11")));
// Test that gnu_inline+alias work.
// CHECKGLOBALS: @test12_alias = alias void (), void ()* @test12
void test12(void) {}
inline void test12_alias(void) __attribute__((gnu_inline, alias("test12")));
 End of changes. 2 change blocks. 
0 lines changed or deleted 1 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)