[Bug c++/37804] New: Nested type leaks to global scope

2008-10-11 Thread therealfroggey at gmail dot com
GCC versions used:
gcc version 4.1.2
gcc version 4.4.0 20081011 (experimental) (GCC) svn revision 141055
Command line used: g++ -Wall -Wextra bug.cc

The following code should fail to compile as Internal_B is a private class
within class A.
Both tested version of gcc successfully compile it with no warnings.



template 
class A
{
private:
  class Internal_A
  {
friend class Internal_B;
  };
  class Internal_B { };
  Internal_A a;
};

A a;

Internal_B some_function();


-- 
   Summary: Nested type leaks to global scope
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: therealfroggey at gmail dot com
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37804



[Bug inline-asm/37887] New: %sil and %dil are used in 32-bit mode as inline asm registers

2008-10-21 Thread therealfroggey at gmail dot com
When compiling in 32-bit mode using the "r", "S" or "D" asm constraint with a
char variable gcc will incorrectly emit %sil or %dil

/* uses %sil for e */
void func(int a, int b, int c, int d, char e)
{
__asm__ volatile("%0 %1 %2 %3 %4" :: "r"(a), "r"(b), "r"(c), "r"(d),
"r"(e));
}

void func(char c)
{
__asm__ volatile("%0" :: "S"(c));
}

This occurs with gcc version 4.4.0 20081021 (experimental) svn revision 141272
and gcc version 4.3.2 (Debian 4.3.2-1)

Command line options used: -O2 -m32 -S


-- 
   Summary: %sil and %dil are used in 32-bit mode as inline asm
registers
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: therealfroggey at gmail dot com
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37887