Inna Palant | ff3f07a | 2019-07-11 16:15:26 -0700 | [diff] [blame] | 1 | // RUN: %clang_cc1 -fsyntax-only -verify %s -triple arm-none-eabi |
ThiƩbaud Weksteen | e40e736 | 2020-10-28 15:03:00 +0100 | [diff] [blame] | 2 | #pragma clang section bss = "mybss.1" data = "mydata.1" rodata = "myrodata.1" text = "mytext.1" // expected-note 2 {{#pragma entered here}} |
Inna Palant | ff3f07a | 2019-07-11 16:15:26 -0700 | [diff] [blame] | 3 | #pragma clang section bss="" data="" rodata="" text="" |
| 4 | #pragma clang section |
| 5 | |
Jeff Vander Stoep | 247d86b | 2020-08-11 14:27:44 +0200 | [diff] [blame] | 6 | #pragma clang section dss="mybss.2" // expected-error {{expected one of [bss|data|rodata|text|relro] section kind in '#pragma clang section'}} |
| 7 | #pragma clang section deta="mydata.2" // expected-error {{expected one of [bss|data|rodata|text|relro] section kind in '#pragma clang section'}} |
| 8 | #pragma clang section rodeta="rodata.2" // expected-error {{expected one of [bss|data|rodata|text|relro] section kind in '#pragma clang section'}} |
| 9 | #pragma clang section taxt="text.2" // expected-error {{expected one of [bss|data|rodata|text|relro] section kind in '#pragma clang section'}} |
Inna Palant | ff3f07a | 2019-07-11 16:15:26 -0700 | [diff] [blame] | 10 | |
Jeff Vander Stoep | 247d86b | 2020-08-11 14:27:44 +0200 | [diff] [blame] | 11 | #pragma clang section section bss="mybss.2" // expected-error {{expected one of [bss|data|rodata|text|relro] section kind in '#pragma clang section'}} |
Inna Palant | ff3f07a | 2019-07-11 16:15:26 -0700 | [diff] [blame] | 12 | |
| 13 | #pragma clang section bss "mybss.2" // expected-error {{expected '=' following '#pragma clang section bss'}} |
| 14 | #pragma clang section data "mydata.2" // expected-error {{expected '=' following '#pragma clang section data'}} |
| 15 | #pragma clang section rodata "myrodata.2" // expected-error {{expected '=' following '#pragma clang section rodata'}} |
Jeff Vander Stoep | 247d86b | 2020-08-11 14:27:44 +0200 | [diff] [blame] | 16 | #pragma clang section text "text.2" // expected-error {{expected '=' following '#pragma clang section text'}} |
| 17 | #pragma clang section relro "relro.2" // expected-error {{expected '=' following '#pragma clang section relro'}} |
| 18 | #pragma clang section bss="" data="" rodata="" text="" more //expected-error {{expected one of [bss|data|rodata|text|relro] section kind in '#pragma clang section'}} |
ThiƩbaud Weksteen | e40e736 | 2020-10-28 15:03:00 +0100 | [diff] [blame] | 19 | |
| 20 | #pragma clang section bss = "mybss.3" data = "mybss.3" // expected-error {{this causes a section type conflict with a prior #pragma section}} expected-note {{#pragma entered here}} expected-note {{#pragma entered here}} |
| 21 | #pragma clang section rodata = "mydata.1" // expected-error {{this causes a section type conflict with a prior #pragma section}} |
| 22 | #pragma clang section bss = "myrodata.1" // expected-error {{this causes a section type conflict with a prior #pragma section}} |
| 23 | #pragma clang section text = "mybss.3" // expected-error {{this causes a section type conflict with a prior #pragma section}} |
| 24 | |
| 25 | #pragma clang section rodata = "myrodata.4" // expected-note {{#pragma entered here}} |
| 26 | int x __attribute__((section("myrodata.4"))); // expected-error {{'x' causes a section type conflict with a prior #pragma section}} |
| 27 | const int y __attribute__((section("myrodata.5"))) = 10; // expected-note {{declared here}} |
| 28 | #pragma clang section data = "myrodata.5" // expected-error {{this causes a section type conflict with 'y'}} |
| 29 | const int z __attribute__((section("myrodata.6"))) = 11; |
| 30 | |
Inna Palant | ff3f07a | 2019-07-11 16:15:26 -0700 | [diff] [blame] | 31 | int a; |