| // { dg-do assemble } |
| // g++ 1.36.1 bug 900127_02 |
| |
| // g++ (mostly) keeps separate name spaces for the declarations of data |
| // objects and functions. |
| |
| // This means that a single name may be declared as both a data object and |
| // a function within a given scope. |
| |
| // This fact allows programmers to write code which is not portable to the |
| // Cfront translator (which keeps a single namespace for these entities). |
| |
| // This can also lead to ambiguity when the & (address-of) operator is used. |
| |
| // Cfront 2.0 passes this test. |
| |
| // keywords: name spaces, overloading |
| |
| int global0; // { dg-message "" } |
| int global0 (); // { dg-error "" } |
| |
| int global1 (); // { dg-message "" } xref for below |
| int global1; // { dg-error "" } caught |
| |
| struct struct_0 { |
| int class_local (); // { dg-message "" } |
| int class_local; // { dg-error "" } |
| }; |
| |
| struct struct_1 { |
| int class_local; // { dg-message "" } |
| int class_local (); // { dg-error "" } |
| }; |
| |
| void function_0 () |
| { |
| int function_0_local; // { dg-message "" } |
| extern int function_0_local (); // { dg-error "" } |
| } |
| |
| void function_1 () |
| { |
| int function_1_local (); // { dg-message "" } |
| extern int function_1_local; // { dg-error "" } |
| } |
| |
| int main () { return 0; } |