[PATCH] D88410: [clang][AVR] Improve avr-ld command line options
This revision was automatically updated to reflect the committed changes. Closed by commit rGbba96c996555: [clang][AVR] Improve avr-ld command line options (authored by benshi001). Changed prior to commit: https://reviews.llvm.org/D88410?vs=294872&id=305792#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88410/new/ https://reviews.llvm.org/D88410 Files: clang/lib/Driver/ToolChains/AVR.cpp clang/test/Driver/avr-link-mcu-family-unimplemented.c clang/test/Driver/avr-mmcu.c Index: clang/test/Driver/avr-mmcu.c === --- clang/test/Driver/avr-mmcu.c +++ clang/test/Driver/avr-mmcu.c @@ -1,5 +1,81 @@ // A test for the propagation of the -mmcu option to -cc1 and -cc1as -// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega328p -save-temps %s 2>&1 | FileCheck %s -// CHECK: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega328p" -// CHECK: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega328p" +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny11 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK0 %s +// CHECK0: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny11" +// CHECK0: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny11" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=at90s2313 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK1 %s +// CHECK1: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "at90s2313" +// CHECK1: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "at90s2313" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=at90s8515 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK2 %s +// CHECK2: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "at90s8515" +// CHECK2: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "at90s8515" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny13a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK3 %s +// CHECK3: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny13a" +// CHECK3: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny13a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny88 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK4 %s +// CHECK4: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny88" +// CHECK4: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny88" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny88 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK5 %s +// CHECK5: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny88" +// CHECK5: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny88" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8u2 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK6 %s +// CHECK6: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8u2" +// CHECK6: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8u2" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8u2 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK7 %s +// CHECK7: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8u2" +// CHECK7: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8u2" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK8 %s +// CHECK8: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8a" +// CHECK8: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK9 %s +// CHECK9: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8a" +// CHECK9: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega16a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKa %s +// CHECKa: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega16a" +// CHECKa: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega16a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega16a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKb %s +// CHECKb: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega16a" +// CHECKb: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega16a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega128a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKc %s +// CHECKc: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega128a" +// CHECKc: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega128a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega2560 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKd %s +// CHECKd: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega2560" +// CHECKd: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega2560" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny10 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKe %s +// CHECKe: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny10" +// CHECKe: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny10" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atxmega16a4 -s
[PATCH] D88410: [clang][AVR] Improve avr-ld command line options
dylanmckay accepted this revision. dylanmckay added a comment. This revision is now accepted and ready to land. Looks good to me, thanks for the patch @benshi001 NOTE: It looks like you will need to rebase this one prior to merge. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88410/new/ https://reviews.llvm.org/D88410 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88410: [clang][AVR] Improve avr-ld command line options
aykevl added a comment. I haven't verified this all but this looks reasonable to me, at least until a better way is figured out to store MCU specific information in the compiler. The tests may be a little bit excessive though, they all seem to be testing the same thing. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88410/new/ https://reviews.llvm.org/D88410 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88410: [clang][AVR] Improve avr-ld command line options
benshi001 added a comment. ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88410/new/ https://reviews.llvm.org/D88410 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88410: [clang][AVR] Improve avr-ld command line options
benshi001 updated this revision to Diff 294872. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88410/new/ https://reviews.llvm.org/D88410 Files: clang/lib/Driver/ToolChains/AVR.cpp clang/test/Driver/avr-link-mcu-family-unimplemented.c clang/test/Driver/avr-mmcu.c Index: clang/test/Driver/avr-mmcu.c === --- clang/test/Driver/avr-mmcu.c +++ clang/test/Driver/avr-mmcu.c @@ -1,5 +1,81 @@ // A test for the propagation of the -mmcu option to -cc1 and -cc1as -// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega328p -save-temps %s 2>&1 | FileCheck %s -// CHECK: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega328p" -// CHECK: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega328p" +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny11 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK0 %s +// CHECK0: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny11" +// CHECK0: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny11" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=at90s2313 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK1 %s +// CHECK1: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "at90s2313" +// CHECK1: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "at90s2313" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=at90s8515 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK2 %s +// CHECK2: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "at90s8515" +// CHECK2: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "at90s8515" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny13a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK3 %s +// CHECK3: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny13a" +// CHECK3: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny13a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny88 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK4 %s +// CHECK4: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny88" +// CHECK4: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny88" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny88 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK5 %s +// CHECK5: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny88" +// CHECK5: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny88" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8u2 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK6 %s +// CHECK6: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8u2" +// CHECK6: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8u2" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8u2 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK7 %s +// CHECK7: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8u2" +// CHECK7: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8u2" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK8 %s +// CHECK8: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8a" +// CHECK8: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK9 %s +// CHECK9: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8a" +// CHECK9: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega16a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKa %s +// CHECKa: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega16a" +// CHECKa: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega16a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega16a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKb %s +// CHECKb: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega16a" +// CHECKb: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega16a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega128a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKc %s +// CHECKc: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega128a" +// CHECKc: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega128a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega2560 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKd %s +// CHECKd: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega2560" +// CHECKd: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega2560" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny10 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKe %s +// CHECKe: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny10" +// CHECKe: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny10" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atxmega16a4 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKf %s +// CHECKf: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atxmega16a4" +// CHECKf: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atxmega16a4" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atxme
[PATCH] D88410: [clang][AVR] Improve avr-ld command line options
benshi001 updated this revision to Diff 294854. benshi001 edited the summary of this revision. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88410/new/ https://reviews.llvm.org/D88410 Files: clang/lib/Driver/ToolChains/AVR.cpp clang/test/Driver/avr-link-mcu-family-unimplemented.c clang/test/Driver/avr-mmcu.c Index: clang/test/Driver/avr-mmcu.c === --- clang/test/Driver/avr-mmcu.c +++ clang/test/Driver/avr-mmcu.c @@ -1,5 +1,81 @@ // A test for the propagation of the -mmcu option to -cc1 and -cc1as -// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega328p -save-temps %s 2>&1 | FileCheck %s -// CHECK: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega328p" -// CHECK: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega328p" +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny11 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK0 %s +// CHECK0: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny11" +// CHECK0: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny11" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=at90s2313 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK1 %s +// CHECK1: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "at90s2313" +// CHECK1: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "at90s2313" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=at90s8515 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK2 %s +// CHECK2: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "at90s8515" +// CHECK2: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "at90s8515" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny13a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK3 %s +// CHECK3: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny13a" +// CHECK3: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny13a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny88 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK4 %s +// CHECK4: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny88" +// CHECK4: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny88" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny88 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK5 %s +// CHECK5: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny88" +// CHECK5: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny88" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8u2 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK6 %s +// CHECK6: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8u2" +// CHECK6: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8u2" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8u2 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK7 %s +// CHECK7: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8u2" +// CHECK7: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8u2" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK8 %s +// CHECK8: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8a" +// CHECK8: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK9 %s +// CHECK9: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8a" +// CHECK9: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega16a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKa %s +// CHECKa: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega16a" +// CHECKa: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega16a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega16a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKb %s +// CHECKb: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega16a" +// CHECKb: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega16a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega128a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKc %s +// CHECKc: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega128a" +// CHECKc: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega128a" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega2560 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKd %s +// CHECKd: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega2560" +// CHECKd: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega2560" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny10 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKe %s +// CHECKe: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny10" +// CHECKe: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny10" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atxmega16a4 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKf %s +// CHECKf: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atxmega16a4" +// CHECKf: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atxmega16a4" + +// RUN: %clang -###
[PATCH] D88410: [clang][AVR] Improve avr-ld command line options
benshi001 added a comment. For some devices, the library sub path "-L" and family name "-m" are not always equal. -L/usr/lib/avr/lib/XXX" "-L/usr/lib/gcc/avr/5.4.0/XXX" "-mYYY" XXX and YYY do not always equal to each other. But current clang/lib/Driver/ToolChains/AVR.cpp assumes they equal. For example, "./bin/clang -O2 -Wall b.c --target=avr -mmcu=atmega2313" needs the following avr-ld options "/usr/bin/avr-ld" *** "-L/usr/lib/avr/lib/avr25/tiny-stack" "-L/usr/lib/gcc/avr/5.4.0/avr25/tiny-stack" "-mavr25" Here XXX=avr25/tiny-stack but YYY = avr25 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88410/new/ https://reviews.llvm.org/D88410 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D88410: [clang][AVR] Improve avr-ld command line options
benshi001 created this revision. benshi001 added reviewers: dylanmckay, aykevl. Herald added subscribers: cfe-commits, Jim. Herald added a project: clang. benshi001 requested review of this revision. Improve avr-ld options for total 249 devices: 1. the argument of "-L" (device library sub path) 2. the argument of "-m" (device family) 3. the argument of "-l" (device library file) Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D88410 Files: clang/lib/Driver/ToolChains/AVR.cpp clang/test/Driver/avr-link-mcu-family-unimplemented.c clang/test/Driver/avr-mmcu.c Index: clang/test/Driver/avr-mmcu.c === --- clang/test/Driver/avr-mmcu.c +++ clang/test/Driver/avr-mmcu.c @@ -1,5 +1,101 @@ // A test for the propagation of the -mmcu option to -cc1 and -cc1as -// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega328p -save-temps %s 2>&1 | FileCheck %s -// CHECK: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega328p" -// CHECK: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega328p" +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny11 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK0 %s +// CHECK0: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny11" +// CHECK0: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny11" +// CHECK0: {{.*}} "-lattiny11" "-mavr1" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=at90s2313 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK1 %s +// CHECK1: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "at90s2313" +// CHECK1: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "at90s2313" +// CHECK1: {{.*}} "-lat90s2313" "-mavr2" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=at90s8515 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK2 %s +// CHECK2: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "at90s8515" +// CHECK2: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "at90s8515" +// CHECK2: {{.*}} "-lat90s8515" "-mavr2" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny13a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK3 %s +// CHECK3: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny13a" +// CHECK3: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny13a" +// CHECK3: {{.*}} "-lattiny13a" "-mavr25" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny88 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK4 %s +// CHECK4: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny88" +// CHECK4: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny88" +// CHECK4: {{.*}} "-lattiny88" "-mavr25" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=attiny88 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK5 %s +// CHECK5: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "attiny88" +// CHECK5: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "attiny88" +// CHECK5: {{.*}} "-lattiny88" "-mavr25" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8u2 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK6 %s +// CHECK6: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8u2" +// CHECK6: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8u2" +// CHECK6: {{.*}} "-latmega8u2" "-mavr35" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8u2 -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK7 %s +// CHECK7: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8u2" +// CHECK7: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8u2" +// CHECK7: {{.*}} "-latmega8u2" "-mavr35" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK8 %s +// CHECK8: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8a" +// CHECK8: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8a" +// CHECK8: {{.*}} "-latmega8a" "-mavr4" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega8a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECK9 %s +// CHECK9: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega8a" +// CHECK9: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega8a" +// CHECK9: {{.*}} "-latmega8a" "-mavr4" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega16a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKa %s +// CHECKa: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega16a" +// CHECKa: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega16a" +// CHECKa: {{.*}} "-latmega16a" "-mavr5" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega16a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKb %s +// CHECKb: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega16a" +// CHECKb: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega16a" +// CHECKb: {{.*}} "-latmega16a" "-mavr5" + +// RUN: %clang -### -target avr -no-canonical-prefixes -mmcu=atmega128a -save-temps %s 2>&1 | FileCheck -check-prefix=CHECKc %s +// CHECKc: clang{{.*}} "-cc1" {{.*}} "-target-cpu" "atmega128a" +// CHECKc: clang{{.*}} "-cc1as" {{.*}} "-target-cpu" "atmega128a" +// CHECKc: {{.*}} "-latmega128a" "-mavr