Home | History | Annotate | Download | only in SemaCXX
      1 // RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
      2 
      3 int i __attribute__((no_split_stack)); // expected-error {{'no_split_stack' attribute only applies to functions}}
      4 
      5 void f1() __attribute__((no_split_stack));
      6 void f2() __attribute__((no_split_stack(1))); // expected-error {{'no_split_stack' attribute takes no arguments}}
      7 
      8 template <typename T>
      9 void tf1() __attribute__((no_split_stack));
     10 
     11 int f3(int __attribute__((no_split_stack)), int); // expected-error{{'no_split_stack' attribute only applies to functions}}
     12 
     13 struct A {
     14   int f __attribute__((no_split_stack));  // expected-error{{'no_split_stack' attribute only applies to functions}}
     15   void mf1() __attribute__((no_split_stack));
     16   static void mf2() __attribute__((no_split_stack));
     17 };
     18 
     19 int ci [[gnu::no_split_stack]]; // expected-error {{'no_split_stack' attribute only applies to functions}}
     20 
     21 [[gnu::no_split_stack]] void cf1();
     22 [[gnu::no_split_stack(1)]] void cf2(); // expected-error {{'no_split_stack' attribute takes no arguments}}
     23 
     24 template <typename T>
     25 [[gnu::no_split_stack]]
     26 void ctf1();
     27 
     28 int cf3(int c[[gnu::no_split_stack]], int); // expected-error{{'no_split_stack' attribute only applies to functions}}
     29 
     30 struct CA {
     31   int f [[gnu::no_split_stack]];  // expected-error{{'no_split_stack' attribute only applies to functions}}
     32   [[gnu::no_split_stack]] void mf1();
     33   [[gnu::no_split_stack]] static void mf2();
     34 };
     35