[llvm-commits] CVS: llvm/test/CFrontend/2007-04-11-InlineStorageClassC89.c 2007-04-11-InlineStorageClassC99.c
Dale Johannesen
dalej at apple.com
Thu Apr 12 14:02:13 PDT 2007
Changes in directory llvm/test/CFrontend:
2007-04-11-InlineStorageClassC89.c added (r1.1)
2007-04-11-InlineStorageClassC99.c added (r1.1)
---
Log message:
testcases for function linkage
---
Diffs of the changes: (+74 -0)
2007-04-11-InlineStorageClassC89.c | 37 +++++++++++++++++++++++++++++++++++++
2007-04-11-InlineStorageClassC99.c | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 74 insertions(+)
Index: llvm/test/CFrontend/2007-04-11-InlineStorageClassC89.c
diff -c /dev/null llvm/test/CFrontend/2007-04-11-InlineStorageClassC89.c:1.1
*** /dev/null Thu Apr 12 16:02:03 2007
--- llvm/test/CFrontend/2007-04-11-InlineStorageClassC89.c Thu Apr 12 16:01:53 2007
***************
*** 0 ****
--- 1,37 ----
+ // RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | grep xglobWeak | grep weak | wc -l | grep 1
+ // RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | grep xextWeak | grep weak | wc -l | grep 1
+ // RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | grep xWeaknoinline | grep weak wc -l | grep 1
+ // RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | grep xWeakextnoinline | grep weak wc -l | grep 1
+ // RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | grep xglobnoWeak | grep -v internal | grep -v weak | grep -v linkonce | wc -l | grep 1
+ // RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep define | grep xstatnoWeak | grep internal | wc -l | grep 1
+ // RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep declare | grep xextnoWeak | grep -v internal | grep -v weak | grep -v linkonce | wc -l | grep 1
+ inline int xglobWeak(int) __attribute__((weak));
+ inline int xglobWeak (int i) {
+ return i*2;
+ }
+ inline int xextWeak(int) __attribute__((weak));
+ extern inline int xextWeak (int i) {
+ return i*4;
+ }
+ int xWeaknoinline(int) __attribute__((weak));
+ int xWeaknoinline(int i) {
+ return i*8;
+ }
+ int xWeakextnoinline(int) __attribute__((weak));
+ extern int xWeakextnoinline(int i) {
+ return i*16;
+ }
+ inline int xglobnoWeak (int i) {
+ return i*32;
+ }
+ static inline int xstatnoWeak (int i) {
+ return i*64;
+ }
+ extern inline int xextnoWeak (int i) {
+ return i*128;
+ }
+ int j(int y) {
+ return xglobnoWeak(y)+xstatnoWeak(y)+xextnoWeak(y)+
+ xglobWeak(y)+xextWeak(y)+
+ xWeakextnoinline(y)+xWeaknoinline(y);
+ }
Index: llvm/test/CFrontend/2007-04-11-InlineStorageClassC99.c
diff -c /dev/null llvm/test/CFrontend/2007-04-11-InlineStorageClassC99.c:1.1
*** /dev/null Thu Apr 12 16:02:13 2007
--- llvm/test/CFrontend/2007-04-11-InlineStorageClassC99.c Thu Apr 12 16:01:53 2007
***************
*** 0 ****
--- 1,37 ----
+ // RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep declare | grep xglobWeak | grep extern_weak | wc -l | grep 1
+ // RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | grep xextWeak | grep weak | wc -l | grep 1
+ // RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | grep xWeaknoinline | grep weak wc -l | grep 1
+ // RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | grep xWeakextnoinline | grep weak wc -l | grep 1
+ // RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep declare | grep xglobnoWeak | grep -v internal | grep -v weak | grep -v linkonce | wc -l | grep 1
+ // RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | grep xstatnoWeak | grep internal | wc -l | grep 1
+ // RUN: %llvmgcc -std=c99 %s -S -emit-llvm -O0 -o - | grep define | grep xextnoWeak | grep -v internal | grep -v weak | grep -v linkonce | wc -l | grep 1
+ inline int xglobWeak(int) __attribute__((weak));
+ inline int xglobWeak (int i) {
+ return i*2;
+ }
+ inline int xextWeak(int) __attribute__((weak));
+ extern inline int xextWeak (int i) {
+ return i*4;
+ }
+ int xWeaknoinline(int) __attribute__((weak));
+ int xWeaknoinline(int i) {
+ return i*8;
+ }
+ int xWeakextnoinline(int) __attribute__((weak));
+ extern int xWeakextnoinline(int i) {
+ return i*16;
+ }
+ inline int xglobnoWeak (int i) {
+ return i*32;
+ }
+ static inline int xstatnoWeak (int i) {
+ return i*64;
+ }
+ extern inline int xextnoWeak (int i) {
+ return i*128;
+ }
+ int j(int y) {
+ return xglobnoWeak(y)+xstatnoWeak(y)+xextnoWeak(y)+
+ xglobWeak(y)+xextWeak(y)+
+ xWeakextnoinline(y)+xWeaknoinline(y);
+ }
More information about the llvm-commits
mailing list