[cfe-commits] r44408 - in /cfe/trunk: Sema/SemaDecl.cpp clang.xcodeproj/project.pbxproj test/Sema/void_arg.c

Chris Lattner sabre at nondot.org
Wed Nov 28 10:51:29 PST 2007


Author: lattner
Date: Wed Nov 28 12:51:29 2007
New Revision: 44408

URL: http://llvm.org/viewvc/llvm-project?rev=44408&view=rev
Log:
Fix a bug checking for 'int foo(void)' that didn't look through typedefs of void.
Bug pointed out by Michael Zolda, thanks!

Modified:
    cfe/trunk/Sema/SemaDecl.cpp
    cfe/trunk/clang.xcodeproj/project.pbxproj
    cfe/trunk/test/Sema/void_arg.c

Modified: cfe/trunk/Sema/SemaDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Sema/SemaDecl.cpp?rev=44408&r1=44407&r2=44408&view=diff

==============================================================================
--- cfe/trunk/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/Sema/SemaDecl.cpp Wed Nov 28 12:51:29 2007
@@ -895,7 +895,8 @@
   // Check for C99 6.7.5.3p10 - foo(void) is a non-varargs function that takes
   // no arguments, not a function that takes a single void argument.
   if (FTI.NumArgs == 1 && !FTI.isVariadic && FTI.ArgInfo[0].Ident == 0 &&
-      FTI.ArgInfo[0].TypeInfo == Context.VoidTy.getAsOpaquePtr()) {
+      !QualType::getFromOpaquePtr(FTI.ArgInfo[0].TypeInfo).getQualifiers() &&
+      QualType::getFromOpaquePtr(FTI.ArgInfo[0].TypeInfo)->isVoidType()) {
     // empty arg list, don't push any params.
   } else {
     for (unsigned i = 0, e = FTI.NumArgs; i != e; ++i) {

Modified: cfe/trunk/clang.xcodeproj/project.pbxproj
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/clang.xcodeproj/project.pbxproj?rev=44408&r1=44407&r2=44408&view=diff

==============================================================================
--- cfe/trunk/clang.xcodeproj/project.pbxproj (original)
+++ cfe/trunk/clang.xcodeproj/project.pbxproj Wed Nov 28 12:51:29 2007
@@ -766,7 +766,6 @@
 		08FB7793FE84155DC02AAC07 /* Project object */ = {
 			isa = PBXProject;
 			buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "clang" */;
-			compatibilityVersion = "Xcode 2.4";
 			hasScannedForEncodings = 1;
 			mainGroup = 08FB7794FE84155DC02AAC07 /* clang */;
 			projectDirPath = "";

Modified: cfe/trunk/test/Sema/void_arg.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/void_arg.c?rev=44408&r1=44407&r2=44408&view=diff

==============================================================================
--- cfe/trunk/test/Sema/void_arg.c (original)
+++ cfe/trunk/test/Sema/void_arg.c Wed Nov 28 12:51:29 2007
@@ -19,3 +19,7 @@
   X = sizeof(int (Void));
 }
 
+// this is ok.
+void bar(Void) {
+}
+





More information about the cfe-commits mailing list