Chad Rosier | 2875bda | 2011-11-04 19:28:44 +0000 | [diff] [blame] | 1 | // Check to make sure clang is somewhat picky about -g options. |
| 2 | // rdar://10383444 |
| 3 | |
Manman Ren | e783048 | 2013-07-03 20:45:07 +0000 | [diff] [blame] | 4 | // RUN: %clang -### -c -g %s -target x86_64-linux-gnu 2>&1 \ |
| 5 | | FileCheck -check-prefix=G %s |
| 6 | // RUN: %clang -### -c -g2 %s -target x86_64-linux-gnu 2>&1 \ |
| 7 | | FileCheck -check-prefix=G %s |
| 8 | // RUN: %clang -### -c -g3 %s -target x86_64-linux-gnu 2>&1 \ |
| 9 | | FileCheck -check-prefix=G %s |
| 10 | // RUN: %clang -### -c -ggdb %s -target x86_64-linux-gnu 2>&1 \ |
| 11 | | FileCheck -check-prefix=G %s |
| 12 | // RUN: %clang -### -c -ggdb1 %s -target x86_64-linux-gnu 2>&1 \ |
| 13 | | FileCheck -check-prefix=G %s |
| 14 | // RUN: %clang -### -c -ggdb3 %s -target x86_64-linux-gnu 2>&1 \ |
| 15 | | FileCheck -check-prefix=G %s |
| 16 | |
| 17 | // RUN: %clang -### -c -g %s -target x86_64-apple-darwin 2>&1 \ |
| 18 | | FileCheck -check-prefix=G_DARWIN %s |
| 19 | // RUN: %clang -### -c -g2 %s -target x86_64-apple-darwin 2>&1 \ |
| 20 | | FileCheck -check-prefix=G_DARWIN %s |
| 21 | // RUN: %clang -### -c -g3 %s -target x86_64-apple-darwin 2>&1 \ |
| 22 | | FileCheck -check-prefix=G_DARWIN %s |
| 23 | // RUN: %clang -### -c -ggdb %s -target x86_64-apple-darwin 2>&1 \ |
| 24 | | FileCheck -check-prefix=G_DARWIN %s |
| 25 | // RUN: %clang -### -c -ggdb1 %s -target x86_64-apple-darwin 2>&1 \ |
| 26 | | FileCheck -check-prefix=G_DARWIN %s |
| 27 | // RUN: %clang -### -c -ggdb3 %s -target x86_64-apple-darwin 2>&1 \ |
| 28 | | FileCheck -check-prefix=G_DARWIN %s |
| 29 | |
Manman Ren | fc0f91c | 2013-06-19 01:46:49 +0000 | [diff] [blame] | 30 | // RUN: %clang -### -c -gdwarf-2 %s 2>&1 | FileCheck -check-prefix=G_D2 %s |
Alexey Samsonov | 7f32607 | 2012-06-21 08:22:39 +0000 | [diff] [blame] | 31 | // |
| 32 | // RUN: %clang -### -c -gfoo %s 2>&1 | FileCheck -check-prefix=G_NO %s |
| 33 | // RUN: %clang -### -c -g -g0 %s 2>&1 | FileCheck -check-prefix=G_NO %s |
| 34 | // RUN: %clang -### -c -ggdb0 %s 2>&1 | FileCheck -check-prefix=G_NO %s |
| 35 | // |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 36 | // RUN: %clang -### -c -gmlt %s 2>&1 \ |
| 37 | // RUN: | FileCheck -check-prefix=GLTO_ONLY %s |
Alexey Samsonov | fd00eec | 2012-05-04 07:39:27 +0000 | [diff] [blame] | 38 | // RUN: %clang -### -c -gline-tables-only %s 2>&1 \ |
Alexey Samsonov | 7f32607 | 2012-06-21 08:22:39 +0000 | [diff] [blame] | 39 | // RUN: | FileCheck -check-prefix=GLTO_ONLY %s |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 40 | // RUN: %clang -### -c -gline-tables-only %s -target x86_64-apple-darwin 2>&1 \ |
Stephen Hines | c568f1e | 2014-07-21 00:47:37 -0700 | [diff] [blame^] | 41 | // RUN: | FileCheck -check-prefix=GLTO_ONLY_DWARF2 %s |
| 42 | // RUN: %clang -### -c -gline-tables-only %s -target i686-pc-openbsd 2>&1 \ |
| 43 | // RUN: | FileCheck -check-prefix=GLTO_ONLY_DWARF2 %s |
| 44 | // RUN: %clang -### -c -gline-tables-only %s -target x86_64-pc-freebsd10.0 2>&1 \ |
| 45 | // RUN: | FileCheck -check-prefix=GLTO_ONLY_DWARF2 %s |
Manman Ren | e783048 | 2013-07-03 20:45:07 +0000 | [diff] [blame] | 46 | // RUN: %clang -### -c -gline-tables-only -g %s -target x86_64-linux-gnu 2>&1 \ |
Alexey Samsonov | 7f32607 | 2012-06-21 08:22:39 +0000 | [diff] [blame] | 47 | // RUN: | FileCheck -check-prefix=G_ONLY %s |
Manman Ren | e783048 | 2013-07-03 20:45:07 +0000 | [diff] [blame] | 48 | // RUN: %clang -### -c -gline-tables-only -g %s -target x86_64-apple-darwin 2>&1 \ |
Stephen Hines | c568f1e | 2014-07-21 00:47:37 -0700 | [diff] [blame^] | 49 | // RUN: | FileCheck -check-prefix=G_ONLY_DWARF2 %s |
| 50 | // RUN: %clang -### -c -gline-tables-only -g %s -target i686-pc-openbsd 2>&1 \ |
| 51 | // RUN: | FileCheck -check-prefix=G_ONLY_DWARF2 %s |
| 52 | // RUN: %clang -### -c -gline-tables-only -g %s -target x86_64-pc-freebsd10.0 2>&1 \ |
| 53 | // RUN: | FileCheck -check-prefix=G_ONLY_DWARF2 %s |
Alexey Samsonov | a9cd83b | 2012-05-29 08:10:34 +0000 | [diff] [blame] | 54 | // RUN: %clang -### -c -gline-tables-only -g0 %s 2>&1 \ |
Alexey Samsonov | 7f32607 | 2012-06-21 08:22:39 +0000 | [diff] [blame] | 55 | // RUN: | FileCheck -check-prefix=GLTO_NO %s |
| 56 | // |
Benjamin Kramer | 967d833 | 2012-08-03 10:35:06 +0000 | [diff] [blame] | 57 | // RUN: %clang -### -c -grecord-gcc-switches -gno-record-gcc-switches \ |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 58 | // RUN: -gstrict-dwarf -gno-strict-dwarf %s 2>&1 \ |
Eric Christopher | e7d9464 | 2013-06-18 00:03:46 +0000 | [diff] [blame] | 59 | // RUN: | FileCheck -check-prefix=GIGNORE %s |
Chad Rosier | 2875bda | 2011-11-04 19:28:44 +0000 | [diff] [blame] | 60 | // |
Eric Christopher | 0f43a6d | 2013-09-13 22:37:55 +0000 | [diff] [blame] | 61 | // RUN: %clang -### -c -ggnu-pubnames %s 2>&1 | FileCheck -check-prefix=GOPT %s |
| 62 | // |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 63 | // RUN: %clang -### -c -gdwarf-aranges %s 2>&1 | FileCheck -check-prefix=GARANGE %s |
| 64 | // |
| 65 | // RUN: %clang -### -fdebug-types-section %s 2>&1 \ |
| 66 | // RUN: | FileCheck -check-prefix=FDTS %s |
| 67 | // |
| 68 | // RUN: %clang -### -fdebug-types-section -fno-debug-types-section %s 2>&1 \ |
| 69 | // RUN: | FileCheck -check-prefix=NOFDTS %s |
| 70 | // |
| 71 | // |
Chad Rosier | 2875bda | 2011-11-04 19:28:44 +0000 | [diff] [blame] | 72 | // G: "-cc1" |
Manman Ren | e783048 | 2013-07-03 20:45:07 +0000 | [diff] [blame] | 73 | // G: "-g" |
| 74 | // |
| 75 | // G_DARWIN: "-cc1" |
| 76 | // G_DARWIN: "-gdwarf-2" |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 77 | // |
Manman Ren | fc0f91c | 2013-06-19 01:46:49 +0000 | [diff] [blame] | 78 | // G_D2: "-cc1" |
| 79 | // G_D2: "-gdwarf-2" |
Chad Rosier | 2875bda | 2011-11-04 19:28:44 +0000 | [diff] [blame] | 80 | // |
Alexey Samsonov | 7f32607 | 2012-06-21 08:22:39 +0000 | [diff] [blame] | 81 | // G_NO: "-cc1" |
| 82 | // G_NO-NOT: "-g" |
Chad Rosier | 670326f | 2012-02-28 20:49:04 +0000 | [diff] [blame] | 83 | // |
Alexey Samsonov | 7f32607 | 2012-06-21 08:22:39 +0000 | [diff] [blame] | 84 | // GLTO_ONLY: "-cc1" |
| 85 | // GLTO_ONLY-NOT: "-g" |
| 86 | // GLTO_ONLY: "-gline-tables-only" |
| 87 | // GLTO_ONLY-NOT: "-g" |
Chad Rosier | 2875bda | 2011-11-04 19:28:44 +0000 | [diff] [blame] | 88 | // |
Stephen Hines | c568f1e | 2014-07-21 00:47:37 -0700 | [diff] [blame^] | 89 | // GLTO_ONLY_DWARF2: "-cc1" |
| 90 | // GLTO_ONLY_DWARF2-NOT: "-g" |
| 91 | // GLTO_ONLY_DWARF2: "-gline-tables-only" |
| 92 | // GLTO_ONLY_DWARF2: "-gdwarf-2" |
| 93 | // GLTO_ONLY_DWARF2-NOT: "-g" |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 94 | // |
Alexey Samsonov | 7f32607 | 2012-06-21 08:22:39 +0000 | [diff] [blame] | 95 | // G_ONLY: "-cc1" |
| 96 | // G_ONLY-NOT: "-gline-tables-only" |
Manman Ren | e783048 | 2013-07-03 20:45:07 +0000 | [diff] [blame] | 97 | // G_ONLY: "-g" |
Alexey Samsonov | 7f32607 | 2012-06-21 08:22:39 +0000 | [diff] [blame] | 98 | // G_ONLY-NOT: "-gline-tables-only" |
Chad Rosier | 2875bda | 2011-11-04 19:28:44 +0000 | [diff] [blame] | 99 | // |
Stephen Hines | c568f1e | 2014-07-21 00:47:37 -0700 | [diff] [blame^] | 100 | // G_ONLY_DWARF2: "-cc1" |
| 101 | // G_ONLY_DWARF2-NOT: "-gline-tables-only" |
| 102 | // G_ONLY_DWARF2: "-gdwarf-2" |
| 103 | // G_ONLY_DWARF2-NOT: "-gline-tables-only" |
Manman Ren | e783048 | 2013-07-03 20:45:07 +0000 | [diff] [blame] | 104 | // |
Alexey Samsonov | 7f32607 | 2012-06-21 08:22:39 +0000 | [diff] [blame] | 105 | // GLTO_NO: "-cc1" |
| 106 | // GLTO_NO-NOT: "-gline-tables-only" |
Eric Christopher | e7d9464 | 2013-06-18 00:03:46 +0000 | [diff] [blame] | 107 | // |
| 108 | // GIGNORE-NOT: "argument unused during compilation" |
Eric Christopher | 0f43a6d | 2013-09-13 22:37:55 +0000 | [diff] [blame] | 109 | // |
| 110 | // GOPT: -generate-gnu-dwarf-pub-sections |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 111 | // |
| 112 | // GARANGE: -generate-arange-section |
| 113 | // |
| 114 | // FDTS: "-backend-option" "-generate-type-units" |
| 115 | // |
| 116 | // NOFDTS-NOT: "-backend-option" "-generate-type-units" |